1.0.0b5 (April 27, 2020)¶

This is the fifth 1.0 beta release.

Highlights include:

• support for event forecasts and reports
• using plotly to generate report figures
• support for normalized metrics in the reports
• an option to account for uncertainty using a deadband in reports
• support for forecast skill in reports

See below for the full list of changes.

Enhancements¶

• Report plots are now created using Plotly. Bokeh figure generation moved to solarforecastarbiter.reports.figures.bokeh_figures for users still interested in bokeh figures.(GH359)
• Report timeseries plots no longer draw lines over missing data points (GH351).
• Double clicking a forecast or observation in the legend of report timeseries plots will toggle the display of all other timeseries. (GH253)
• Clean up any PhantomJS drivers created to render SVGs (GH344) (GH349)
• Reference data updates can now proceed from the last value in the API to avoid any artificial data gaps (GH369) (GH353)
• GHI validation now includes checks on if a period is cloud-free and will be flagged with CLEARSKY (GH210) (GH382)
• All data validation now includes the generation of the NIGHTTIME flag (GH293) (GH382)
• Metrics automatically determine normalization based on Observation type. AC power observations are normalized by AC capacity; DC power by DC capacity. Normalized metrics set to nan for all other variables. (GH370) (GH379)
• Metrics 'mae', 'mbe', 'rmse', 'mape', 'nmae', 'nmbe', 'nrmse', 's' may now be calculated using a deadband. The deadband is specified as a percentage of the observations. The error forecast - observation is set to 0 within the deadband. The deadband is controlled using the solarforecastarbiter.datamodel.ForecastObservation and solarforecastarbiter.datamodel.ForecastAggregate uncertainty argument. None implies no deadband and a float sets the deadband. Additionally, for solarforecastarbiter.datamodel.ForecastObservation, the string 'observation_uncertainty' may be supplied to set the deadband equal to solarforecastarbiter.datamodel.Observation.uncertainty. (GH358, GH378)
• Reports can now report the forecast skill metric (s) when a reference forecast is provided. The metadata table of forecasts and observations now includes reference forecasts. (GH386, GH387)
• Reports now support evaluating event forecasts. (GH380) (GH361)

Bug fixes¶

• Fix using deprecated ‘M’ string for a month offset in solarforecastarbiter.io.reference_observaions.srml.fetch() (GH341) (GH342)
• Fix CLI report generation when status not set in report metadata (GH345)
• Fix bug with APISession list functions when only a single value is available. (GH367)
• Fix type errors in observation validation by ensuring all time series values from solarforecastaribter.io.api functions are coerced to float and converting to float before validation (GH252) (GH384)
• Enforce metric order consistency. (GH352) (GH396)
• Eliminate most warnings from test suite. (GH385) (GH395)
• solarforecastarbiter.metrics.deterministic.forecast_skill() now returns 0 if both forecast and reference forecast errors are 0. (GH395)
• Clarify report data validation section text and table. (GH413) (GH422)