pvlib.iotools.get_bsrn#
- pvlib.iotools.get_bsrn(station, start, end, username, password, logical_records=('0100',), save_path=None)[source]#
Retrieve ground measured irradiance data from the BSRN FTP server.
The BSRN (Baseline Surface Radiation Network) is a world wide network of high-quality solar radiation monitoring stations as described in 1. Data is retrieved from the BSRN FTP server 2.
Data is returned for the entire months between and including start and end.
- Parameters
station (
str) – 3-letter BSRN station abbreviationstart (
datetime-like) – First day of the requested periodend (
datetime-like) – Last day of the requested periodusername (
str) – username for accessing the BSRN FTP serverpassword (
str) – password for accessing the BSRN FTP serverlogical_records (
listortuple, default:(``’0100’``,)) – List of the logical records (LR) to parse. Options include: ‘0100’, ‘0300’, and ‘0500’.save_path (
strorpath-like, optional) – If specified, a directory path of where to save each monthly file.
- Returns
data (
DataFrame) – timeseries data from the BSRN archive, seepvlib.iotools.read_bsrn()for fields. An empty DataFrame is returned if no data was found for the time period.metadata (
dict) – metadata for the last available monthly file.
- Raises
KeyError – If the specified station does not exist on the FTP server.
- Warns
UserWarning – If one or more requested files are missing a UserWarning is returned with a list of the filenames missing. If no files match the specified station and timeframe a seperate UserWarning is given.
Notes
The username and password for the BSRN FTP server can be obtained for free as described in the BSRN’s Data Release Guidelines 3.
Currently only parsing of logical records 0100, 0300 and 0500 is supported. Note not all stations measure LR0300 and LR0500. However, LR0100 is mandatory as it contains the basic irradiance and auxillary measurements. See 4 for a description of the different logical records. Future updates may include parsing of additional data and metadata.
Important
While data from the BSRN is generally of high-quality, measurement data should always be quality controlled before usage!
Examples
>>> # Retrieve two months irradiance data from the Cabauw BSRN station >>> data, metadata = pvlib.iotools.get_bsrn( >>> start=pd.Timestamp(2020,1,1), end=pd.Timestamp(2020,12,1), >>> station='cab', username='yourusername', password='yourpassword')
References