Baseline Surface Radiation Network (BSRN)#

The Baseline Surface Radiation Network (BSRN) is a global network of high-quality solar radiation monitoring stations under the World Climate Research Programme (WCRP) [].

According to the World Radiation Monitoring Center (WRMC):

The data [from the BSRN stations] are of primary importance in supporting the validation and confirmation of satellite and computer model estimates of these quantities. At a small number of stations (currently 74 in total, 58 active) in contrasting climatic zones, covering a latitude range from 80°N to 90°S, solar and atmospheric radiation is measured with instruments of the highest available accuracy and with high time resolution.

All BSRN stations are required to meet the basic station requirements. A list of activate, inactive, and candidate BSRN stations can be retrieved from the SolarStations station listing and are shown below.

Hide code cell content
import pandas as pd

stations = pd.read_csv('solarstations.csv', sep=';', encoding='latin1')
stations = stations[stations['Network'].str.contains('BSRN')]
stations['Time period'] = stations['Time period'].astype(str).replace('nan','')
Station full name Abbreviation State Country Latitude Longitude Elevation Time period Network Unnamed: 9 Comment URL Tier 2 Instrument
0 Abashiri ABS NaN Japan 44.0178 144.2797 38.0 2021- BSRN NaN Candidate station (no. 86) NaN 1 Thermopile
1 Alert ALE Lincoln Sea Canada 82.4900 -62.4200 127.0 2004-2014 BSRN NaN NaN NaN 1 Thermopile
2 Alice Springs ASP Northern Territory Australia -23.7980 133.8880 547.0 1995- BSRN NaN NaN NaN 1 Thermopile
3 Barrow BAR Alaska USA 71.3230 -156.6070 8.0 1992- BSRN NaN NaN 1 Thermopile
4 Bermuda BER Bermuda USA 32.2670 -64.6670 8.0 1992-2013, 2016- BSRN NaN NaN NaN 1 Thermopile
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
74 Tiruvallur TIR NaN India 13.0923 79.9738 36.0 2014- BSRN NaN NaN NaN 1 Thermopile
75 Terra Nova Bay TNB NaN Antarctica -74.6223 164.2283 28.0 BSRN NaN Candidate Station (no. 89) 1 Thermopile
76 Toravere TOR NaN Estonia 58.2540 26.4620 70.0 1999- BSRN NaN NaN NaN 1 Thermopile
77 Xianghe XIA NaN China 39.7540 116.9620 32.0 2005-2016 BSRN NaN Station obstructed, no longer in BSRN since 2016 NaN 1 Thermopile
78 Yushan Station YUS NaN Taiwan 23.4876 120.9595 3858.0 2018- BSRN NaN NaN NaN 1 Thermopile

79 rows × 14 columns

Make this Notebook Trusted to load map: File -> Trust Notebook

Station requirements#

As a mimimum a BSRN station is required to measure global horizontal irradiance (GHI), direct normal irradiance (DNI), diffuse horizontal irradiance (DHI),

Additional metadata may be found at the BSRN website and in the individual data files (e.g., horizon profile).


Unlike the majority of solar radiation monitoring networks, the BSRN website does not have a subpage for each station (with photos, etc.). This would have been very useful when assessing the usage of the station, for example in regards to the potential impact of nearby structures, etc. Note a few photos of the BSRN stations can be found here. There station log books are also not available. It should also be noted that the files on the FTP server do not include wind speed and direction.

Data retrieval#

Data from the BSRN stations is stored in monthly files for each station and can be freely downloaded either via FTP or Pangea. Credentials for accessing the BSRN FTP server can be obtained as described in the data release guidelines.

Data release guidelines

Please read the BSRN data release guidelines before using any data and make sure to properly cite the BSRN.


WRMC highly recommends that all users do their own quality checks of the data after extracting BSRN-data!

The data can also be downloaded programmatically using the pvlib-python library, specifically the get_bsrn function. An example of how to use pvlib to download two months of data from the Cabauw (CAB) station is shown below:

import pvlib

df, meta = pvlib.iotools.get_bsrn(
    station='CAB',  # three letter code for the Cabauw station
    username=bsrn_username,  # replace with your own username
    password=bsrn_password,  # replace with your own password


For a description of the input parameters, see the pvlib documentation.

Retrieving BSRN data in R

R users can find similar functionality in the SolarData R package.

The data retrieved from all BSRN stations includes measurements of the three irradiance components, as well as longwave downwelling irradiance, temperature humidity, etc.

A few of the parameters in the datasets for the month of data are visualized below.

Hide code cell source
axes = df[['ghi','dni','dhi','lwd','temp_air']].plot(
    subplots=True, legend=False, rot=0, figsize=(8,8), sharex=True)

# Set y-labels and y-limits
axes[0].set_ylabel('GHI [W/m$^2$]'), axes[0].set_ylim(-10,1300)
axes[1].set_ylabel('DNI [W/m$^2$]'), axes[1].set_ylim(-10,1300)
axes[2].set_ylabel('DHI [W/m$^2$]'), axes[2].set_ylim(-10,1300)
axes[3].set_ylabel('LWD [W/m$^2$]'), axes[4].set_ylim(200,500)
_ = axes[4].set_ylabel('Temperature [°]'), axes[4].set_ylim(0,40)

Notice how that they are multiple periods where there is gaps in the irradiance data.