turbulence: Calculation of turbulence intensity

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

View source: R/turbulence.R

Description

Calculates turbulence intensity and mean wind speed for each given direction sector.

Usage

1
2
3
4
turbulence(mast, turb.set, dir.set, num.sectors=12, 
  bins=c(5, 10, 15, 20), subset, digits=3, print=TRUE)
turb(mast, turb.set, dir.set, num.sectors=12, 
  bins=c(5, 10, 15, 20), subset, digits=3, print=TRUE)

Arguments

mast

Met mast object created by mast.

turb.set

Set used for turbulence intensity, specified as set number or set name (optional, if dir.set is given).

dir.set

Set used for wind direction, specified as set number or set name (optional, if turb.set is given).

num.sectors

Number of wind direction sectors as integer value greater 1. Default is 12.

bins

Wind speed bins as numeric vector or NULL if no classification is desired. Default is c(5, 10, 15, 20).

subset

Optional start and end time stamp for a data subset, as string vector c(start, end). The time stamps format shall follow the rules of ISO 8601 international standard, e.g. "2012-08-08 22:55:00".

digits

Number of decimal places to be used for results as numeric value. Default is 3.

print

If TRUE (the default), results are printed directly.

Details

Turbulence can be perceived as wind speed fluctuations on a relatively short time scale and it strongly depends on surface roughness, terrain features, as well as thermal effects. High turbulence should be avoided, since it is a main driver of fatigue loads and might decrease energy output. A measure of the overall level of turbulence, is the turbulence intensity I, which is defined as:

I = sigma / v

where sigma is the standard deviation of wind speed – usually measured over a 10-minutes period – and v is the mean wind speed over this period.

Value

Returns a data frame containing:

wind.speed

Mean wind speed for each direction sector.

total

Total turbulence intensity for each direction sector.

...

Turbulence intensities per direction sector for each given wind speed bin.

Optional graphical parameters for plotting

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

Author(s)

Christian Graul

References

Albers, A. (2010) Turbulence and Shear Normalisation of Wind Turbine Power Curve. Proceedings of the EWEC 2010, Warsaw, Poland

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

Langreder, W. (2010) Wind Resource and Site Assessment. In: Wei Tong (Ed.), Wind Power Generation and Wind Turbine Design, Chapter 2, p. 49–87, Southampton: WIT Press

See Also

mast

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
## Not run: 
## load and prepare data
data("winddata", package="bReeze")
set40 <- set(height=40, v.avg=winddata[,2], v.std=winddata[,5],
  dir.avg=winddata[,14])
set30 <- set(height=30, v.avg=winddata[,6], v.std=winddata[,9],
  dir.avg=winddata[,16])
set20 <- set(height=20, v.avg=winddata[,10], v.std=winddata[,13])
ts <- timestamp(timestamp=winddata[,1])
neubuerg <- mast(timestamp=ts, set40, set30, set20)
neubuerg <- clean(mast=neubuerg)


## calculate turbulence intensity
turbulence(mast=neubuerg, turb.set=1)  # default
turbulence(mast=neubuerg, turb.set=1, dir.set=2)  # use different datasets
turbulence(mast=neubuerg, turb.set="set1", dir.set="set2")  # same as above
turbulence(mast=neubuerg, turb.set=1, num.sectors=4)  # change sector number

# calculate turbulence intensity for 1 m/s speed bins and without binning
turbulence(mast=neubuerg, turb.set=1, bins=1:25)
turbulence(mast=neubuerg, turb.set=1, bins=NULL)

# data subset
turbulence(mast=neubuerg, turb.set=1, 
  subset=c(NA, "2010-01-01 00:00:00"))

# change number of digits and hide results
turbulence(mast=neubuerg, turb.set=1, digits=2)
neubuerg.ti <- turbulence(mast=neubuerg, turb.set=1, print=FALSE)
neubuerg.ti


## plot turbulence intensity object
plot(neubuerg.ti)  # default

# change colour, text size etc.
plot(neubuerg.ti, cex.axis=0.7, cex.lab=0.9, circles=c(0.05,0.20,0.05), 
  col="lightgray", col.axis="darkgray", col.border="gray", col.circle="darkgray", 
  col.cross="darkgray", col.lab="darkgray", fg=TRUE, lty.circle="dotdash", 
  lty.cross="longdash", lwd.border=1.2, lwd.circle=1.2, lwd.cross=1.2, 
  pos.axis=135, sec.space=0.6)

## End(Not run)

Example output

 
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
Cleaning set 3...
2896 samples lower than 0.4 replaced by 'NA' in average wind speed
16645 samples with average wind speed lower than 4 m/s replaced by 'NA' in turbulence intensity

	Turbulence intensity

    total   0-5  5-10 10-15 15-20   >20
N   0.161 0.181 0.157 0.144 0.145 0.000
NNE 0.153 0.173 0.142 0.000 0.000 0.000
ENE 0.150 0.163 0.140 0.176 0.000 0.000
E   0.159 0.161 0.158 0.000 0.000 0.000
ESE 0.142 0.158 0.135 0.000 0.000 0.000
SSE 0.137 0.153 0.125 0.000 0.000 0.000
S   0.154 0.165 0.145 0.134 0.000 0.000
SSW 0.161 0.200 0.161 0.127 0.113 0.117
WSW 0.157 0.203 0.154 0.129 0.120 0.000
W   0.171 0.200 0.156 0.121 0.000 0.000
WNW 0.199 0.215 0.178 0.000 0.000 0.000
NNW 0.199 0.213 0.189 0.194 0.000 0.000
all 0.160 0.184 0.155 0.134 0.119 0.117

call: turbulence(mast=neubuerg, turb.set=1, dir.set=1, num.sectors=12, bins=c(0, 5, 10, 15, 20), subset=NA, digits=3, print=TRUE)


	Turbulence intensity

    total   0-5  5-10 10-15 15-20   >20
N   0.162 0.182 0.159 0.144 0.145 0.000
NNE 0.150 0.172 0.138 0.118 0.000 0.000
ENE 0.147 0.160 0.137 0.176 0.000 0.000
E   0.162 0.161 0.164 0.000 0.000 0.000
ESE 0.140 0.155 0.132 0.000 0.000 0.000
SSE 0.139 0.156 0.126 0.000 0.000 0.000
S   0.154 0.165 0.144 0.136 0.000 0.000
SSW 0.161 0.202 0.161 0.126 0.114 0.117
WSW 0.157 0.203 0.153 0.130 0.121 0.000
W   0.170 0.198 0.156 0.123 0.000 0.000
WNW 0.206 0.226 0.178 0.000 0.000 0.000
NNW 0.201 0.219 0.191 0.183 0.000 0.000
all 0.160 0.184 0.155 0.134 0.119 0.117

call: turbulence(mast=neubuerg, turb.set=1, dir.set=2, num.sectors=12, bins=c(0, 5, 10, 15, 20), subset=NA, digits=3, print=TRUE)


	Turbulence intensity

    total   0-5  5-10 10-15 15-20   >20
N   0.162 0.182 0.159 0.144 0.145 0.000
NNE 0.150 0.172 0.138 0.118 0.000 0.000
ENE 0.147 0.160 0.137 0.176 0.000 0.000
E   0.162 0.161 0.164 0.000 0.000 0.000
ESE 0.140 0.155 0.132 0.000 0.000 0.000
SSE 0.139 0.156 0.126 0.000 0.000 0.000
S   0.154 0.165 0.144 0.136 0.000 0.000
SSW 0.161 0.202 0.161 0.126 0.114 0.117
WSW 0.157 0.203 0.153 0.130 0.121 0.000
W   0.170 0.198 0.156 0.123 0.000 0.000
WNW 0.206 0.226 0.178 0.000 0.000 0.000
NNW 0.201 0.219 0.191 0.183 0.000 0.000
all 0.160 0.184 0.155 0.134 0.119 0.117

call: turbulence(mast=neubuerg, turb.set=1, dir.set=2, num.sectors=12, bins=c(0, 5, 10, 15, 20), subset=NA, digits=3, print=TRUE)


	Turbulence intensity

    total   0-5  5-10 10-15 15-20   >20
N   0.162 0.183 0.157 0.144 0.145 0.000
E   0.149 0.162 0.141 0.159 0.000 0.000
S   0.158 0.179 0.154 0.127 0.113 0.117
W   0.160 0.203 0.155 0.128 0.120 0.000
all 0.160 0.184 0.155 0.134 0.119 0.117

call: turbulence(mast=neubuerg, turb.set=1, dir.set=1, num.sectors=4, bins=c(0, 5, 10, 15, 20), subset=NA, digits=3, print=TRUE)


	Turbulence intensity

    total 0-1 1-2 2-3 3-4   4-5   5-6   6-7   7-8   8-9  9-10 10-11 11-12 12-13
N   0.161   0   0   0   0 0.181 0.171 0.160 0.153 0.147 0.137 0.139 0.143 0.144
NNE 0.153   0   0   0   0 0.173 0.152 0.135 0.120 0.148 0.126 0.000 0.000 0.000
ENE 0.150   0   0   0   0 0.163 0.134 0.152 0.137 0.138 0.159 0.185 0.000 0.000
E   0.159   0   0   0   0 0.161 0.173 0.150 0.132 0.143 0.000 0.000 0.000 0.000
ESE 0.142   0   0   0   0 0.158 0.139 0.139 0.127 0.120 0.000 0.000 0.000 0.000
SSE 0.137   0   0   0   0 0.153 0.135 0.116 0.119 0.118 0.000 0.000 0.000 0.000
S   0.154   0   0   0   0 0.165 0.150 0.148 0.146 0.125 0.123 0.131 0.132 0.161
SSW 0.161   0   0   0   0 0.200 0.179 0.162 0.154 0.154 0.133 0.131 0.128 0.127
WSW 0.157   0   0   0   0 0.203 0.173 0.160 0.149 0.137 0.137 0.131 0.127 0.132
W   0.171   0   0   0   0 0.200 0.172 0.149 0.142 0.132 0.144 0.112 0.132 0.000
WNW 0.199   0   0   0   0 0.215 0.173 0.178 0.197 0.000 0.000 0.000 0.000 0.000
NNW 0.199   0   0   0   0 0.213 0.201 0.185 0.172 0.190 0.174 0.181 0.000 0.000
all 0.160   0   0   0   0 0.184 0.167 0.156 0.149 0.145 0.137 0.135 0.134 0.134
    13-14 14-15 15-16 16-17 17-18 18-19 19-20 20-21
N   0.166 0.167 0.157 0.148 0.117 0.000 0.000 0.000
NNE 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
ENE 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
E   0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
ESE 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
SSE 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
S   0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
SSW 0.121 0.118 0.113 0.112 0.118 0.111 0.110 0.117
WSW 0.129 0.124 0.122 0.121 0.118 0.116 0.129 0.000
W   0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
WNW 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
NNW 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
all 0.133 0.132 0.122 0.119 0.118 0.115 0.116 0.117

call: turbulence(mast=neubuerg, turb.set=1, dir.set=1, num.sectors=12, bins=c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21), subset=NA, digits=3, print=TRUE)


	Turbulence intensity

    total
N   0.161
NNE 0.153
ENE 0.150
E   0.159
ESE 0.142
SSE 0.137
S   0.154
SSW 0.161
WSW 0.157
W   0.171
WNW 0.199
NNW 0.199
all 0.160

call: turbulence(mast=neubuerg, turb.set=1, dir.set=1, num.sectors=12, bins=c(), subset=NA, digits=3, print=TRUE)


	Turbulence intensity

    total 0-5 5-10
N       0   0    0
NNE     0   0    0
ENE     0   0    0
E       0   0    0
ESE     0   0    0
SSE     0   0    0
S       0   0    0
SSW     0   0    0
WSW     0   0    0
W       0   0    0
WNW     0   0    0
NNW     0   0    0
all     0   0    0

call: turbulence(mast=neubuerg, turb.set=1, dir.set=1, num.sectors=12, bins=c(0, 5, 10), subset=c("NA", "2010-01-01 00:00:00"), digits=3, print=TRUE)


	Turbulence intensity

    total  0-5 5-10 10-15 15-20  >20
N    0.16 0.18 0.16  0.14  0.14 0.00
NNE  0.15 0.17 0.14  0.00  0.00 0.00
ENE  0.15 0.16 0.14  0.18  0.00 0.00
E    0.16 0.16 0.16  0.00  0.00 0.00
ESE  0.14 0.16 0.13  0.00  0.00 0.00
SSE  0.14 0.15 0.12  0.00  0.00 0.00
S    0.15 0.17 0.14  0.13  0.00 0.00
SSW  0.16 0.20 0.16  0.13  0.11 0.12
WSW  0.16 0.20 0.15  0.13  0.12 0.00
W    0.17 0.20 0.16  0.12  0.00 0.00
WNW  0.20 0.21 0.18  0.00  0.00 0.00
NNW  0.20 0.21 0.19  0.19  0.00 0.00
all  0.16 0.18 0.16  0.13  0.12 0.12

call: turbulence(mast=neubuerg, turb.set=1, dir.set=1, num.sectors=12, bins=c(0, 5, 10, 15, 20), subset=NA, digits=2, print=TRUE)


	Turbulence intensity

    total   0-5  5-10 10-15 15-20   >20
N   0.161 0.181 0.157 0.144 0.145 0.000
NNE 0.153 0.173 0.142 0.000 0.000 0.000
ENE 0.150 0.163 0.140 0.176 0.000 0.000
E   0.159 0.161 0.158 0.000 0.000 0.000
ESE 0.142 0.158 0.135 0.000 0.000 0.000
SSE 0.137 0.153 0.125 0.000 0.000 0.000
S   0.154 0.165 0.145 0.134 0.000 0.000
SSW 0.161 0.200 0.161 0.127 0.113 0.117
WSW 0.157 0.203 0.154 0.129 0.120 0.000
W   0.171 0.200 0.156 0.121 0.000 0.000
WNW 0.199 0.215 0.178 0.000 0.000 0.000
NNW 0.199 0.213 0.189 0.194 0.000 0.000
all 0.160 0.184 0.155 0.134 0.119 0.117

call: turbulence(mast=neubuerg, turb.set=1, dir.set=1, num.sectors=12, bins=c(0, 5, 10, 15, 20), subset=NA, digits=3, print=FALSE)

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