# 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, …] = (, , …) 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. TimePeriod(start, end) Class for storing a generic time period. ValidationResult(flag, count, before_resample) Store the validation result for a flag or combination of flags. ValueFilter(metadata, …) Class representing an observation or forecast value filter to be applied in a report.