Learn R Programming

bReeze (version 0.1-0)

energy: 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))

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.

Value

  • Returns a data frame containing:
  • totalTotal wind energy content per direction sector.
  • ...Wind energy content per direction sector for each given wind speed bin.

encoding

UTF-8

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) = \frac{1}{2} \, \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) = \frac{1}{2} \, \rho \, H \, \sum_{b=1}^{n} \! 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.

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

See Also

weibull, plotEnergy

Examples

Run this code
# load and prepare data
data(winddata)
set1 <- createSet(height=40, v.avg=winddata[,2], v.std=winddata[,5],
dir.avg=winddata[,14])
set2 <- createSet(height=30, v.avg=winddata[,6], v.std=winddata[,9],
dir.avg=winddata[,16])
set3 <- createSet(height=20, v.avg=winddata[,10], v.std=winddata[,13])
ts <- formatTS(winddata[,1])
neubuerg <- createMast(time.stamp=ts, loc=NULL, desc=NULL, 
	set1, set2, set3)
neubuerg <- clean(neubuerg)

# calculate Weibull object
neubuerg.wb <- weibull(neubuerg, 1)

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

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

# compare output
# note: bins exceeding maximum wind speed of the data dropped
neubuerg.e
neubuerg.e.2
neubuerg.e.3


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

# compare output
neubuerg.e.3
neubuerg.e.4

Run the code above in your browser using DataLab