@@ -157,48 +157,40 @@ def wind_farm_power_curve(self, wind_farm, **kwargs):
157157 turbine_type_dict ['wind_turbine' ].power_curve )
158158 # Editions to power curve before the summation
159159 if (self .smoothing and
160- self .smoothing_order == 'turbine_power_curves' ):
160+ self .smoothing_order == 'turbine_power_curves' ):
161161 power_curve = power_curves .smooth_power_curve (
162162 power_curve ['wind_speed' ], power_curve ['power' ],
163163 standard_deviation_method = self .standard_deviation_method ,
164164 ** kwargs )
165- # Add power curves of all turbines of same type to data frame after
166- # renaming columns
167- power_curve .columns = ['wind_speed' , turbine_type_dict [
168- 'wind_turbine' ].object_name ]
165+ # Add power curves of all turbine types to data frame
166+ # (multiplied by turbine amount)
169167 df = pd .concat (
170- [df , pd .DataFrame ( # TODO: merge without renaming
168+ [df , pd .DataFrame (
171169 power_curve .set_index (['wind_speed' ]) *
172170 turbine_type_dict ['number_of_turbines' ])], axis = 1 )
173- # Rename back TODO: copy()
174- power_curve .columns = ['wind_speed' , 'power' ]
175- # Sum up power curves of all turbine types
176- summarized_power_curve = pd .DataFrame (
177- sum (df [item ].interpolate (method = 'index' ) for item in list (df )))
171+ # Sum up all power curves
172+ summarized_power_curve = pd .DataFrame ( # TODO rename to aggregated_power_curve
173+ df .interpolate (method = 'index' ).sum (axis = 1 ))
178174 summarized_power_curve .columns = ['power' ]
179175 # Return wind speed (index) to a column of the data frame
180- summarized_power_curve_df = pd .DataFrame (
181- data = [list (summarized_power_curve .index ),
182- list (
183- summarized_power_curve ['power' ].values )]).transpose ()
184- summarized_power_curve_df .columns = ['wind_speed' , 'power' ]
176+ summarized_power_curve .reset_index ('wind_speed' , inplace = True )
185177 # Editions to power curve after the summation
186178 if (self .smoothing and
187- self .smoothing_order == 'wind_farm_power_curves' ):
188- summarized_power_curve_df = power_curves .smooth_power_curve (
189- summarized_power_curve_df ['wind_speed' ],
190- summarized_power_curve_df ['power' ],
179+ self .smoothing_order == 'wind_farm_power_curves' ):
180+ summarized_power_curve = power_curves .smooth_power_curve (
181+ summarized_power_curve ['wind_speed' ],
182+ summarized_power_curve ['power' ],
191183 standard_deviation_method = self .standard_deviation_method ,
192184 ** kwargs )
193185 if (self .wake_losses_method == 'constant_efficiency' or
194- self .wake_losses_method == 'power_efficiency_curve' ):
195- summarized_power_curve_df = (
186+ self .wake_losses_method == 'power_efficiency_curve' ):
187+ summarized_power_curve = (
196188 power_curves .wake_losses_to_power_curve (
197- summarized_power_curve_df ['wind_speed' ].values ,
198- summarized_power_curve_df ['power' ].values ,
189+ summarized_power_curve ['wind_speed' ].values ,
190+ summarized_power_curve ['power' ].values ,
199191 wake_losses_method = self .wake_losses_method ,
200192 wind_farm_efficiency = self .wind_object .efficiency ))
201- return summarized_power_curve_df
193+ return summarized_power_curve
202194
203195 def turbine_cluster_power_curve (self , ** kwargs ):
204196 r"""
0 commit comments