Skip to content

Commit 8a0e3dd

Browse files
committed
Use 'wind_farm_efficiency' instead of 'constant_efficiency' and 'power_efficiency_curve'
1 parent 2f8c453 commit 8a0e3dd

File tree

5 files changed

+20
-24
lines changed

5 files changed

+20
-24
lines changed

example/turbine_cluster_modelchain_example.ipynb

Lines changed: 8 additions & 9 deletions
Large diffs are not rendered by default.

example/turbine_cluster_modelchain_example.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ class that provides all necessary steps to calculate the power output of a
129129
WindTurbineCluster object.
130130
131131
"""
132-
132+
example_farm.efficiency = 0.9
133133
# power output calculation for example_farm
134134
# initialize TurbineClusterModelChain with default parameters and use
135135
# run_model method to calculate power output
@@ -141,10 +141,10 @@ class that provides all necessary steps to calculate the power output of a
141141
# own specifications for TurbineClusterModelChain setup
142142
modelchain_data = {
143143
'wake_losses_model':
144-
None, # 'dena_mean' (default) or name of another wind efficiency
145-
# curve (see
146-
# :py:func:`~.wake_losses.get_wind_efficiency_curve`) or
147-
# 'wind_farm_efficiency' or None
144+
'wind_farm_efficiency', # 'dena_mean' (default), None,
145+
# 'wind_farm_efficiency' or name
146+
# of another wind efficiency curve
147+
# see :py:func:`~.wake_losses.get_wind_efficiency_curve`
148148
'smoothing': True, # False (default) or True
149149
'block_width': 0.5, # default: 0.5
150150
'standard_deviation_method': 'Staffell_Pfenninger', #

tests/test_turbine_cluster_modelchain.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ def test_run_model(self):
7575
assert_series_equal(test_tc_mc.power_output, power_output_exp)
7676

7777
# Test constant efficiency
78-
parameters['wake_losses_model'] = 'constant_efficiency'
78+
parameters['wake_losses_model'] = 'wind_farm_efficiency'
7979
test_wind_farm = wf.WindFarm(**self.test_farm)
8080
test_wind_farm.efficiency = 0.9
8181
power_output_exp = pd.Series(data=[4420994.806920091,
@@ -138,7 +138,7 @@ def test_run_model_turbine_cluster(self):
138138
assert_series_equal(test_tc_mc.power_output, power_output_exp)
139139

140140
# Test constant efficiency
141-
parameters['wake_losses_model'] = 'constant_efficiency'
141+
parameters['wake_losses_model'] = 'wind_farm_efficiency'
142142
test_cluster = wtc.WindTurbineCluster(**self.test_cluster)
143143
for farm in test_cluster.wind_farms:
144144
farm.efficiency = 0.9

windpowerlib/turbine_cluster_modelchain.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,7 @@ def assign_power_curve(self, weather_df):
183183
'turbulence_intensity' in
184184
weather_df.columns.get_level_values(0) else None)
185185
# Assign power curve
186-
if (self.wake_losses_model == 'power_efficiency_curve' or
187-
self.wake_losses_model == 'constant_efficiency' or
186+
if (self.wake_losses_model == 'wind_farm_efficiency' or
188187
self.wake_losses_model is None):
189188
wake_losses_model_to_power_curve = self.wake_losses_model
190189
if self.wake_losses_model is None:
@@ -262,8 +261,7 @@ def run_model(self, weather_df):
262261
density_hub = (None if (self.power_output_model == 'power_curve' and
263262
self.density_correction is False)
264263
else self.density_hub(weather_df))
265-
if (self.wake_losses_model != 'power_efficiency_curve' and
266-
self.wake_losses_model != 'constant_efficiency' and
264+
if (self.wake_losses_model != 'wind_farm_efficiency' and
267265
self.wake_losses_model is not None):
268266
# Reduce wind speed with wind efficiency curve
269267
wind_speed_hub = wake_losses.reduce_wind_speed(

windpowerlib/wind_farm.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ def get_installed_power(self):
186186
wind_dict['number_of_turbines']
187187
for wind_dict in self.wind_turbine_fleet)
188188

189-
def assign_power_curve(self, wake_losses_model='power_efficiency_curve',
189+
def assign_power_curve(self, wake_losses_model='wind_farm_efficiency',
190190
smoothing=False, block_width=0.5,
191191
standard_deviation_method='turbulence_intensity',
192192
smoothing_order='wind_farm_power_curves',
@@ -207,7 +207,7 @@ def assign_power_curve(self, wake_losses_model='power_efficiency_curve',
207207
wake_losses_model : str
208208
Defines the method for taking wake losses within the farm into
209209
consideration. Options: 'wind_farm_efficiency' or None.
210-
Default: 'wind_farm_efficiency'. # todo adapt
210+
Default: 'wind_farm_efficiency'.
211211
smoothing : bool
212212
If True the power curves will be smoothed before or after the
213213
aggregation of power curves depending on `smoothing_order`.
@@ -308,8 +308,7 @@ def assign_power_curve(self, wake_losses_model='power_efficiency_curve',
308308
wind_farm_power_curve['value'],
309309
standard_deviation_method=standard_deviation_method,
310310
block_width=block_width, **kwargs)
311-
if (wake_losses_model == 'constant_efficiency' or
312-
wake_losses_model == 'power_efficiency_curve'):
311+
if wake_losses_model == 'wind_farm_efficiency':
313312
if self.efficiency is not None:
314313
wind_farm_power_curve = (
315314
power_curves.wake_losses_to_power_curve(

0 commit comments

Comments
 (0)