Skip to content

Commit d9b602d

Browse files
committed
Sort power (coefficient) curves by wind speed and columns by ['wind_speed', 'value']
1 parent 6a0da43 commit d9b602d

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

windpowerlib/wind_farm.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -361,14 +361,14 @@ def assign_power_curve(self, wake_losses_model='wind_farm_efficiency',
361361
if power_curve.iloc[0]['wind_speed'] != 0.0:
362362
power_curve = pd.concat(
363363
[pd.DataFrame(data={
364-
'value': [0.0], 'wind_speed': [0.0]}),
364+
'wind_speed': [0.0], 'value': [0.0]}),
365365
power_curve])
366366
if power_curve.iloc[-1]['value'] != 0.0:
367367
power_curve = pd.concat(
368368
[power_curve, pd.DataFrame(data={
369-
'value': [0.0], 'wind_speed': [
370-
power_curve['wind_speed'].loc[
371-
power_curve.index[-1]] + 0.5]})])
369+
'wind_speed': [power_curve['wind_speed'].loc[
370+
power_curve.index[-1]] + 0.5],
371+
'value': [0.0]})])
372372
# Add power curves of all turbine types to data frame
373373
# (multiplied by turbine amount)
374374
df = pd.concat(

windpowerlib/wind_turbine.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,16 @@ def __init__(self, hub_height, nominal_power=None, path='oedb',
172172
" Check if the turbine type {0} is in your database file"
173173
" or if you passed a valid curve.")
174174
warnings.warn(msg.format(turbine_type), WindpowerlibUserWarning)
175+
else:
176+
# sort power (coefficient) curve by wind speed and bring columns in
177+
# order: 1) 'wind_speed' 2) 'value'
178+
if isinstance(self.power_curve, pd.DataFrame):
179+
self.power_curve.sort_values(by='wind_speed')
180+
self.power_curve = self.power_curve[['wind_speed', 'value']]
181+
if isinstance(self.power_coefficient_curve, pd.DataFrame):
182+
self.power_coefficient_curve.sort_values(by='wind_speed')
183+
self.power_coefficient_curve = self.power_coefficient_curve[[
184+
'wind_speed', 'value']]
175185

176186
def __repr__(self):
177187
info = []

0 commit comments

Comments
 (0)