solarforecastarbiter.datamodel.ProbabilisticForecast

class solarforecastarbiter.datamodel.ProbabilisticForecast(axis: str, constant_values: Tuple[Union[solarforecastarbiter.datamodel.ProbabilisticForecastConstantValue, float, int], ...], name: str, issue_time_of_day: datetime.time, lead_time_to_start: pandas._libs.tslibs.timedeltas.Timedelta, interval_length: pandas._libs.tslibs.timedeltas.Timedelta, run_length: pandas._libs.tslibs.timedeltas.Timedelta, interval_label: str, interval_value_type: str, variable: str, site: Optional[solarforecastarbiter.datamodel.Site] = None, aggregate: Optional[solarforecastarbiter.datamodel.Aggregate] = None, forecast_id: str = '', provider: str = '', extra_parameters: str = '')[source]

Tracks a group of ProbabilisticForecastConstantValue objects that together describe 1 or more points of the same probability distribution.

Parameters:
  • name (str) – Name of the Forecast
  • issue_time_of_day (datetime.time) – The time of day that a forecast run is issued, e.g. 00:30. For forecast runs issued multiple times within one day (e.g. hourly), this specifies the first issue time of day. Additional issue times are uniquely determined by the first issue time and the run length & issue frequency attribute. This is assumed to be a UTC time.
  • lead_time_to_start (pandas.Timedelta) – The difference between the issue time and the start of the first forecast interval, e.g. 1 hour.
  • interval_length (pandas.Timedelta) – The length of time between consecutive data points, e.g. 5 minutes, 1 hour.
  • run_length (pandas.Timedelta) – The total length of a single issued forecast run, e.g. 1 hour. To enforce a continuous, non-overlapping sequence, this is equal to the forecast run issue frequency.
  • interval_label (str) – Indicates if a time labels the beginning or the ending of an interval average, or indicates an instantaneous value, e.g. beginning, ending, instant.
  • interval_value_type (str) – The type of the data in the forecast, e.g. mean, max, 95th percentile.
  • variable (str) – The variable in the forecast, e.g. power, GHI, DNI. Each variable is associated with a standard unit.
  • site (Site or None) – The predefined site that the forecast is for, e.g. Power Plant X.
  • aggregate (Aggregate or None) – The predefined aggregate that the forecast is for, e.g. Aggregate Y.
  • axis (str) – The axis on which the constant values of the CDF is specified. The axis can be either x (constant variable values) or y (constant percentiles).
  • constant_values (tuple of ProbabilisticForecastConstantValue or float) – The variable values or percentiles. Floats will automatically be converted to ProbabilisticForecastConstantValue objects.
  • forecast_id (str, optional) – UUID of the forecast in the API
  • provider (str, optional) – Provider of the ProbabilisticForecast information.
  • extra_parameters (str, optional) – Extra configuration parameters of forecast.
__init__(axis: str, constant_values: Tuple[Union[solarforecastarbiter.datamodel.ProbabilisticForecastConstantValue, float, int], ...], name: str, issue_time_of_day: datetime.time, lead_time_to_start: pandas._libs.tslibs.timedeltas.Timedelta, interval_length: pandas._libs.tslibs.timedeltas.Timedelta, run_length: pandas._libs.tslibs.timedeltas.Timedelta, interval_label: str, interval_value_type: str, variable: str, site: Optional[solarforecastarbiter.datamodel.Site] = None, aggregate: Optional[solarforecastarbiter.datamodel.Aggregate] = None, forecast_id: str = '', provider: str = '', extra_parameters: str = '') → None

Methods

__init__(axis, constant_values, float, int], …)
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

aggregate
extra_parameters
forecast_id
provider
site