uncertainty {bReeze}R Documentation

Uncertainty assessment


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


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), ...)



AEP object created by aep.


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


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.


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


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).


If TRUE, results are printed directly.


Uncertainty object created by uncertainty.


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


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.


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.


Returns a list containing:


Table of uncertainty components and their uncertainty value.


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"):


Christian Graul


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

See Also



## Not run: 
## load and prepare data
data("winddata", package="bReeze")
set1 <- set(height=40, v.avg=winddata[,2], v.std=winddata[,5],
set2 <- set(height=30, v.avg=winddata[,6], v.std=winddata[,9],
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, 
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), 

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

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

[Package bReeze version 0.4-3 Index]