@@ -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