0

Helly everyone,

I would appreciate some help with a problem I am facing. I have ran a pvlib model (with importing POA data from PVGIS). I have obtained the DC power results for the system per hour for the time period of 2011-2020. These are correct. When I multiply I_mp with V_mp, I get the same value for P_mp as given by the model. I now want to determine the monthly average for the entire time period (i.e. the average for January for the entire time period 2011-2020). However, when I run the code to get the monthly average, the DC power output (P_mp) becomes incorrect. With this, I mean it does equal V_mp * I_mp anymore.

Here is the code I used to run the model and to determine the monthly averages.

modelchain.run_model_from_poa(ir_data)
dc_output = modelchain.results.dc.reset_index()   
dc_output_month = dc_output.groupby(pd.to_datetime(dc_output['time'],
                                 format='%Y-%m-%d %H:%M:%S.%f').dt.month, as_index=False).mean()

Example of the hour based data, as you can see I_mp * V_mp equals P_mp

Example of the monthly average as calculated with the code above, as you can see I_mp * V_mp does not equal P_mp anymore

EDIT: I changed all the zero values to NaN values. The results come closer. However, I_mp * V_mp does not equal P_mp completely.

  • On the face of it, I don't think this is specific to power or pvlib; isn't it just an example of the fact that `sum(a) * sum(b)` generally isn't equivalent to `sum(a*b)`? – kevinsa5 May 10 '23 at 03:25

0 Answers0