pvlib.iotools.get_psm3¶
-
pvlib.iotools.
get_psm3
(latitude, longitude, api_key, email, names='tmy', interval=60, attributes='air_temperature', 'dew_point', 'dhi', 'dni', 'ghi', 'surface_albedo', 'surface_pressure', 'wind_direction', 'wind_speed', leap_day=False, full_name='pvlib python', affiliation='pvlib python', timeout=30)[source]¶ Retrieve NSRDB PSM3 timeseries weather data from the PSM3 API. The NSRDB is described in 1 and the PSM3 API is described in 2, 3, and 4.
Changed in version 0.9.0: The function now returns a tuple where the first element is a dataframe and the second element is a dictionary containing metadata. Previous versions of this function had the return values switched.
- Parameters
latitude (float or int) – in decimal degrees, between -90 and 90, north is positive
longitude (float or int) – in decimal degrees, between -180 and 180, east is positive
api_key (str) – NREL Developer Network API key
email (str) – NREL API uses this to automatically communicate messages back to the user only if necessary
names (str, default 'tmy') – PSM3 API parameter specifing year or TMY variant to download, see notes below for options
interval (int, {60, 5, 15, 30}) – interval size in minutes, must be 5, 15, 30 or 60. Only used for single-year requests (i.e., it is ignored for tmy/tgy/tdy requests).
attributes (list of str, optional) – meteorological fields to fetch. If not specified, defaults to
pvlib.iotools.psm3.ATTRIBUTES
. See references 2, 3, and 4 for lists of available fields.leap_day (boolean, default False) – include leap day in the results. Only used for single-year requests (i.e., it is ignored for tmy/tgy/tdy requests).
full_name (str, default 'pvlib python') – optional
affiliation (str, default 'pvlib python') – optional
timeout (int, default 30) – time in seconds to wait for server response before timeout
- Returns
data (pandas.DataFrame) – timeseries data from NREL PSM3
metadata (dict) – metadata from NREL PSM3 about the record, see
pvlib.iotools.parse_psm3()
for fields
- Raises
requests.HTTPError – if the request response status is not ok, then the
'errors'
field from the JSON response or any error message in the content will be raised as an exception, for example if the api_key was rejected or if the coordinates were not found in the NSRDB
Notes
The required NREL developer key, api_key, is available for free by registering at the NREL Developer Network.
Warning
The “DEMO_KEY” api_key is severely rate limited and may result in rejected requests.
The PSM3 API names parameter must be a single value from one of these lists:
Category
Allowed values
Year
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019
TMY
tmy, tmy-2016, tmy-2017, tdy-2017, tgy-2017, tmy-2018, tdy-2018, tgy-2018, tmy-2019, tdy-2019, tgy-2019
Warning
PSM3 is limited to data found in the NSRDB, please consult the references below for locations with available data. Additionally, querying data with < 30-minute resolution uses a different API endpoint with fewer available fields (see 4).
References