pvlib.iotools.get_pvgis_tmy

pvlib.iotools.get_pvgis_tmy(latitude, longitude, outputformat='json', usehorizon=True, userhorizon=None, startyear=None, endyear=None, url='https://re.jrc.ec.europa.eu/api/', map_variables=None, timeout=30)[source]

Get TMY data from PVGIS. For more information see the PVGIS 1 TMY tool documentation 2.

Parameters
  • latitude (float) – Latitude in degrees north

  • longitude (float) – Longitude in degrees east

  • outputformat (str, default 'json') – Must be in ['csv', 'basic', 'epw', 'json']. See PVGIS TMY tool documentation 2 for more info.

  • usehorizon (bool, default True) – include effects of horizon

  • userhorizon (list of float, default None) – optional user specified elevation of horizon in degrees, at equally spaced azimuth clockwise from north, only valid if usehorizon is true, if usehorizon is true but userhorizon is None then PVGIS will calculate the horizon 3

  • startyear (int, default None) – first year to calculate TMY

  • endyear (int, default None) – last year to calculate TMY, must be at least 10 years from first year

  • url (str, default: pvlib.iotools.pvgis.URL) – base url of PVGIS API, append tmy to get TMY endpoint

  • map_variables (bool) – When true, renames columns of the Dataframe to pvlib variable names where applicable. See variable PVGIS_VARIABLE_MAP.

  • timeout (int, default 30) – time in seconds to wait for server response before timeout

Returns

  • data (pandas.DataFrame) – the weather data

  • months_selected (list) – TMY year for each month, None for basic and EPW

  • inputs (dict) – the inputs, None for basic and EPW

  • metadata (list or dict) – file metadata, None for basic

Note

The PVGIS website uses 10 years of data to generate the TMY, whereas the API accessed by this function defaults to using all available years. This means that the TMY returned by this function may not be identical to the one generated by the website. To replicate the website requests, specify the corresponding 10 year period using startyear and endyear. Specifying endyear also avoids the TMY changing when new data becomes available.

Raises

requests.HTTPError – if the request response status is HTTP/1.1 400 BAD REQUEST, then the error message in the response will be raised as an exception, otherwise raise whatever HTTP/1.1 error occurred

See also

read_pvgis_tmy()

References

1

PVGIS

2(1,2)

PVGIS TMY tool

3

PVGIS horizon profile tool