# Path: windpowerlib/wake_losses.py
# def reduce_wind_speed(wind_speed, wind_efficiency_curve_name="dena_mean"):
# def get_wind_efficiency_curve(curve_name="all"):
# 
# Path: windpowerlib/modelchain.py
# class ModelChain(object):
#     def __init__(
#         self,
#         power_plant,
#         wind_speed_model="logarithmic",
#         temperature_model="linear_gradient",
#         density_model="barometric",
#         power_output_model="power_curve",
#         density_correction=False,
#         obstacle_height=0,
#         hellman_exp=None,
#         **kwargs,
#     ):
#     def temperature_hub(self, weather_df):
#     def density_hub(self, weather_df):
#     def wind_speed_hub(self, weather_df):
#     def calculate_power_output(self, wind_speed_hub, density_hub):
#     def run_model(self, weather_df):


import logging
from windpowerlib import wake_losses
from windpowerlib.modelchain import ModelChain, data
The ``turbine_cluster_modelchain`` module contains functions and classes of the
windpowerlib. This module makes it easy to get started with the windpowerlib
and shows use cases for the power output calculation of wind farms and wind
turbine clusters.

SPDX-FileCopyrightText: 2019 oemof developer group <contact@oemof.org>
SPDX-License-Identifier: MIT
"""


class TurbineClusterModelChain(ModelChain):
    r"""
    Model to determine the output of a wind farm or wind turbine cluster.

    Parameters
    ----------
    power_plant : :class:`~.wind_farm.WindFarm` or :class:`~.wind_turbine_cluster.WindTurbineCluster`
        A :class:`~.wind_farm.WindFarm` object representing the wind farm or
        a :class:`~.wind_turbine_cluster.WindTurbineCluster` object
        representing the wind turbine cluster.
    wake_losses_model : str or None
        Defines the method for taking wake losses within the farm into
        consideration.

        * None -
          Wake losses are not taken into account.
        * 'wind_farm_efficiency' -
          The values of the wind farm power curve(s) are reduced by the wind
          farm efficiency, which needs to be set in the
          :py:class:`~.wind_farm.WindFarm` class. Note: The wind farm

# Path: windpowerlib/wake_losses.py
# def reduce_wind_speed(wind_speed, wind_efficiency_curve_name="dena_mean"):
# def get_wind_efficiency_curve(curve_name="all"):
# 
# Path: windpowerlib/modelchain.py
# class ModelChain(object):
#     def __init__(
#         self,
#         power_plant,
#         wind_speed_model="logarithmic",
#         temperature_model="linear_gradient",
#         density_model="barometric",
#         power_output_model="power_curve",
#         density_correction=False,
#         obstacle_height=0,
#         hellman_exp=None,
#         **kwargs,
#     ):
#     def temperature_hub(self, weather_df):
#     def density_hub(self, weather_df):
#     def wind_speed_hub(self, weather_df):
#     def calculate_power_output(self, wind_speed_hub, density_hub):
#     def run_model(self, weather_df):


# Path: windpowerlib/turbine_cluster_modelchain.py
import logging
from windpowerlib import wake_losses
from windpowerlib.modelchain import ModelChain, data

The ``turbine_cluster_modelchain`` module contains functions and classes of the
windpowerlib. This module makes it easy to get started with the windpowerlib
and shows use cases for the power output calculation of wind farms and wind
turbine clusters.

SPDX-FileCopyrightText: 2019 oemof developer group <contact@oemof.org>
SPDX-License-Identifier: MIT
"""


class TurbineClusterModelChain(ModelChain):
    r"""
    Model to determine the output of a wind farm or wind turbine cluster.

    Parameters
    ----------
    power_plant : :class:`~.wind_farm.WindFarm` or :class:`~.wind_turbine_cluster.WindTurbineCluster`
        A :class:`~.wind_farm.WindFarm` object representing the wind farm or
        a :class:`~.wind_turbine_cluster.WindTurbineCluster` object
        representing the wind turbine cluster.
    wake_losses_model : str or None
        Defines the method for taking wake losses within the farm into
        consideration.

        * None -
          Wake losses are not taken into account.
        * 'wind_farm_efficiency' -
          The values of the wind farm power curve(s) are reduced by the wind
          farm efficiency, which needs to be set in the
          :py:class:`~.wind_farm.WindFarm` class. Note: The wind farm

          efficiency has no effect if `wake_losses_model` is not set to