Reference Observations


The Solar Forecast Arbiter imports reference observation data from multiple measurement networks. All of the logic for creating the appropriate Solar Forecast Arbiter sites and observations and updating observations with new data from the network can be found in the subpackage. Code for retrieving data from the network’s APIs are spread between the subpackage, and the pvlib python iotools module.

A list of these networks and their Solar Forecast Arbiter modules can be found in the Available Network Handlers section. A map of all of the sites available in the reference dataset can be found on the Solar Forecast Arbiter project website.


The subpackage contains python modules and data files in JSON and CSV format.

Data Files

  • sfa_reference_sites.csv
    The master list of reference sites. See the comment at the top of this file for descriptions of its fields. The file contains extra fields that are not found in the Solar Forecast Arbiter API schema for Sites. These fields are for use with the source network’s API and are stored in the extra_parameters field when the site is created for use in subsequent updates.
  • <network>_reference_sites.json
    Network-specific files containing site and observation metadata in the Solar Forecast Arbiter API’s JSON format. These are used when the master CSV does not contain all of the columns needed to accurately define a site or observation.


Network Handlers

Network Handlers are network specific modules that implement a handful of functions with a common interface. See for an example.

The required network handler functions are:

Available Network Handlers


[1](1, 2, 3) Requesting data from these networks requires a valid api key or other credentials for the associated API.
[2](1, 2) These APIs are not available as of the build date of this documentation.
[3]PNNL data must be located in a pnnl_data directory in your local copy of solarforecastarbiter-core or specified using the PNNL_DATA_DIR environment variable.