aep {bReeze}R Documentation

Calculation of annual energy production

Description

Calculates annual energy production (AEP) from a site's wind profile and wind turbine characteristics.

Usage

aep(profile, pc, hub.h, rho=1.225, avail=1, bins=c(5,10,15,20), 
  sectoral=FALSE, digits=c(3,0,0,3), print=TRUE)

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

Arguments

profile

Wind profile object created by profile.

pc

Power curve object created by pc.

hub.h

Hub heigth of wind turbine as numeric value.

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.

avail

Availability of turbine as numeric value between 0 (not available at all) and 1 (100% available).

bins

Edges of wind speed bins as numeric vector or NULL if only total AEP is desired. Default values are c(5, 10, 15, 20).

sectoral

If TRUE, wind speeds are extrapolated to hub height using the wind profiles of each direction sector. Otherwise the general profile ("all") is used for extrapolation (default).

digits

Number of decimal places to be used for results as numeric vector. The first value is used for wind.speed, the second for operation, the third for aep and the fourth for capacity results. Default is c(3,0,0,3).

print

If TRUE, results are printed directly.

x

AEP object, created by aep.

show.total

If TRUE (the default) the total AEP is added to the plot.

...

Arguments to be passed to methods. For optional graphical parameters see below.

Details

For a wind turbine the mean energy production can be expressed by

E = T*integral(v_in, v_out) f(v)*p(v)

where f(v) is the probability density function of the wind speed v, p(v) is the power curve of the turbine and T is the production time period. Energy production starts at the turbine's cut-in wind speed v_in and stops at cut-out wind speed v_out.

Based on this fundamental expression, aep calculates the annual energy production as follows:

AEP = A_turb*rho/rho_pc*H*sum(W(v_b)*P(v_b))

where A_turb is the average availability of the turbine, rho is the air density of the site and rho_pc is the air density, the power curve is defined for. W(v_b) is the probability of the wind speed bin v_b, estimated by the Weibull distribution and P(v_b) is the power output for that wind speed bin. H is the number of operational hours – the production time period of the AEP is per definition 8760 hours.

The wind speed v_h at hub height h of the turbine is extrapolated from the measured wind speed v_ref at reference height h_ref using the Hellman exponential law (see profile):

v_h = v_ref*(h/h_ref)^alpha

The productive suitability of a wind turbine for a site can be evaluated by the capacity factor CF. This factor is defined as the ratio of average power output of a turbine to the theoretical maximum power output. Using the AEP as the average power output, the rated power P_{rated} of a turbine and the maximum operational hours of a year we get:

CF = AEP/(P_rated*8760)

Value

Returns a list containing:

wind.speed

Mean wind speed for each direction sector.

operation

Operational hours per year for each direction sector.

total

Total annual energy production for each direction sector.

...

Annual energy production per wind speed bin for each direction sector.

capacity

Capacity factor of the wind turbine.

Optional graphical parameters

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

Note

Sectoral extrapolation should be used carefully. Some sector's profile might be abnormal – particularly in case of short measurement periods (<= one year) and/or few samples per sector – causing biased results. Always check the profiles and set sectoral to FALSE to get more robust results.

Author(s)

Christian Graul

References

Burton, T., Sharpe, D., Jenkins, N., Bossanyi, E. (2001) Wind Energy Handbook. New York: Wiley

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

Jangamshetti, S.H., Rau, V.G. (1999) Site Matching of Wind Turbine Generators: A Case Study. IEEE Transaction on Energy Conversion 14(4), 1537–1543

See Also

windprofile

Examples

## Not run: 
## load and prepare data
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])
ts <- timestamp(timestamp=winddata[,1])
neubuerg <- mast(timestamp=ts, set1, set2)
neubuerg <- clean(mast=neubuerg)


## calculate AEP
# calculate wind profile
neubuerg.wp <- profile(mast=neubuerg, v.set=c(1,2), dir.set=1, 
  print=FALSE)

# load power curve
pw.56 <- pc("PowerWind_56_900kW.wtg")

# calculate AEP
aep(profile=neubuerg.wp, pc=pw.56, hub.h=71)

# calculate AEP with site specific air density and availability of 97
aep(profile=neubuerg.wp, pc=pw.56, hub.h=71, rho=1.195, avail=0.97)

# calculate total AEP using sectoral profiles
aep(profile=neubuerg.wp, pc=pw.56, hub.h=71, sectoral=TRUE)

# calculate AEP for 1 m/s speed bins and without binning
aep(profile=neubuerg.wp, pc=pw.56, hub.h=71, bins=seq(0,25))
aep(profile=neubuerg.wp, pc=pw.56, hub.h=71, bins=NULL)

# change number of digits and hide results
aep(profile=neubuerg.wp, pc=pw.56, hub.h=71, digits=c(1,1,1,1))
neubuerg.aep <- aep(profile=neubuerg.wp, pc=pw.56, hub.h=71, print=FALSE)
neubuerg.aep


## plot AEP objects
# default
plot(neubuerg.aep)

# omit total AEP
plot(neubuerg.aep, show.total=FALSE)

# change colours and text sizes
plot(neubuerg.aep, col=gray(5:0 / 5), cex=0.8)

# manual definition of circles
plot(neubuerg.aep, circles=c(250, 750, 250))

# plot sectors in foreground
plot(neubuerg.aep, fg=TRUE)

# change position of axis labels
plot(neubuerg.aep, pos.axis=135)

# no legend
plot(neubuerg.aep, width.leg=0)

# freaky
plot(neubuerg.aep, 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="12345678", lty.cross="87654321", 
  sec.space=0.6, title.leg="* WiNd SpEeD *", x.intersp=2, y.intersp=5)

## End(Not run)

[Package bReeze version 0.4-3 Index]