1.0.0rc4 (October 29, 2020)

This is the fourth 1.0 release candidate.

API Changes

Enhancements

  • Add validation.validator.check_day_night_interval() for determining day/night status for non-instantaneous intervals. (GH577, GH579)
  • Allow users to render reports without full access to the time series data of the report’s forecasts and observations. Users with limited permissions on a report may need to instantiate a datamodel.Report object from an api response from the /reports endpoint manually. (GH585)
  • Add seasons to metrics category options. (GH552, GH592)
  • Allow setting uncertainty=None on datamodel.Observation to indicate an unknown uncertainty (GH591)
  • Update io.utils.ensure_timestamps() to raise a descriptive TypeError for missing arguments to the underlying function (GH498)(GH595)
  • Interval label, interval value type, and aggregate type are now validated when creating datamodel objects (GH213) (GH596)
  • Add the automatically generated constant_value_units attribute to datamodel.ProbabilisticForecast and datamodel.ProbabilisticForecastConstantValue (GH470) (GH598)
  • Enable downloading the forecast/observation metadata and the resampled timeseries from a HTML report (GH354) (GH601)
  • Add io.api.APISession.chunk_value_requests() for requesting large amounts of data. (GH573)(GH600)
  • Restructured and rewrote report data preprocessing text to account for new filter/resample pattern and clarify the processes. Added a table that summarizes the filter combinations applied in the report. (GH589, GH602, GH607)
  • Added summary statistics for resample and aligned observations, forecasts, and reference forecasts to reports (GH355, GH606)

Bug fixes

  • Night time validation flag for non-instantaneous data is now calculated based on the percentage of night time points in the interval, rather than the night time flag at the interval label. (GH577, GH579)
  • Irradiance limit flags and clear sky exceeded flag for non-instantaneous data now use average solar position over the interval, rather than the solar position at the interval label. (GH579)
  • Filtering on flags such as NIGHTTIME may now be applied after resampling so that interval averages are still calculated correctly. (GH556, GH580)
  • Allow for scaling of x axis tick frequency on report metric plots to avoid crowding for date category. (GH578) (GH581)
  • Fix spacing of plot titles to avoid long names running out of container and Plotly toolbar overlap. (GH577) (GH581)
  • Dynamically calculate plot height to avoid truncating long forecast names in total metric plots. (GH576) (GH581) (GH582)
  • Fix GEFS file fetching for upgraded model (GH544) (GH584)
  • Fixed issue with overlapping table entries for report metric, validation, and preprocessing tables. Tables are now horizontally scrollable to avoid overlap of columns. (GH418) (GH588)
  • Fixed bug causing KeyError to be raised when computing an aggregate outside an included observation’s effective_from and effective_until. (GH587)(GH590)
  • Fixed bug in process management when fetching NWP files which caused the script to hang indefinitely if a process were killed by the OS (GH343) (GH594)
  • Stop errors generated in the report process from being sent to sentry (GH329) (GH597)
  • Avoid stacking of forecasts errors in the Total plots in reports and show the full forecast name on hover (GH463) (GH599)

Contributors