# 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
        if self.smoothing is False:
            logging.debug("Aggregated power curve not smoothed.")
        else:
            logging.debug(
                "Aggregated power curve smoothed by method: "
                + self.standard_deviation_method
            )

        return self

    def run_model(self, weather_df):
        r"""
        Runs the model.

        Parameters
        ----------
        weather_df : :pandas:`pandas.DataFrame<frame>`
            DataFrame with time series for wind speed `wind_speed` in m/s, and
            roughness length `roughness_length` in m, as well as optionally
            temperature `temperature` in K, pressure `pressure` in Pa,
            density `density` in kg/m³ and turbulence intensity
            `turbulence_intensity` depending on `power_output_model`,
            `density_model` and `standard_deviation_model` chosen.
            The columns of the DataFrame are a MultiIndex where the first level
            contains the variable name (e.g. wind_speed) and the second level
            contains the height at which it applies (e.g. 10, if it was
            measured at a height of 10 m). See below for an example on how to
            create the weather_df DataFrame.

        Returns

# 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

        if self.smoothing is False:
            logging.debug("Aggregated power curve not smoothed.")
        else:
            logging.debug(
                "Aggregated power curve smoothed by method: "
                + self.standard_deviation_method
            )

        return self

    def run_model(self, weather_df):
        r"""
        Runs the model.

        Parameters
        ----------
        weather_df : :pandas:`pandas.DataFrame<frame>`
            DataFrame with time series for wind speed `wind_speed` in m/s, and
            roughness length `roughness_length` in m, as well as optionally
            temperature `temperature` in K, pressure `pressure` in Pa,
            density `density` in kg/m³ and turbulence intensity
            `turbulence_intensity` depending on `power_output_model`,
            `density_model` and `standard_deviation_model` chosen.
            The columns of the DataFrame are a MultiIndex where the first level
            contains the variable name (e.g. wind_speed) and the second level
            contains the height at which it applies (e.g. 10, if it was
            measured at a height of 10 m). See below for an example on how to
            create the weather_df DataFrame.

        Returns

        -------