uncertainty: Uncertainty assessment

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

View source: R/uncertainty.R

Description

Calculates probability of exceedance based of AEP data and given uncertainties of applied methods.

Usage

1
2
3
4
5
6
7
uncertainty(aep, uc.values, uc.names, prob=seq(5,95,5), 
  digits=c(0,0), print=TRUE)
uc(aep, uc.values, uc.names, prob=seq(5,95,5), 
  digits=c(0,0), print=TRUE)

## S3 method for class 'uncertainty'
plot(x, type=c("prob", "uncert"), p.values=c(50,75,90), ...)

Arguments

aep

AEP object created by aep.

uc.values

Uncertainty values (in percent) for applied methods as numeric vector.

uc.names

Names of the uncertainty components. Normally a string vector of the same length as uc.values. If uc.names is a string vector with the length of uc.values + 1, the calculated total uncertainty is named after the additional name (default is "total"). If uc.names is NULL, the methods are numbered consecutively.

prob

Probability values used for the probability of exceedance analysis. Default is seq(5,95,5).

digits

Number of decimal places to be used for results as numeric vector. The first value is used for uncertainties of applied methods, the second for probability of exceedance results. Default is c(0,0).

print

If TRUE, results are printed directly.

x

Uncertainty object created by uncertainty.

type

Type of plot as string. One of "prob" (probability of exceedance plot) or "uncert" (uncertainties overview plot).

p.values

The P-values highlighted in the plot as numeric vector – default is P50, P75 and P90.

...

Arguments to be passed to methods. For optional graphical parameters see below.

Details

A wind resource assessment, like every statistical analysis, is only complete with an accompanying uncertainty assessment. uncertainty provides a simple tool to arrange uncertainties of the methods applied and analyse their approximate effects to the energy output of a turbine. The total uncertainty arises from many uncertainty components of different type and impact. Common components are wind measurement (sensor quality/calibration, mast influences, etc.), data analysis (missing data, data selection, simplifications/assumptions etc.), long term data (reference data, length of measuring period, etc.), flow modelling (horizontal and vertical extrapolations, etc.) or power curve (measurement quality, assumptions, etc.).

Assuming all uncertainty components to be independent from each other, the combined standard uncertainty is calculated as follows:

U = sqrt(u_1 + u_2 + ... + u_n)

where U is the total uncertainty and u_1 untill u_n are the uncertainty components.

Value

Returns a list containing:

uncertainty.meth

Table of uncertainty components and their uncertainty value.

prob.exceedance

Table of probability values and the related annual energy production.

Optional graphical parameters

The following graphical parameters can optionally be added to customize the probability of exceedance plot (type="prob"):

Optional graphical parameters for the uncertainty overview plot (type="uncert"):

Author(s)

Christian Graul

References

Measnet (2009) MEASNET Procedure: Evaluation of Site Specific Wind Conditions, Version 1

See Also

aep

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
## 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 uncertainty
# calculate AEP
nb.wp <- profile(mast=neubuerg, v.set=c(1,2), dir.set=1, 
  print=FALSE)
pw.56 <- pc("PowerWind_56_900kW.wtg")
nb.aep <- aep(profile=nb.wp, pc=pw.56, hub.h=71, print=FALSE)

# calculate uncertainty
uncertainty(nb.aep, uc.values=c(5,10,5,5), 
  uc.names=c("Wind Measurement Mast", "Long Term Correlation", 
  "Flow Model", "Power Curve"))

# unnamed uncertainty components
uncertainty(nb.aep, uc.values=c(5,10,5,5), 
  uc.names=NULL)

# new name for combined uncertainty
uncertainty(nb.aep, uc.values=c(5,10,5,5), 
  uc.names=c("Wind Measurement Mast", "Long Term Correlation", 
  "Flow Model", "Power Curve", "Total Uncertainty"))

# changed probability values
uncertainty(nb.aep, uc.values=c(5,10,5,5), 
  uc.names=c("Wind Measurement Mast", "Long Term Correlation", 
  "Flow Model", "Power Curve"), prob=seq(50,90,10))

# change number of digits and hide results
neubuerg.uc <- uncertainty(nb.aep, uc.values=c(5,10,5,5), 
  uc.names=c("Wind Measurement Mast", "Long Term Correlation", 
  "Flow Model", "Power Curve"), digits=c(1,2), print=FALSE)
neubuerg.uc


## plot uncertainty objects - probability of exceedance plot 
plot(neubuerg.uc)  # default
plot(neubuerg.uc, p.values=c(50, 95))  # change highlighted P-values

# change colours, line types, line width and text size
plot(neubuerg.uc, col="blue", lty=c(1, 2, 3, 4), lwd=2, cex=1.2)

# freaky
plot(neubuerg.uc, bty="l", bty.leg="o", cex.axis=2, 
  cex.lab=0.5, cex.leg=0.8, col=c(5, 10, 15, 20), col.axis="sienna", 
  col.box="purple", col.lab="plum", col.leg="orchid", col.ticks="gold", 
  las=0, lty=c(8, 7, 6, 5), lwd=c(5, 3, 1, 0.5), mar=c(6, 5, 4, 3), 
  mgp=c(4, 2, 1), pos.leg="bottomleft", xlim=c(0.1, 0.9), ylim=c(1000, 2000), 
  x.intersp=2, y.intersp=1.5)


## plot uncertainty objects - uncertainty overview plot
plot(neubuerg.uc, type="uncert")  # default

# change colours and border
plot(neubuerg.uc, type="uncert", col="red", border="red4")
plot(neubuerg.uc, type="uncert", col=c(gray(0.7), gray(0.5)), 
  border=c(gray(0.6), gray(0.4)))
plot(neubuerg.uc, type="uncert", col=c(5:1), border=c(1:5))

# change text size, space and margin
plot(neubuerg.uc, type="uncert", cex=1.5, space=0.1, mar=c(1, 13, 1, 1))

# freaky
plot(neubuerg.uc, type="uncert", border=c(11, 22, 33, 44, 55), cex.axis=0.7, 
  cex.text=2, col=c("maroon", "navy", "thistle", "rosybrown", "papayawhip"), 
  col.axis="pink3", col.text="seagreen", mar=c(3, 8, 2, 1), mgp=c(0, 1, 2), space=1)

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

	Uncertainty

Uncertainties of applied methods:
                      uncertainty
                              [%]
Wind Measurement Mast           5
Long Term Correlation          10
Flow Model                      5
Power Curve                     5
total                          13

Probability of exceedance:
   probability     AEP
           [%] [MWh/a]
1            5    2029
2           10    1948
3           15    1894
4           20    1851
5           25    1815
6           30    1782
7           35    1751
8           40    1722
9           45    1694
10          50    1666
11          55    1638
12          60    1610
13          65    1581
14          70    1550
15          75    1517
16          80    1481
17          85    1438
18          90    1384
19          95    1303

call: uncertainty(aep=nb.aep, uc.values=c(5, 10, 5, 5), uc.names=c("Wind Measurement Mast", "Long Term Correlation", "Flow Model", "Power Curve"), prob=c(5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95), digits=c(), print=TRUE)


	Uncertainty

Uncertainties of applied methods:
      uncertainty
              [%]
1               5
2              10
3               5
4               5
total          13

Probability of exceedance:
   probability     AEP
           [%] [MWh/a]
1            5    2029
2           10    1948
3           15    1894
4           20    1851
5           25    1815
6           30    1782
7           35    1751
8           40    1722
9           45    1694
10          50    1666
11          55    1638
12          60    1610
13          65    1581
14          70    1550
15          75    1517
16          80    1481
17          85    1438
18          90    1384
19          95    1303

call: uncertainty(aep=nb.aep, uc.values=c(5, 10, 5, 5), uc.names=c(""), prob=c(5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95), digits=c(), print=TRUE)


	Uncertainty

Uncertainties of applied methods:
                      uncertainty
                              [%]
Wind Measurement Mast           5
Long Term Correlation          10
Flow Model                      5
Power Curve                     5
Total Uncertainty              13

Probability of exceedance:
   probability     AEP
           [%] [MWh/a]
1            5    2029
2           10    1948
3           15    1894
4           20    1851
5           25    1815
6           30    1782
7           35    1751
8           40    1722
9           45    1694
10          50    1666
11          55    1638
12          60    1610
13          65    1581
14          70    1550
15          75    1517
16          80    1481
17          85    1438
18          90    1384
19          95    1303

call: uncertainty(aep=nb.aep, uc.values=c(5, 10, 5, 5), uc.names=c("Wind Measurement Mast", "Long Term Correlation", "Flow Model", "Power Curve", "Total Uncertainty"), prob=c(5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95), digits=c(), print=TRUE)


	Uncertainty

Uncertainties of applied methods:
                      uncertainty
                              [%]
Wind Measurement Mast           5
Long Term Correlation          10
Flow Model                      5
Power Curve                     5
total                          13

Probability of exceedance:
  probability     AEP
          [%] [MWh/a]
1          50    1948
2          60    1851
3          70    1782
4          80    1722
5          90    1666

call: uncertainty(aep=nb.aep, uc.values=c(5, 10, 5, 5), uc.names=c("Wind Measurement Mast", "Long Term Correlation", "Flow Model", "Power Curve"), prob=c(50, 60, 70, 80, 90), digits=c(), print=TRUE)


	Uncertainty

Uncertainties of applied methods:
                      uncertainty
                              [%]
Wind Measurement Mast           5
Long Term Correlation          10
Flow Model                      5
Power Curve                     5
total                        13.2

Probability of exceedance:
   probability     AEP
           [%] [MWh/a]
1            5 2028.51
2           10 1948.44
3           15 1894.42
4           20 1851.49
5           25 1814.65
6           30 1781.57
7           35 1750.92
8           40 1721.84
9           45 1693.69
10          50    1666
11          55 1638.31
12          60 1610.16
13          65 1581.08
14          70 1550.43
15          75 1517.35
16          80 1480.51
17          85 1437.58
18          90 1383.56
19          95 1303.49

call: uncertainty(aep=nb.aep, uc.values=c(5, 10, 5, 5), uc.names=c("Wind Measurement Mast", "Long Term Correlation", "Flow Model", "Power Curve"), prob=c(5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95), digits=c(), print=FALSE)

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