1.0.5 (September 22, 2021)


  • Added ability to limit persistence forecasts to maximum number of points by environment varable. This was motivated by timeouts caused when an observation was suddenly provided a large amount of data and we attempted to create catch up forecasts. (GH727, GH727)
  • Replace ARM GHI observation with ARM Best Estimate GHI observation. The best estimate is derived from DNI and DHI observations, GHI observations, and a rotating shadow band observation. (GH716)


  • Plane of array irradiance was not correctly calculated in calculate_poa_effective_explicit(). Function failed to project DNI into the plane of the array. Affected code includes reference forecasts for PV power plants and persistence of clear sky index for PV power plants. (GH718, GH522, GH719)
  • Added missing jinja2 and pytz dependencies. We got away with it because other dependencies pulled in these packages. (GH715, GH720)
  • Fixed incorrect time indices in CSV downloads for report timeseries for reports including multiple time intervals. Reports now provide one file per observation or forecast. (GH707, GH713, GH722)
  • Removed html line break tags from report timeseries csv headers. (GH706, GH722)
  • Handle files with a single time from ARM that cause NetCDF to crash. (GH716)
  • Handle duplicated times from ARM files by keeping only the last point. (GH716)
  • Handle duplicated times when posting reference data to API by keeping only the last point. This is known to occur in ARM and NREL MIDC data feeds. (GH716)
  • Fix season order in metrics plots. (GH725, GH729)
  • Fixed handling of quality flag resampling thresholds to exclude intervals where thresholds are matched or exceeded. A threshold of 0 indicates that intervals containing any flags should be discarded. (GH723, GH728)
  • Add missing requirements for building documentation to doc and all installation options. (GH731)