Skip to content

Latest commit

 

History

History
120 lines (109 loc) · 6.17 KB

File metadata and controls

120 lines (109 loc) · 6.17 KB

1.0.0rc4 (October 29, 2020)

This is the fourth 1.0 release candidate.

API Changes

  • Changed validation.validator.check_irradiance_day_night to :pyvalidation.validator.check_day_night. This function is now only recommended for instantaneous values. See new function :pyvalidation.validator.check_day_night_interval for non-instantaneous values. (465, 577, 579)
  • :pyvalidation.validator.check_ac_power_limits and :pyvalidation.validator.check_dc_power_limits now accept a Series of day/night bools instead of a Series of solar zenith. This allows for a more careful calculation of day/night bools for non-instantaneous intervals without complicating the AC/DC limit functions. (577, 579)
  • :pydatamodel.QualityFlagFilter has two new keyword arguments: discard_before_resample and resample_threshold_percentage that control how the filter will be applied when resampling. (556, 580)
  • New functions :pymetrics.preprocessing.filter_resample, :pymetrics.preprocessing.align, and :pymetrics.preprocessing.check_reference_forecast_consistency replace functions metrics.preprocessing.apply_validation, metrics.preprocessing.exclude, and metrics.preprocessing.resample_and_align. (556, 580)
  • Added new_index argument to :pyutils.compute_aggregate to define an index for the computed aggregate. (587)(590)
  • Added :pysolarforecastarbiter.io.reference_observations.bsrn to initialize reference data from the BSRN network (541) (604)
  • Removed preprocessing.VALIDATION_RESULT_TOTAL_STRING and preprocessing.UNDEFINED_DATA_STRING.
  • Added CRPS skill score metric :pymetrics.probabilistic.crps_skill_score (494) (605)
  • Added :pyreports.template.build_summary_stats_json, :pymetrics.calculator.calculate_summary_statistics, and :pymetrics.calculator.calculate_all_summary_statistics to support adding summary statistics to reports (355, 606)

Enhancements

  • Add :pyvalidation.validator.check_day_night_interval for determining day/night status for non-instantaneous intervals. (577, 579)
  • 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 :pydatamodel.Report object from an api response from the /reports endpoint manually. (585)
  • Add seasons to metrics category options. (552, 592)
  • Allow setting uncertainty=None on :pydatamodel.Observation to indicate an unknown uncertainty (591)
  • Update :pyio.utils.ensure_timestamps to raise a descriptive TypeError for missing arguments to the underlying function (498)(595)
  • Interval label, interval value type, and aggregate type are now validated when creating datamodel objects (213) (596)
  • Add the automatically generated constant_value_units attribute to :pydatamodel.ProbabilisticForecast and :pydatamodel.ProbabilisticForecastConstantValue (470) (598)
  • Enable downloading the forecast/observation metadata and the resampled timeseries from a HTML report (354) (601)
  • Add :pyio.api.APISession.chunk_value_requests for requesting large amounts of data. (573)(600)
  • 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. (589, 602, 607)
  • Added summary statistics for resample and aligned observations, forecasts, and reference forecasts to reports (355, 606)

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. (577, 579)
  • 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. (579)
  • Filtering on flags such as NIGHTTIME may now be applied after resampling so that interval averages are still calculated correctly. (556, 580)
  • Allow for scaling of x axis tick frequency on report metric plots to avoid crowding for date category. (578) (581)
  • Fix spacing of plot titles to avoid long names running out of container and Plotly toolbar overlap. (577) (581)
  • Dynamically calculate plot height to avoid truncating long forecast names in total metric plots. (576) (581) (582)
  • Fix GEFS file fetching for upgraded model (544) (584)
  • Fixed issue with overlapping table entries for report metric, validation, and preprocessing tables. Tables are now horizontally scrollable to avoid overlap of columns. (418) (588)
  • Fixed bug causing KeyError to be raised when computing an aggregate outside an included observation's effective_from and effective_until. (587)(590)
  • Fixed bug in process management when fetching NWP files which caused the script to hang indefinitely if a process were killed by the OS (343) (594)
  • Stop errors generated in the report process from being sent to sentry (329) (597)
  • Avoid stacking of forecasts errors in the Total plots in reports and show the full forecast name on hover (463) (599)

Contributors

  • Will Holmgren (wholmgren)
  • Leland Boeman (lboeman)
  • Cliff Hansen (cwhanse)
  • Tony Lorenzo (alorenzo175)
  • Justin Sharp (MrWindAndSolar)
  • Aidan Tuohy
  • Adam Wigington (awig)
  • David Larson (dplarson)