nickponline
nickponline

Reputation: 25914

How do I calculate solar irradiance of 1 m^2 flat square at a latitude and longitude?

Is it possible using Python libraries like pysolar, pvlib or similarly to calculate the

Upvotes: 1

Views: 908

Answers (1)

Adam R. Jensen
Adam R. Jensen

Reputation: 636

If you do not already have irradiance data I would recommend either using data from PVGIS or NREL's NSRDB PSM3 (Americas).

In either case, I would suggest you first get familiar with the service through the web application. This should give you a good idea of the geographical coverage and the available parameters and settings.

Then, you can use the corresponding pvlib function to programmatically retrieve data. The function to retrieve PVGIS hourly data is: pvlib.iotools.get_pvgis_hourly().

A short example of how to retrieve irradiance data from PVGIS is shown below:

import pvlib
import pandas as pd

data, inputs, meta = pvlib.iotools.get_pvgis_hourly(
    latitude=55.7905, # North is positive
    longitude=12.5250, # East is positive
    start=pd.Timestamp('2020-01-01'), # First available year is 2005
    end=pd.Timestamp('2020-12-31'), # Last available year is 2020 (depends on database)
    raddatabase='PVGIS-SARAH2',
    surface_tilt=5, # surface tilt angle
    surface_azimuth=0, # 0 degrees corresponds to south
    components=True, # Whether you want the individual components or just the total
    url='https://re.jrc.ec.europa.eu/api/v5_2/', # URL for version 5.2
    )

data[['poa_direct','poa_sky_diffuse','poa_ground_diffuse']].plot(
    figsize=(6,4), subplots=True, sharex=True)

enter image description here

Upvotes: 2

Related Questions