solarforecastarbiter.datamodel.Site

class solarforecastarbiter.datamodel.Site(name: str, latitude: float, longitude: float, elevation: float, timezone: str, site_id: str = '', provider: str = '', extra_parameters: str = '', climate_zones: Tuple[str, ...] = ())[source]

Class for keeping track of Site metadata.

Parameters:
  • name (str) – Name of the Site, e.g. Desert Rock
  • latitude (float) – Latitude of the Site in decimal degrees north of the equator, e.g. 36.62373
  • longitude (float) – Longitude of the Site in decimal degrees east of the prime meridian, e.g. -116.01947
  • elevation (float) – Elevation of the Site in meters above mean sea level, e.g. 1007
  • timezone (str) – IANA timezone of the Site, e.g. Etc/GMT+8
  • site_id (str, optional) – UUID of the Site in the API
  • provider (str, optional) – Provider of the Site information.
  • extra_parameters (str, optional) – The extra parameters may be used by forecasters when implementing other PV models. The framework does not provide a standard set of extra parameters or require a particular format – these are up to the site owner.
  • climate_zones (tuple of str, optional) – The climate zones that the site is within
__init__(name: str, latitude: float, longitude: float, elevation: float, timezone: str, site_id: str = '', provider: str = '', extra_parameters: str = '', climate_zones: Tuple[str, ...] = ()) → None

Methods

__init__(name, latitude, longitude, …)
from_dict(input_dict[, raise_on_extra]) Construct a dataclass from the given dict, matching keys with the class fields.
replace(**kwargs) Convience wrapper for dataclasses.replace() to create a new dataclasses from the old with the given keys replaced.
to_dict() Convert the dataclass into a dictionary suitable for uploading to the API.

Attributes

climate_zones
extra_parameters
provider
site_id