pvlib.iotools.read_bsrn(filename, logical_records='0100')[source]

Read a BSRN station-to-archive file into a DataFrame.

The BSRN (Baseline Surface Radiation Network) is a world wide network of high-quality solar radiation monitoring stations as described in 1. The function is able to parse logical records (LR) 0100, 0300, and 0500. LR0100 contains the basic measurements, which include global, diffuse, and direct irradiance, as well as downwelling long-wave radiation 2. Future updates may include parsing of additional data and metadata.

BSRN files are freely available and can be accessed via FTP 3. The username and password for the BSRN FTP server can be obtained for free as described in the BSRN’s Data Release Guidelines 3.

Parameters
• filename (str or path-like) – Name or path of a BSRN station-to-archive data file

• logical_records (list or tuple, default: ('0100',)) – List of the logical records (LR) to parse. Options include: ‘0100’, ‘0300’, and ‘0500’.

Returns

• data (DataFrame) – A DataFrame with the columns as described below. For a more extensive description of the variables, consult 2. An empty DataFrame is returned if the specified logical records were not found.

Notes

The data DataFrame for LR0100 includes the following fields:

Key

Format

Description

Logical record 0100

ghi†

float

dni†

float

dhi†

float

lwd†

float

temp_air

float

Air temperature [°C]

relative_humidity

float

Relative humidity [%]

pressure

float

Atmospheric pressure [hPa]

Logical record 0300

gri†

float

lwu†

float

float

Logical record 0500

uva_global†

float

uvb_direct†

float

uvb_global†

float

uvb_diffuse†

float

uvb_reflected†

float

† Marked variables have corresponding columns for the standard deviation (_std), minimum (_min), and maximum (_max) calculated from the 60 samples that are average into each 1-minute measurement.

Hint

According to 2 “All time labels in the station-to-archive files denote the start of a time interval.” This corresponds to left bin edge labeling.

References

1