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) [DAB+18]. The procedures of the BSRN are described in great detail in the BSRN Operations Manual Version 2.1.

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 active, inactive, and candidate BSRN stations can be retrieved from the SolarStations station listing and are shown on the map below.

Station full name Abbreviation State Country Latitude Longitude Elevation Time period Network Owner Comment Data availability Tier Instrument Components
Loading... (need help?)
Make this Notebook Trusted to load map: File -> Trust Notebook

Station requirements#

As a minimum, BSRN stations are required to measure global horizontal irradiance (GHI), direct normal irradiance (DNI), and diffuse horizontal irradiance (DHI).

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


Unlike most 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. The station logbooks are also not available.

It should be noted that many of the BSRN stations are also part of national station networks. For example, the Southern Great Plains and the Eastern North Atlantic sites are part of the ARM program under the US Department of Energy. Similarly, all of the stations in the SURFRAD network all part of the BSRN.

Data retrieval#

Data from the BSRN stations are stored in monthly files for each station and can be freely downloaded either via FTP or from the Pangea data portal. The data on the FTP server is identical to the data on Pangea. Credentials for accessing the BSRN FTP server can be obtained as described in the data release guidelines. All of the files on the FTP server are in the rather archaic station-to-archive file format, which is described in the Update of the Technical Plan for BSRN data management.

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 station-to-archive files can be parsed and downloaded 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

show(df.head(), scrollX=True, scrollCollapse=True, paging=False, maxColumns=100, dom="tpr")
ghi ghi_std ghi_min ghi_max dni dni_std dni_min dni_max dhi dhi_std dhi_min dhi_max lwd lwd_std lwd_min lwd_max temp_air relative_humidity pressure
Loading... (need help?)

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

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

A few of the parameters in the retrieved dataset are visualized below:

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 there are multiple periods where there is gaps in the irradiance data.



A. Driemel, J. Augustine, K. Behrens, S. Colle, C. Cox, E. Cuevas-Agulló, F. M. Denn, T. Duprat, M. Fukuda, H. Grobe, M. Haeffelin, G. Hodges, N. Hyett, O. Ijima, A. Kallis, W. Knap, V. Kustov, C. N. Long, D. Longenecker, A. Lupi, M. Maturilli, M. Mimouni, L. Ntsangwane, H. Ogihara, X. Olano, M. Olefs, M. Omori, L. Passamani, E. B. Pereira, H. Schmithüsen, S. Schumacher, R. Sieger, J. Tamlyn, R. Vogt, L. Vuilleumier, X. Xia, A. Ohmura, and G. König-Langlo. Baseline surface radiation network (BSRN): structure and data description (1992–2017). Earth System Science Data, 10(3):1491–1501, 2018. doi:10.5194/essd-10-1491-2018.