Learn R Programming

bReeze (version 0.1-0)

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)

Arguments

mast
Met mast object created by createMast.
v.set
Set(s) to be used for wind speed as integer vector. 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 datasets are given, t
dir.set
Set to be used for wind direction as integer value.
num.sectors
Number of wind direction sectors as integer value. One of 4, 8, 12 or 16. 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.

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

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(winddata[,1])
neubuerg <- createMast(time.stamp=ts, loc=NULL, desc=NULL, 
	set40, set30, set20)
neubuerg <- clean(neubuerg)

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

# compare influence of alpha
neubuerg.wp
neubuerg.wp.2


# calculate profiles based on two heights
neubuerg.wp.3 <- profile(neubuerg, v.set=c(1,2), dir.set=1)
neubuerg.wp.4 <- profile(neubuerg, v.set=c(1,3), dir.set=1)

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

# compare calculated profiles
neubuerg.wp.3	# 40 m and 30 m dataset
neubuerg.wp.4	# 40 m and 20 m dataset
neubuerg.wp.5

Run the code above in your browser using DataLab