SURFRAD

SURFRAD#

The SURFRAD network was established in 1993 and is operated by the National Oceanic and Atmospheric Administration (NOAA). The network features six active and two inactive stations in the contiguous United States. The stations are all Tier 1 stations and measurements are generally of a very high quality due to rigorous maintenance procedures and frequent inspection of data.

The reader is referred to Augustine et al. (2000) and Augustine et al. (2005) for background information on the SURFRAD network.

Station name Abbreviation State Country Latitude Longitude Elevation Time period Network Owner Comment Data availability Instrumentation
Loading ITables v2.2.2 from the init_notebook_mode cell... (need help?)
Make this Notebook Trusted to load map: File -> Trust Notebook

Data retrieval#

Measurements from the SURFRAD stations are stored in daily ASCII text files and can be freely downloaded from the SURFRAD FTP server. Since January 1st, 2009, data has been logged as 1-minute averages. Prior to this, the data was stored as 3-minute averages.

Individual data files can be downloaded and parsed conveniently using the pvlib-python iotools module using the function pvlib.iotools.read_surfrad. Note, there is not yet a function to retrieve multiple SURFRAD files given a station and a date range. If you use pvlib iotools for published work, please cite Jensen et al. (2023) which provides additional background information. The use of the function is shown below, demonstrating how to retrieve five days of data:

import pvlib

filename = 'https://gml.noaa.gov/aftp/data/radiation/surfrad/bon/2020/bon20115.dat'

data, meta = pvlib.iotools.read_surfrad(filename)

# show a subset of the data
show(data.iloc[:, 7:], dom="tpr")
Hide code cell output
solar_zenith ghi ghi_flag uw_solar uw_solar_flag dni dni_flag dhi dhi_flag dw_ir dw_ir_flag dw_casetemp dw_casetemp_flag dw_dometemp dw_dometemp_flag uw_ir uw_ir_flag uw_casetemp uw_casetemp_flag uw_dometemp uw_dometemp_flag uvb uvb_flag par par_flag netsolar netsolar_flag netir netir_flag totalnet totalnet_flag temp_air temp_air_flag relative_humidity relative_humidity_flag wind_speed wind_speed_flag wind_direction wind_direction_flag pressure pressure_flag
Loading ITables v2.2.2 from the init_notebook_mode cell... (need help?)
Hide code cell source
columns = ['ghi', 'dhi', 'dni']
axes = data[columns].plot(
    subplots=True, legend=False, rot=0, figsize=(6, 6), sharex=True)

# Set y-labels and y-limits
for ax, column in zip(axes, columns):
    ax.set_ylabel(f"{column.upper()} [W/m$^2$]")
    ax.set_ylim(-10, 1400)
_images/b17f93260191c57e3657485b03fb5f196a70ac4e1e0d9e8212455ecf35da3504.png

References#

  • Adam R. Jensen, Kevin S. Anderson, William F. Holmgren, Mark A. Mikofski, Clifford W. Hansen, Leland J. Boeman, and Roel Loonen. Pvlib iotools—open-source python functions for seamless access to solar irradiance data. Solar Energy, 266:112092, 2023. doi: 10.1016/j.solener.2023.112092.

  • J. A. Augustine, J. J. DeLuisi, and C. N. Long. SURFRAD — A national surface radiation budget network for atmospheric research. Bulletin of the American Meteorological Society, 81:2341–2357, 2000. doi: 10.1175/1520-0477(2000)081<2341:SANSRB>2.3.CO;2.

  • J. A. Augustine, G. B. Hodges, C. R. Cornwall, J. J. Michalsky, and C. I. Medina. An update on SURFRAD — the GCOS surface radiation budget network for the continental United States. Journal of Atmospheric and Oceanic Technology, 22:1460–1472, 2005. doi: 10.1175/JTECH1806.1