solarforecastarbiter.datamodel

Data classes and acceptable variables as defined by the SolarForecastArbiter Data Model document. Python 3.7 is required.

Classes

Aggregate(name, description, variable, …) Class for keeping track of Aggregate metadata.
AggregateObservation(observation, …) Class for keeping track of an Observation and when it is added and (optionally) removed from an Aggregate.
BaseFilter() Base class for filters to be applied in a report.
BaseModel
BokehReportFigure(name, div, svg, …) A class for storing metric plots for a report with associated metadata.
ConstantCost(cost, aggregation, net) A constant cost per unit error of the forecasted variable
Cost(name, type, parameters, …) Specify how cost metrics should be calculated.
CostBand(error_range, float], cost_function, …) Cost specification for one error band
DatetimeCost(datetimes, …], cost, …], …) Cost values based on datetimes.
ErrorBandCost(bands, …]) Cost that varies based on the error value.
EventForecast(name, issue_time_of_day, …) Extends Forecast dataclass to include event forecast attributes.
FixedTiltModelingParameters(ac_capacity, …) A class based on PVModelingParameters that has additional parameters for fixed tilt PV systems.
Forecast(name, issue_time_of_day, …) A class to hold metadata for Forecast objects.
ForecastAggregate(forecast, aggregate, …) Class for pairing Forecast and Aggregate objects for evaluation.
ForecastObservation(forecast, observation, …) Class for pairing Forecast and Observation objects for evaluation.
MetricResult(name, forecast_id, values, …) Class for storing the results of many metric calculations for a single observation and forecast pair.
MetricValue(category, metric, index, value) Class for storing the result of a single metric calculation.
Observation(name, variable, …) A class for keeping track of metadata associated with an observation.
PVModelingParameters(ac_capacity, …) Class for keeping track of generic PV modeling parameters
PlotlyReportFigure(name, spec, figure_type, …) A class for storing metric plots for a report with associated metadata.
PreprocessingResult(name, count) Stores summary information to record preprocessing results that detail how data has been handled.
ProbabilisticForecast(axis, constant_values, …) Tracks a group of ProbabilisticForecastConstantValue objects that together describe 1 or more points of the same probability distribution.
ProbabilisticForecastConstantValue(axis, …) Extends Forecast dataclass to include probabilistic forecast attributes.
ProcessedForecastObservation(name, original, …) Hold the processed forecast and observation data with the resampling parameters.
QualityFlagFilter(quality_flags, …] = (, , …) Class representing quality flag filters to be applied in a report.
RawReport(generated_at, timezone, versions, …) Class for holding the result of processing a report request including some metadata, the calculated metrics, plots, the processed forecast/observation data, and messages from report generation.
RawReportPlots(figures, …], …) Class for storing collection of all metric plots on a raw report.
Report(report_parameters, raw_report, …) Class for keeping track of report metadata and the raw report that can later be rendered to HTML or PDF.
ReportFigure() Parent class for different types of Report Figures
ReportMessage(message, step, level, function) Class for intercepting errors and warnings associated with report processing.
ReportParameters(name, start, end, …) Parameters required to define and generate a Report.
SingleAxisModelingParameters(ac_capacity, …) A class based on PVModelingParameters that has additional parameters for single axis tracking systems.
Site(name, latitude, longitude, elevation, …) Class for keeping track of Site metadata.
SolarPowerPlant(name, latitude, longitude, …) Class for keeping track of metadata associated with solar power plant Sites.
TimeOfDayCost(times, …], cost, …], …) Cost values based on the time of day.
TimeOfDayFilter(time_of_day_range, …) Class representing a time of day filter to be applied in a report.
ValidationResult(flag, count) Stores the validation result for a single flag for a forecast and observation pair.
ValueFilter(metadata, …) Class representing an observation or forecast value filter to be applied in a report.