energy: Calculation of total wind energy content

Description Usage Arguments Details Value Optional graphical parameters Author(s) References See Also Examples

View source: R/energy.R

Description

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

Usage

1
2
3
4
5
6
7
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:

Author(s)

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

See Also

weibull

Examples

 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
## 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])
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)

bReeze documentation built on May 2, 2019, 3:32 p.m.