reskit.wind.core.power_curve#
Attributes#
Classes#
Creates a wind turbine's power curve represented by a set of (wind-speed,capacity-factor) pairs. |
|
Creates a wind turbine's power curve represented by a set of (wind-speed,capacity-factor) pairs. |
Functions#
Reads the data used for creating a synthetic power curve. |
|
|
Calculates the corresponding specific power for a wind turbine in W/m2 from values of capacity in kW and rotor diameter in m. |
Module Contents#
- reskit.wind.core.power_curve._synthetic_power_curve_data = None#
- reskit.wind.core.power_curve.synthetic_power_curve_data()#
Reads the data used for creating a synthetic power curve.
- Returns:
DataFrame with the data to create a synthetic power curve.
- Return type:
pandas DataFrame
- reskit.wind.core.power_curve.compute_specific_power(capacity, rotor_diam, **k)#
Calculates the corresponding specific power for a wind turbine in W/m2 from values of capacity in kW and rotor diameter in m.
- Parameters:
capacity (float or array-like) – Turbine’s nominal capacity in kW.
rotor_diam (float or array-like) – Turbine’s hub height in m.
- Returns:
Specific power in W/m2
- Return type:
float or array-like
- class reskit.wind.core.power_curve.PowerCurve(wind_speed, capacity_factor)#
Creates a wind turbine’s power curve represented by a set of (wind-speed,capacity-factor) pairs.
Initialization:
- Parameters:
wind_speed (array-like) – The wind speeds values
capacity_factor (array-like) – The corresponding capacity factor
- Return type:
PowerCurve object
- wind_speed#
- capacity_factor#
- __str__()#
- _repr_svg_()#
- static from_specific_power(specific_power, cutout=25)#
Creates a synthetic wind turbine power curve based on observed relationships between turbine specific power and known power curves according to Ryberg et al. [1].
- Parameters:
specific_power (float) – Turbines’s specific power in m/s
cutout (int, optional) – Cut out wind speed in m/s, by default 25
- Returns:
PowerCurve
Sources
——-
[1] Ryberg, D. S., Caglayan, D. G., Schmitt, S., Linßen, J., Stolten, D., & Robinius, M. (2019). The future of European onshore wind energy potential (Detailed distribution and simulation of advanced turbine designs. Energy. https://doi.org/10.1016/j.energy.2019.06.052)
- static from_capacity_and_rotor_diam(capacity, rotor_diam, cutout=25)#
Creates a synthetic wind turbine power curve based on observed relationships between turbine’s capacity, rotor diameter and known power curves according to Ryberg et al. [1].
- Parameters:
capacity (numeric) – Baseline turbine capacity in kW.
rotor_diam (numeric) – turbine rotor diameter in m
cutout (int, optional) – Cut out wind speed in m/s, by default 25
- Returns:
PowerCurve
Sources
——-
[1] Ryberg, D. S., Caglayan, D. G., Schmitt, S., Linßen, J., Stolten, D., & Robinius, M. (2019). The future of European onshore wind energy potential (Detailed distribution and simulation of advanced turbine designs. Energy. https://doi.org/10.1016/j.energy.2019.06.052)
- simulate(wind_speed)#
Applies the invoking power curve to the given wind speeds.
- Parameters:
wind_speed (array_like) – Local average wind speed close to or at the hub height.
- Returns:
CorrespongDing capacity fators for the given wind speeds
- Return type:
array_like
- expected_capacity_factor_from_weibull(mean_wind_speed=5, weibull_shape=2)#
Computes the expected average capacity factor of a wind turbine based on a Weibull distribution of wind speeds.
- Parameters:
mean_wind_speed (int, optional) – mean wind speed at the location in m/s, by default 5
weibull_shape (int, optional) – Weibull shape parameter, by default 2
- Returns:
Average capacity factor
- Return type:
numeric
- expected_capacity_factor_from_distribution(wind_speed_values, wind_speed_counts)#
Computes the expected average capacity factor of a wind turbine based on an explicitly-provided wind speed distribution
- Parameters:
wind_speed_values (numeric or array-like) – wind speed values in m/s
wind_speed_counts (numeric or array-like) – corresponding counts (number of occurrence) of the given wind speed values. Counts will be normalized within the function
Example
- pc.expected_capacity_factor_from_distribution(
wind_speed_values=[ 1, 2, 3, 4, 5, 6], # Units of m/s wind_speed_counts=[0.1, 0.3, 0.5, 0.3, 0.1, 0.025 ] # Units of “counts” )
- Returns:
Average capacity factor
- Return type:
numeric
- convolute_by_gaussian(scaling=0.06, base=0.1, extend_beyond_cut_out=True, _min_speed=0.01, _max_speed=40, _steps=4000)#
Convolutes a turbine power curve by a normal distribution function with wind-speed-dependent standard deviation.
- Parameters:
scaling (float, optional) – scaling factor, by default 0.06
base (float, optional) – base value, by default 0.1
extend_beyond_cut_out (bool, optional) – extend the estimation beyond the turbine’s cut out wind speed, by default True
_min_speed (float, optional) – minimum wind speed value in m/s to be considered, by default 0.01
_max_speed (int, optional) – maximum wind speed value in m/s to be considered, by default 40
_steps (int, optional) – number of steps in between the wind speed range, by default 4000
- Returns:
The resulting convoluted power curve
- Return type:
Notes
The wind-speed-dependent standard deviation is computed with: std = wind_speed * scaling + base
- apply_loss_factor(loss)#
Applies a loss factor onto the power curve. It can be a single value, or a function which takes a ‘capacity factor’ array as input.
- Parameters:
loss (numeric or function) –
- If numeric, the value is applied at all capacity factors with:
new_capacity_factors = [1-loss] * previous_capacity_factors
- If a function, it must take a numpy array representing capacity factor values as input, resulting in the equation:
new_capacity_factors = [1-loss(previous_capacity_factors)] * previous_capacity_factors
- Returns:
The corrected power curve.
- Return type: