0

I simply need an example of the yearly in plane irradiation using irradiance, given the latitude, the longitude, the tilt of the surface and the azimut, in order to automatize my process later.

I need to do this computation in order to compute Actual vs. Theoretic Production Ratio of some plants in central EU timezone.

My aim is to obtain the same number provided by the graphic user interface: Summary Section of the PVG Performance Tool, so I suppose that they provide the "typical" annual irradiation, caring about the effects of cloudy days.

Thank you very much! Any kind of help would be really appreciated.

DreamLand
  • 42
  • 8
  • Hi @DreamLand, can you give some more details? For example what part of the world you want annual insolation for; do you want "typical" annual insolation or maybe for a specific year; okay to assume it's always sunny or do you care about the effect of cloudy days; etc. Most pvlib functions operate with granular data (e.g. hourly), so probably the answer will look something like "fetch hourly irradiance data for the location from a provider, then transpose it to in-plane, then sum to annual total." But it's hard to recommend specific functions without more details about what you want. – kevinsa5 Mar 09 '21 at 00:17

1 Answers1

1

pvlib has a function for retrieving PVGIS TMY time-series, which include GHI, DNI, DHI, temperature, wind speed, and a few others for Europe and Africa.

I am currently working on a pull request for adding capabilities for retrieving PVGIS's hourly radiation and PV power output to pvlib (exactly the parameters shown in your image). You can find the code by going to the file part of the pull-request and copy it to a file on your desktop and it should work smoothly. Let me know if you need any help using it.

Adam R. Jensen
  • 617
  • 5
  • 12
  • I used `get_pvgis_hourly(lat=45.51524, lon=12.148694, angle=7, aspect=17, outputformat='csv', map_variables=True)[0]` in order to make a sum by year, but the columns are only `['poa_direct', 'poa_diffuse', 'poa_ground_diffuse', 'solar_elevation', 'temp_air', 'wind_speed', 'Int']` . Which parameter am I missing? Thank you very much. – DreamLand Mar 11 '21 at 16:16
  • @DreamLand In order to get the pvcalculations you need to include pvcalculation=True , loss=percentage_system_loss, and peakpower=nominal_pv_system_power_in_kW. I would recommend you to go through all the parameters in the function (documented as the starting string in the function). By default the tracking type is assumed to be fixed, the pv technology is crystCi and the mounting is freely mounted. E.g.: df, _, _ = get_pvgis_hourly(lat=45.51524, lon=12.148694, angle=7, aspect=17, outputformat='csv', map_variables=True, pvcalculation=True, peakpower=2, loss=1) – Adam R. Jensen Mar 11 '21 at 18:39
  • `df, _, _ = get_pvgis_hourly(lat=45.51524, lon=12.148694, angle=7.0, aspect=17.0, peakpower=1.0, loss=14.0, outputformat='csv', map_variables=True, pvcalculation=True, components=True)` . I run this cell on colab but still no chance to see the irradiation any element of the tuple: feels like I'm missing something quite stupid. – DreamLand Mar 11 '21 at 21:56
  • @dreamland If you're looking for the total in plane irradiance, then it is simply the sum of the inplane direct, inplane diffuse and inplane reflected. If you set components=False them you only get the total in plane irradiance and not the individual components. – Adam R. Jensen Mar 13 '21 at 00:14
  • inplane direct, diffuse and reflected are missing from the dataframe even with components= True, that's why I'm bothering. – DreamLand Mar 14 '21 at 16:45
  • @DreamLand In your first comment you mention that you got ['poa_direct', 'poa_diffuse', 'poa_ground_diffuse']. POA stands for plane-of-array, meaning the in-plane irradiance. poa_direct=in-plane direct irradiance, poa_diffuse=in-plane diffuse irradiance, and poa_ground_diffuse=reflected in-plane irradiance. – Adam R. Jensen Mar 23 '21 at 16:11