windpowerlib.wind_farm.WindFarm

class windpowerlib.wind_farm.WindFarm(name, wind_turbine_fleet, coordinates=None, efficiency=None, **kwargs)[source]

Defines a standard set of wind farm attributes.

Parameters:
  • name (str or None) – Name of the wind farm.
  • wind_turbine_fleet (list(dict)) – Wind turbines of wind farm. Dictionaries must have ‘wind_turbine’ (contains a WindTurbine object) and ‘number_of_turbines’ (number of wind turbines of the same turbine type in the wind farm) as keys.
  • coordinates (list(float) or None (optional)) – List with coordinates [lat, lon] of location. Default: None.
  • efficiency (float or pandas.DataFrame or None (optional)) – Efficiency of the wind farm. Provide as either constant (float) or power efficiency curve (pd.DataFrame) containing ‘wind_speed’ and ‘efficiency’ columns with wind speeds in m/s and the corresponding dimensionless wind farm efficiency. Default: None.
name

Name of the wind farm.

Type:str or None
wind_turbine_fleet

Wind turbines of wind farm. Dictionaries must have ‘wind_turbine’ (contains a WindTurbine object) and ‘number_of_turbines’ (number of wind turbines of the same turbine type in the wind farm) as keys.

Type:list(dict)
coordinates

List with coordinates [lat, lon] of location. Default: None.

Type:list(float) or None
efficiency

Efficiency of the wind farm. Either constant (float) power efficiency curve (pd.DataFrame) containing ‘wind_speed’ and ‘efficiency’ columns with wind speeds in m/s and the corresponding dimensionless wind farm efficiency. Default: None.

Type:float or pandas.DataFrame or None
hub_height

The calculated mean hub height of the wind farm. See mean_hub_height() for more information.

Type:float
nominal_power

The nominal power is the sum of the nominal power of all turbines in the wind farm in W.

Type:float
installed_power

Installed nominal power of the wind farm in W. Deprecated! Use nominal_power instead.

Type:float
power_curve

The calculated power curve of the wind farm. See assign_power_curve() for more information.

Type:pandas.DataFrame or None
power_output

The calculated power output of the wind farm.

Type:pandas.Series

Examples

>>> from windpowerlib import wind_farm
>>> from windpowerlib import wind_turbine
>>> enerconE126 = {
...    'hub_height': 135,
...    'rotor_diameter': 127,
...    'name': 'E-126/4200',
...    'fetch_curve': 'power_curve',
...    'data_source': 'oedb'}
>>> e126 = wind_turbine.WindTurbine(**enerconE126)
>>> example_farm_data = {
...    'name': 'example_farm',
...    'wind_turbine_fleet': [{'wind_turbine': e126,
...                            'number_of_turbines': 6}]}
>>> example_farm = wind_farm.WindFarm(**example_farm_data)
>>> print(example_farm.nominal_power)
25200000.0
installed_power

The installed nominal power of the wind farm. (Deprecated!)

nominal_power

The nominal power of the wind farm.

See nominal_power for further information.

Parameters:nominal_power (float) – Nominal power of the wind farm in W.
Returns:Nominal power of the wind farm in W.
Return type:float
mean_hub_height()[source]

Calculates the mean hub height of the wind farm.

The mean hub height of a wind farm is necessary for power output calculations with an aggregated wind farm power curve containing wind turbines with different hub heights. Hub heights of wind turbines with higher nominal power weigh more than others. After the calculations the mean hub height is assigned to the attribute hub_height.

Returns:self
Return type:WindFarm

Notes

The following equation is used [1]:

h_{WF} = e^{\sum\limits_{k}{ln(h_{WT,k})}
\frac{P_{N,k}}{\sum\limits_{k}{P_{N,k}}}}

with:
h_{WF}: mean hub height of wind farm, h_{WT,k}: hub height of the k-th wind turbine of a wind farm, P_{N,k}: nominal power of the k-th wind turbine

References

[1]Knorr, K.: “Modellierung von raum-zeitlichen Eigenschaften der Windenergieeinspeisung für wetterdatenbasierte Windleistungssimulationen”. Universität Kassel, Diss., 2016, p. 35
get_installed_power()[source]

Calculates nominal_power of the wind farm.

Returns:Nominal power of the wind farm in W. See nominal_power for further information.
Return type:float
assign_power_curve(wake_losses_model='power_efficiency_curve', smoothing=False, block_width=0.5, standard_deviation_method='turbulence_intensity', smoothing_order='wind_farm_power_curves', turbulence_intensity=None, **kwargs)[source]

Calculates the power curve of a wind farm.

The wind farm power curve is calculated by aggregating the power curves of all wind turbines in the wind farm. Depending on the parameters the power curves are smoothed (before or after the aggregation) and/or a wind farm efficiency (power efficiency curve or constant efficiency) is applied after the aggregation. After the calculations the power curve is assigned to the attribute power_curve.

Parameters:
  • wake_losses_model (str) – Defines the method for taking wake losses within the farm into consideration. Options: ‘power_efficiency_curve’, ‘constant_efficiency’ or None. Default: ‘power_efficiency_curve’.
  • smoothing (bool) – If True the power curves will be smoothed before or after the aggregation of power curves depending on smoothing_order. Default: False.
  • block_width (float) – Width between the wind speeds in the sum of the equation in smooth_power_curve(). Default: 0.5.
  • standard_deviation_method (str) – Method for calculating the standard deviation for the Gauss distribution. Options: ‘turbulence_intensity’, ‘Staffell_Pfenninger’. Default: ‘turbulence_intensity’.
  • smoothing_order (str) – Defines when the smoothing takes place if smoothing is True. Options: ‘turbine_power_curves’ (to the single turbine power curves), ‘wind_farm_power_curves’. Default: ‘wind_farm_power_curves’.
  • turbulence_intensity (float) – Turbulence intensity at hub height of the wind farm for power curve smoothing with ‘turbulence_intensity’ method. Can be calculated from roughness_length instead. Default: None.
  • roughness_length (float (optional)) – Roughness length. If standard_deviation_method is ‘turbulence_intensity’ and turbulence_intensity is not given the turbulence intensity is calculated via the roughness length.
Returns:

self

Return type:

WindFarm