Learn R Programming

bReeze (version 0.2-2)

profile: Calculate wind profile

Description

Calculates a wind profile, using on the Hellman exponential law.

Usage

profile(mast, v.set, dir.set, num.sectors=12, alpha=NULL,
  digits=3, print=TRUE)
pro(mast, v.set, dir.set, num.sectors=12, alpha=NULL,
  digits=3, print=TRUE)

Arguments

mast
Met mast object created by createMast.
v.set
Set(s) to be used for wind speed, specified as set number or set name. If one single dataset is given, the same Hellman exponent is assumed for each sector and can be specified using alpha (see Details for empirical values). If two or more da
dir.set
Set to be used for wind direction, specified as set number or set name.
num.sectors
Number of wind direction sectors as integer value greater 1. Default is 12.
alpha
Hellman exponent. Optional and only used if a single dataset is given in v.set. If alpha is NULL, 0.2 is used as default.
digits
Number of decimal places to be used for results as numeric value. Default is 3.
print
If TRUE, results are printed directly.

Value

  • Returns a list of:
  • profileData frame containing alpha and reference wind speed for each direction sector.
  • h.refReference height of the profile (the height of the first given dataset in v.set).

encoding

UTF-8

Details

The average wind speed as a function of height above ground gives a site's wind profile. For reasons of cost-efficiency met mast heights are usually below hub heights of modern wind turbines, thus measured wind speeds must be extrapolated by based wind profile. A common method is the Hellman exponential law or power law, defined as: $$\frac{v_2}{v_1} = \left(\frac{h_2}{h_1} \right)^\alpha$$ where $v_2$ is the wind speed at height $h_2$, $v_1$ is the wind speed at height $h_1$ and $\alpha$ is the Hellman exponent (also power law exponent or shear exponent).

To calculate $\alpha$, profile uses the inverted equation as: $$\alpha = \frac{\log \left(\frac{v_2}{v_1} \right)}{\log \left(\frac{h_2}{h_1} \right)}$$

If the wind speed is only known for one height, $\alpha$ must be estimated. $\alpha$ depends on various issues, including roughness and terrain of the site. Some empirical values for temperate climates are:

ll{ Site conditions $\alpha$ Open water 0.08--0.15 Flat terrain, open land cover 0.16--0.22 Complex terrain with mixed or continuous forest 0.25--0.40 Exposed ridgetops, open land cover 0.10--0.14 Sloping terrain with drainage flows 0.10--0.15 }

References

Bañuelos-Ruedas, F., Camacho, C.A., Rios-Marcuello, S. (2011) Methodologies Used in the Extrapolation of Wind Speed Data at Different Heights and Its Impact in the Wind Energy Resource Assessment in a Region. In: Gastón O. Suvire (Ed.), Wind Farm -- Technical Regulations, Potential Estimation and Siting Assessment, Chapter 4, p. 97--114, InTech

Brower, M., Marcus, M., Taylor, M., Bernadett, D., Filippelli, M., Beaucage, P., Hale, E., Elsholz, K., Doane, J., Eberhard, M., Tensen, J., Ryan, D. (2010) Wind Resource Assessment Handbook. http://www.awstruepower.com/wp-content/uploads/2012/01/10-30_wind-resource-handbook.pdf

International Electrotechnical Commission (2005) IEC 61400-12 Wind Turbines -- Part 12-1: Power Performance Measurements of Electricity Producing Wind Turbines. IEC Standard

See Also

createMast, plotProfile, printObject

Examples

Run this code
# load and prepare data
data(winddata)
set40 <- createSet(height=40, v.avg=winddata[,2], dir.avg=winddata[,14])
set30 <- createSet(height=30, v.avg=winddata[,6], dir.avg=winddata[,16])
set20 <- createSet(height=20, v.avg=winddata[,10], v.std=winddata[,13])
ts <- formatTS(time.stamp=winddata[,1])
neubuerg <- createMast(time.stamp=ts, set40, set30, set20)
neubuerg <- clean(mast=neubuerg)

# create profile based on one height
profile(mast=neubuerg, v.set=1, dir.set=1)	# default alpha=0.2
profile(mast=neubuerg, v.set=1, dir.set=1, alpha=0.15)

# calculate profiles based on two heights
profile(mast=neubuerg, v.set=c(1,2), dir.set=1)
profile(mast=neubuerg, v.set=c(1,3), dir.set=1)
# same as above
profile(mast=neubuerg, v.set=c("set1", "set3"), dir.set="set1")

# change number of direction sectors
profile(mast=neubuerg, v.set=c(1,2), dir.set=1, num.sectors=8)

# change number of digits and hide results
profile(mast=neubuerg, v.set=1, dir.set=1, digits=2)
profile(mast=neubuerg, v.set=1, dir.set=1, print=FALSE)

Run the code above in your browser using DataLab