windkit.total_uncertainty_factor

windkit.total_uncertainty_factor(uncertainty_table, sensitivity_factor=1.5, percentile=90)[source]

Calculate the total uncertainty factor for a given exceedance probability or a list of probabilities.

Parameters:
  • uncertainty_table (DataFrame) – The DataFrame containing the uncertainties.

  • sensitivity_factor (float) – The sensitivity factor that multiplies the wind uncertainty terms.

  • percentile (int, float, or list/tuple of int/float) – The exceedance probability or probabilities (Pxx) for which to calculate the uncertainty factor. Default is 90 (for P90).

Returns:

The total uncertainty factor(s) that can be multiplied by the net_aep to get the Px value(s).

Return type:

float or list of float

Notes

  • The function to calculate the value of AEP associated with a given exceedance probability is: Px = net_aep * (1 - ppf * total_uncertainty_value / 100), where:

  • ppf is the quantile (inverse CDF) corresponding to the given probability, for a normal distribution (mu=0, sigma=1).

Examples

>>> uncertainty_table = get_uncertainty_table('dtu_default')
>>> sensitivity_factor = sensitivity_factor(pwc, wtg, wind_perturbation_factor=0.05)
>>> total_uncertainty_factor(uncertainty_table, sensitivity_factor, percentile=90)
>>> total_uncertainty_factor(uncertainty_table, sensitivity_factor, percentile=[90, 95, 99])