Description Usage Arguments Details Value Optional graphical parameters Note Author(s) References See Also Examples
Calculates annual energy production (AEP) from a site's wind profile and wind turbine characteristics.
1 2 3 4 5 |
profile |
Wind profile object created by |
pc |
Power curve object created by |
hub.h |
Hub heigth of wind turbine as numeric value. |
rho |
Air density as numeric value. Default is |
avail |
Availability of turbine as numeric value between |
bins |
Edges of wind speed bins as numeric vector or |
sectoral |
If |
digits |
Number of decimal places to be used for results as numeric vector. The first value is used for |
print |
If |
x |
AEP object, created by |
show.total |
If |
... |
Arguments to be passed to methods. For optional graphical parameters see below. |
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)
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. |
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 aep
only contains the total AEP.
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.
type
: If "n"
nothing is plotted.
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
.
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.
Christian Graul
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | ## 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)
|
This is bReeze 0.4-0
Type changes("bReeze") to see changes/bug fixes, help(bReeze) for documentation
or citation("bReeze") for how to cite bReeze.
Attaching package: 'bReeze'
The following objects are masked from 'package:stats':
frequency, profile, ts
The following object is masked from 'package:utils':
timestamp
Pattern found: %d.%m.%Y %H:%M
Cleaning set 1...
2938 samples lower than 0.4 replaced by 'NA' in average wind speed
14790 samples with average wind speed lower than 4 m/s replaced by 'NA' in turbulence intensity
Cleaning set 2...
3361 samples lower than 0.4 replaced by 'NA' in average wind speed
15366 samples with average wind speed lower than 4 m/s replaced by 'NA' in turbulence intensity
Annual energy production
wind speed operation total 0-5 5-10 10-15 15-20 >20
[m/s] [h/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a]
N 6.522 2467 657 19 367 258 13
NNE 4.614 538 54 7 43 4
ENE 4.337 275 27 3 20 4
E 3.421 143 7 1 5
ESE 3.733 149 11 1 8 2
SSE 3.29 367 18 3 13 2
S 3.739 997 75 9 53 13
SSW 5.983 1350 324 10 131 141 36 7
WSW 6.706 1416 412 10 167 189 41 5
W 4.214 531 54 5 37 12
WNW 2.179 185 3 1 2
NNW 3.599 342 24 3 17 4
total 5.387 8760 1666 72 863 629 90 12
capacity factor: 0.211
call: aep(profile=neubuerg.wp, pc=pw.56, hub.h=71, rho=1.225, avail=1, bins=c(0, 5, 10, 15, 20), sectoral=FALSE, digits=c(3, 0, 0, 3), print=TRUE)
Annual energy production
wind speed operation total 0-5 5-10 10-15 15-20 >20
[m/s] [h/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a]
N 6.522 2467 622 18 347 244 12
NNE 4.614 538 51 6 41 4
ENE 4.337 275 25 3 19 3
E 3.421 143 7 1 5
ESE 3.733 149 10 1 7 1
SSE 3.29 367 17 3 12 2
S 3.739 997 71 9 50 12
SSW 5.983 1350 307 9 124 133 34 6
WSW 6.706 1416 390 9 158 178 39 5
W 4.214 531 51 5 35 11
WNW 2.179 185 3 1 2
NNW 3.599 342 23 3 16 4
total 5.387 8760 1577 68 816 592 85 11
capacity factor: 0.2
call: aep(profile=neubuerg.wp, pc=pw.56, hub.h=71, rho=1.195, avail=0.97, bins=c(0, 5, 10, 15, 20), sectoral=FALSE, digits=c(3, 0, 0, 3), print=TRUE)
Annual energy production
wind speed operation total 0-5 5-10 10-15 15-20 >20
[m/s] [h/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a]
N 6.766 2467 712 18 374 301 19
NNE 4.748 538 59 6 47 5
ENE 4.249 275 25 3 19 3
E 3.438 143 7 1 5
ESE 3.674 149 10 1 7 1
SSE 3.191 367 16 3 12 1
S 3.619 997 68 9 48 10
SSW 5.831 1350 310 10 129 133 32 6
WSW 6.535 1416 394 10 166 178 36 4
W 4.246 531 55 5 37 12
WNW 2.336 185 4 1 2
NNW 3.605 342 24 3 17 4
total 5.397 8760 1684 70 863 648 87 10
capacity factor: 0.214
call: aep(profile=neubuerg.wp, pc=pw.56, hub.h=71, rho=1.225, avail=1, bins=c(0, 5, 10, 15, 20), sectoral=TRUE, digits=c(3, 0, 0, 3), print=TRUE)
Annual energy production
wind speed operation total 0-1 1-2 2-3 3-4 4-5
[m/s] [h/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a]
N 6.522 2467 657 4 14
NNE 4.614 538 54 2 5
ENE 4.337 275 27 1 2
E 3.421 143 7 1
ESE 3.733 149 11 1
SSE 3.29 367 18 1 2
S 3.739 997 75 3 6
SSW 5.983 1350 324 3 7
WSW 6.706 1416 412 3 7
W 4.214 531 54 2 4
WNW 2.179 185 3 1
NNW 3.599 342 24 1 2
total 5.387 8760 1666 20 52
5-6 6-7 7-8 8-9 9-10 10-11 11-12 12-13 13-14
[MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a]
N 32 56 79 96 106 97 73 47 27
NNE 8 11 11 8 5 3 1
ENE 4 5 5 4 3 2 1
E 1 1 1 1
ESE 1 2 2 1 1 1
SSE 3 3 3 2 2 1
S 10 12 12 11 9 6 4 2 1
SSW 13 20 27 33 38 39 35 28 22
WSW 14 24 34 43 51 53 47 38 29
W 6 8 8 8 7 5 3 2 1
WNW 1
NNW 3 4 4 3 3 2 1 1
total 96 146 186 210 225 209 165 118 80
14-15 15-16 16-17 17-18 18-19 19-20 20-21 21-22 22-23
[MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a]
N 15 7 3 1 1
NNE
ENE
E
ESE
SSE
S
SSW 16 12 9 7 5 3 2 2 1
WSW 21 15 11 7 5 3 2 1 1
W
WNW
NNW
total 52 34 23 15 11 6 4 3 2
capacity factor: 0.211
call: aep(profile=neubuerg.wp, pc=pw.56, hub.h=71, rho=1.225, avail=1, bins=c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23), sectoral=FALSE, digits=c(3, 0, 0, 3), print=TRUE)
Annual energy production
wind speed operation total
[m/s] [h/a] [MWh/a]
N 6.522 2467 657
NNE 4.614 538 54
ENE 4.337 275 27
E 3.421 143 7
ESE 3.733 149 11
SSE 3.29 367 18
S 3.739 997 75
SSW 5.983 1350 324
WSW 6.706 1416 412
W 4.214 531 54
WNW 2.179 185 3
NNW 3.599 342 24
total 5.387 8760 1666
capacity factor: 0.211
call: aep(profile=neubuerg.wp, pc=pw.56, hub.h=71, rho=1.225, avail=1, bins=c(), sectoral=FALSE, digits=c(3, 0, 0, 3), print=TRUE)
Annual energy production
wind speed operation total 0-5 5-10 10-15 15-20 >20
[m/s] [h/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a]
N 6.5 2466.9 656.9 18.8 367.2 258.1 12.8 0.1
NNE 4.6 538.2 53.8 6.6 43.4 3.8
ENE 4.3 275.5 26.6 3 19.9 3.6
E 3.4 143.4 7 1.5 5.1 0.4
ESE 3.7 148.8 10.6 1.5 7.6 1.5
SSE 3.3 367 18.1 3.4 13.1 1.6
S 3.7 996.7 75.1 9.3 52.6 12.9 0.3
SSW 6 1350.1 324.2 9.6 131 140.9 36.1 6.6
WSW 6.7 1416 411.9 9.8 167 188.6 41.3 5.1
W 4.2 530.9 53.8 5.1 36.7 11.6 0.4
WNW 2.2 184.8 2.8 1 1.7 0.1
NNW 3.6 341.7 24.3 3 16.7 4.4 0.1
total 5.4 8760 1665.1 72.6 862 627.5 91 11.8
capacity factor: 0.2
call: aep(profile=neubuerg.wp, pc=pw.56, hub.h=71, rho=1.225, avail=1, bins=c(0, 5, 10, 15, 20), sectoral=FALSE, digits=c(1, 1, 1, 1), print=TRUE)
Annual energy production
wind speed operation total 0-5 5-10 10-15 15-20 >20
[m/s] [h/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a] [MWh/a]
N 6.522 2467 657 19 367 258 13
NNE 4.614 538 54 7 43 4
ENE 4.337 275 27 3 20 4
E 3.421 143 7 1 5
ESE 3.733 149 11 1 8 2
SSE 3.29 367 18 3 13 2
S 3.739 997 75 9 53 13
SSW 5.983 1350 324 10 131 141 36 7
WSW 6.706 1416 412 10 167 189 41 5
W 4.214 531 54 5 37 12
WNW 2.179 185 3 1 2
NNW 3.599 342 24 3 17 4
total 5.387 8760 1666 72 863 629 90 12
capacity factor: 0.211
call: aep(profile=neubuerg.wp, pc=pw.56, hub.h=71, rho=1.225, avail=1, bins=c(0, 5, 10, 15, 20), sectoral=FALSE, digits=c(3, 0, 0, 3), print=FALSE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.