energy {bReeze} R Documentation

## Calculation of total wind energy content

### Description

Calculates the total wind energy content per direction sector from Weibull data.

### Usage

```energy(wb, rho=1.225, bins=c(5, 10, 15, 20),
digits=0, print=TRUE)
en(wb, rho=1.225, bins=c(5, 10, 15, 20),
digits=0, print=TRUE)

## S3 method for class 'energy'
plot(x, show.total=TRUE, ...)
```

### Arguments

 `wb` Weibull object created by `weibull`. `rho` Air density as numeric value. Default is `1.225` kg/m3 according to the International Standard Atmosphere (ISA) at sea level and 15°C. `bins` Wind speed bins as numeric vector or `NULL` if no classification is desired. Default is `c(5, 10, 15, 20)`. `digits` Number of decimal places to be used for results as numeric value. Default is `0`. `print` If `TRUE` (the default), results are printed directly. `x` Energy object created by `energy`. `show.total` If `TRUE` (the default), the total amount of wind energy per square meter is shown. `...` Arguments to be passed to methods. For optional graphical parameters see below.

### Details

The total wind energy content can be perceived as the theoretic energy potential of a particular site. Therefore it is usefull for a resource assessment, independent of the wind turbine.

The power density function

E(v) = 0.5*rho*v^3*f(v)

where rho is the air density, v is the wind speed and f(v) is its probability density function, leads to an analytical solution using wind speed bins as:

E(v) = 0.5*rho*H*sum(v_b^3*W(v_b))

where H is the number of hours of the desired period, v_b is the wind speed bin and W(v_b) is the probability of that bin estimated by the Weibull distribution. The result for H=8760 is the available wind energy per square meter and year.

### Value

Returns a data frame containing:

 `total` Total wind energy content per direction sector. `...` Wind energy content per direction sector for each given wind speed bin.

### Optional graphical parameters

The following graphical parameters can optionally be added to customize the plot:

• `border.leg`: Border colour(s) for the legend. One colour for each wind speed bin or a single colour – default is same as `col`.

• `bty.leg`: Type of box to be drawn around the legend. Allowed values are `"n"` (no box, the default) and `"o"`.

• `cex`: Amount by which text on the plot should be scaled relative to the default (which is `1`), as numeric. To be used for scaling of all texts at once.

• `cex.axis`: Amount by which axis annotations should be scaled, as numeric value.

• `cex.lab`: Amount by which axis labels should be scaled, as numeric value.

• `cex.leg`: Amount by which legend text should be scaled, as numeric value.

• `circles`: Manual definition of circles to be drawn, as numeric vector of the form c(inner circle, outer circle, interval between the circles).

• `col`: Vector of colours – one colour for each wind speed bin or a single colour if `energy` only contains the total energy per direction sector.

• `col.axis`: Colour to be used for axis annotations – default is `"gray45"`.

• `col.border`: Colour to be used for sector borders – default is `NULL` (no border is drawn).

• `col.circle`: Colour to be used for circles – default is `"gray45"`.

• `col.cross`: Colour to be used for axis lines – default is `"gray45"`.

• `col.lab`: Colour to be used for axis labels – default is `"black"`.

• `col.leg`: Colour to be used for legend text – default is `"black"`.

• `fg`: If `TRUE`, sectors are plotted in foreground (on top of axis lines and circles) – default is `FALSE`.

• `lty.circle`: Line type of circles – default is `"dashed"`. See `par` for available line types.

• `lty.cross`: Line type of axis lines – default is `"solid"`. See `par` for available line types.

• `lwd.border`: Line width of the sector borders – default is `0.5`. Only used if `col.border` is set.

• `lwd.circle`: Line width of circles, as numeric value – default is `0.7`.

• `lwd.cross`: Line width of axis lines, as numeric value – default is `0.7`.

• `pos.axis`: Position of axis labels in degree, as numeric value – default is `60`.

• `sec.space`: Space between plotted sectors, as numeric value between `0` and `1` – default is `0.2`.

• `title.leg`: Alternative legend title, as string.

• `width.leg`: Widths of legend space relative to plot space, as numeric value between `0` and `1`. If `0`, the legend is omitted, default value is `0.2`.

• `x.intersp`: Horizontal interspacing factor for legend text, as numeric – default is `0.4`.

• `y.intersp`: Vertical line distance for legend text, as numeric – default is `0.4`.

Christian Graul

### References

Fördergesellschaft Windenergie e.V. (2007) Technical Guidelines for Wind Turbines, Part 6: Determination of Wind Potential and Energy Yields, Revision 7

International Organisation for Standardization (1975) ISO 2533:1975 Standard Atmosphere. ISO Standard

Troen, I., Petersen, E.L. (1989) European Wind Atlas. Tønder: Laursen

`weibull`

### Examples

```## Not run:
data("winddata", package="bReeze")
set1 <- set(height=40, v.avg=winddata[,2], v.std=winddata[,5],
dir.avg=winddata[,14])
set2 <- set(height=30, v.avg=winddata[,6], v.std=winddata[,9],
dir.avg=winddata[,16])
set3 <- set(height=20, v.avg=winddata[,10], v.std=winddata[,13])
ts <- timestamp(timestamp=winddata[,1])
neubuerg <- mast(timestamp=ts, set1, set2, set3)
neubuerg <- clean(mast=neubuerg)

## calculate Energy object
# calculate Weibull object
neubuerg.wb <- weibull(mast=neubuerg, v.set=1, print=FALSE)

# calculate energy
neubuerg.e <- energy(wb=neubuerg.wb)

# calculate energy for 1 m/s speed bins and without binning
energy(wb=neubuerg.wb, bins=0:25)
energy(wb=neubuerg.wb, bins=NULL)

# calculate energy with site specific air density
energy(wb=neubuerg.wb, rho=1.115, bins=NULL)

# change number of digits and hide results
energy(wb=neubuerg.wb, digits=2)
energy(wb=neubuerg.wb, print=FALSE)

## plot energy objects
plot(neubuerg.e)  # default
plot(neubuerg.e, show.total=FALSE)  # omit total amount
plot(neubuerg.e, col=gray(5:0/5.5), cex=0.8)  # change colours/text sizes
plot(neubuerg.e, circles=c(100, 500, 100))  # manual definition of circles
plot(neubuerg.e, fg=TRUE)  # plot sectors in foreground
plot(neubuerg.e, pos.axis=135)  # change axis label position
plot(neubuerg.e, width.leg=0)  # no legend

# freaky
plot(neubuerg.e, border.leg=heat.colors(5), bty.leg="o",
cex.axis=0.5, cex.lab=2, cex.leg=0.5, circles=c(80, 800, 80),
col=rainbow(5), col.axis="green", col.border="orange",
col.circle="purple", col.cross="yellow", col.lab="pink",
col.leg="lightblue", fg=TRUE, lwd.border=2, lwd.circle=3, lwd.cross=4,
lty.circle="52168319", lty.cross="12223242", sec.space=0.6,
title.leg="* WiNd SpEeD *", x.intersp=2, y.intersp=5)

## End(Not run)
```

[Package bReeze version 0.4-3 Index]