1.0.0rc1 (July 6, 2020)

This is the first 1.0 release candidate.

API Changes


  • Support parsing of Site climate zones from the API (GH481)
  • Reapply validation to Observation data when fetched for a Report (GH376)
  • Added the ‘DAILY VALIDATION APPLIED’ quality flag to ensure daily validation is applied to all observation values (GH377) (GH484)
  • solarforecastarbiter.validation.tasks.fetch_and_validate_observation() and solarforecastarbiter.validation.tasks.fetch_and_validate_all_observations() can make use of solarforecastarbiter.api.APISession.get_observation_values_not_flagged() in order to only validate periods that have not yet had daily validation applied (GH377) (GH484)
  • Reference probabilistic forecasts provided using the Persistence Ensemble (PeEn) method. (GH195) (GH434)
  • Reports can be created for probabilistic forecasts. (GH266, GH467)
  • Added net load reference observations from the US ISOs/RTOs: CAISO, ERCOT, ISO-NE, MISO, NYISO, PJM, and SPP. (GH431) (GH485)
  • Implemented the calculation deterministic cost metrics in reports, including a constant cost factor, a time-of-day varying factor, a datetime varying factor, and a cost that depends on the magnitude of the error. (GH487) (GH501) (GH126) (GH492)
  • Allow daily persistence forecasts to start at anytime instead of restricted to midnight UTC (GH497) (GH471)
  • Added support for filling missing and numpy.nan data for forecasts. (GH423) (GH493)

Bug fixes

  • Check if a Forecast and Observation are compatible for generating a persistence forecast before creating reference persistence forecasts (GH472) (GH478)
  • When applying validation, only the ‘USER FLAGGED’ flag is preserved instead of all previous flags (GH484)
  • Drop NaN before computing histogram when applying solarforecastarbiter.validation.validator.detect_clipping() (GH484)
  • Fixed an issue where data for object pairs with forecast_type of event caused an AttributeError in the solarforecastarbiter.io.api module. (GH486, GH489)
  • Fix ambiguity in forecast issue time of day (GH497)
  • Fix data start/end for day of week net load persistence (GH497)
  • Fix issue with inability to create ProbabilisticForecast and ProbabilisticForecastConstantValue from Forecast.from_dict. (GH502, GH503)
  • Fix missing cells in validation, preprocessing, and metrics tables when an object did not contain the relevant data, and ensure correct ordering in PDF tables. (GH504, GH512, GH513)
  • Fix bug where long forecast names were cut off when used as x axis labels on total metrics plots. (GH515)