@@ -247,8 +247,12 @@ def power_curve_density_correction(
247247 else :
248248 panda_series = False
249249
250- power_output = _get_power_output (wind_speed , power_curve_wind_speeds .to_numpy (
251- ), density .to_numpy (), power_curve_values .to_numpy ())
250+ power_output = _get_power_output (
251+ wind_speed ,
252+ power_curve_wind_speeds .to_numpy (),
253+ density .to_numpy (),
254+ power_curve_values .to_numpy (),
255+ )
252256
253257 # Convert results to the data type of the input data
254258 if panda_series :
@@ -261,8 +265,10 @@ def power_curve_density_correction(
261265 return power_output
262266
263267
264- def _get_power_output (wind_speed , power_curve_wind_speeds , density , power_curve_values ):
265- """ Get the power output at each timestep using only numpy to speed up performance
268+ def _get_power_output (
269+ wind_speed , power_curve_wind_speeds , density , power_curve_values
270+ ):
271+ """Get the power output at each timestep using only numpy to speed up performance
266272 Parameters
267273 ----------
268274 wind_speed : :pandas:`pandas.Series<series>` or numpy.array
@@ -283,19 +289,15 @@ def _get_power_output(wind_speed, power_curve_wind_speeds, density, power_curve_
283289
284290 power_output = np .empty (len (wind_speed ), dtype = np .float )
285291 for i in range (len (wind_speed )):
286- power_output [i ] = (
287- np .interp (
288- wind_speed [i ],
289- power_curve_wind_speeds
290- * (1.225 / density [i ])
291- ** (
292- np .interp (
293- power_curve_wind_speeds , [7.5 , 12.5 ], [1 / 3 , 2 / 3 ]
294- )
295- ),
296- power_curve_values ,
297- left = 0 ,
298- right = 0 ,
299- )
292+ power_output [i ] = np .interp (
293+ wind_speed [i ],
294+ power_curve_wind_speeds
295+ * (1.225 / density [i ])
296+ ** (
297+ np .interp (power_curve_wind_speeds , [7.5 , 12.5 ], [1 / 3 , 2 / 3 ])
298+ ),
299+ power_curve_values ,
300+ left = 0 ,
301+ right = 0 ,
300302 )
301303 return power_output
0 commit comments