Skip to content

Commit e8d46ce

Browse files
committed
Eliminate Warning. Set smoothed value to zero for std. dev. of zero
1 parent 9e5942d commit e8d46ce

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

windpowerlib/power_curves.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -142,17 +142,21 @@ def smooth_power_curve(power_curve_wind_speeds, power_curve_values,
142142
if standard_deviation_method is 'Staffell_Pfenninger'
143143
else power_curve_wind_speed * normalized_standard_deviation)
144144
# Get the smoothed value of the power output
145-
smoothed_value = sum(
146-
block_width * np.interp(wind_speed, power_curve_wind_speeds,
147-
power_curve_values, left=0, right=0) *
148-
tools.gauss_distribution(
149-
power_curve_wind_speed - wind_speed,
150-
standard_deviation, mean_gauss)
151-
for wind_speed in wind_speeds_block)
145+
if standard_deviation == 0.0:
146+
# The gaussian distribution is not defined for a standard deviation
147+
# of zero. Smoothed power curve value is set to zero.
148+
smoothed_value = 0.0
149+
else:
150+
smoothed_value = sum(
151+
block_width * np.interp(wind_speed, power_curve_wind_speeds,
152+
power_curve_values, left=0, right=0) *
153+
tools.gauss_distribution(
154+
power_curve_wind_speed - wind_speed,
155+
standard_deviation, mean_gauss)
156+
for wind_speed in wind_speeds_block)
152157
# Add value to list - add zero if `smoothed_value` is nan as Gauss
153158
# distribution for a standard deviation of zero.
154-
smoothed_power_curve_values.append(0 if np.isnan(smoothed_value)
155-
else smoothed_value)
159+
smoothed_power_curve_values.append(smoothed_value)
156160
# Create smoothed power curve data frame
157161
smoothed_power_curve_df = pd.DataFrame(
158162
data=[list(power_curve_wind_speeds.values),

0 commit comments

Comments
 (0)