# Model description¶

## Wind power plants¶

The windpowerlib provides three classes for modelling wind power as wind turbines (`WindTurbine`

),
wind farms (`WindFarm`

) and wind turbine clusters (`WindTurbineCluster`

).

Descriptions can also be found in the sections Wind turbine data, Wind farm calculations and Wind turbine cluster calculations.

## Height correction and conversion of weather data¶

Weather data is usually available for a restricted amount of heights above ground. However, for wind feed-in time series calculations weather data is needed at hub height of the examined wind turbines. Thus, the windpowerlib provides functions for the height correction of weather data.

Functions for the height correction of wind speed to the hub height of a wind turbine are described in the Wind speed module. Respectively a function for the height correction of temperature data is provided in the Temperature module. Functions for density calculations can be found in the Density module.

If weather data is available for at least two different heights the respective figure at hub height can be determined by using linear or logarithmic inter-/extrapolation functions of the Tools module.

## Power output calculations¶

Wind feed-in time series can be calculated via power curves and power coefficient curves in the windpowerlib. Functions for power output calculations are described in the Power output module.

## Wake losses¶

The windpowerlib provides two options for the consideration of wake losses in wind farms: reduction of wind speeds and wind farm efficiency (reduction of power in power curves).

For the first option wind efficiency curves are provided which determine the
average reduction of wind speeds within a wind farm induced by wake losses depending on the wind speed. These curves
were taken from the dena-Netzstudie II and the dissertation of Kaspar Knorr
(for references see `get_wind_efficiency_curve()`

).
The following graph shows all provided wind efficiency curves. The mean wind efficiency curves were calculated in
the dena-Netzstudie II and by Kaspar Knorr by averaging wind efficiency curves of 12 wind farms distributed over Germany (dena) or
respectively of over 2000 wind farms in Germany (Knorr). Curves with the appendix ‘extreme’
are wind efficiency curves of single wind farms that are extremely deviating from the respective
mean wind efficiency curve.

The second option to consider wake losses is to apply them to power curves by reducing the power values
by a constant or on a wind speed depending wind farm efficiency (see `wake_losses_to_power_curve()`

).
Applying the wind farm efficiency (curve) to power curves instead of feed-in time series has the advantage that the
power curves can further be aggregated to obtain turbine cluster power curves (see `WindTurbineCluster`

).

## Smoothing of power curves¶

To account for the spatial distribution of wind speeds within an area the windpowerlib provides a
function for power curve smoothing and uses the approach of Nørgaard and Holttinen (for references see `smooth_power_curve()`

).

## The modelchains¶

The modelchains are implemented to ensure an easy start into the Windpowerlib. They work like models that combine all functions provided in the library. Via parameteres desired functions of the windpowerlib can be selected. For parameters not being specified default parameters are used. The ModelChain is a model to determine the output of a wind turbine while the TurbineClusterModelChain is a model to determine the output of a wind farm or wind turbine cluster. The usage of both modelchains is shown in the Examples section.