Changelog¶
All notable changes to this project are documented here. The format follows Keep a Changelog and the project uses Semantic Versioning.
[Unreleased]¶
[0.2.0] - 2026-11-05¶
Released before the first live run. On 2026-11-05
live.ymlpassed against the real EWDS, including the ensemble file. The control run is unchanged from 0.1.
Added¶
- Live contract tests (
tests/test_live.py, markerlive,GLOFAS_EWDS_LIVE=1and an EWDS key): the cell one step east, the same numbers as Open-Meteo'sconsolidated_v4, the history latency and the intermediate fallback, the shape of the forecast file, the FWI names. Weekly in CI (live.yml); a failure opens an issue, and with anANTHROPIC_API_KEYsecret Claude adds a diagnosis from the log. - README trap 11: Open-Meteo's history after 2024 is its forecast archive, not the reanalysis.
- The ensemble:
forecast_request(product=ENSEMBLE),download_ensemble,EwdsClient.ensemble,ensemble_members(member, lead time) per node, and the pureexceedance_probability/exceedance_by_lead. - Return levels from a node's own reanalysis:
discharge_by_day,annual_maxima,gumbel_fit(L-moments),return_level,return_levels. Not the official GloFAS thresholds, which the EWDS does not serve.
Changed¶
- Forecast files are read by the names of their dimensions (member, lead
time, run, latitude, longitude), so the control run and the ensemble share
one reader; a 4-D file with unknown names is read as before, by position,
and anything else raises
GlofasEwdsErrornaming its dimensions.forecast_peakson an ensemble file is the peak over all members.
[0.1.0] - 2026-11-04¶
Added¶
open_meteo_cellanddeclared_cell: the GloFAS 4 cell Open-Meteo serves for a point (float32, rounded away from zero, one step east of the one it declares), andcell_indicesto find it in a file.- Request builders for the EWDS:
historical_request(GloFAS 4, consolidated or intermediate),forecast_request(00 UTC control run),fire_request(cems-fire-historical-v1),months,candidate_runs. - Re-runnable downloads with any
retrieveclient:download_history,download_forecast,download_fire(intermediate only on "not a valid combination";.partthen rename), and the asyncEwdsClient. - NetCDF readers (extra
netcdf):discharge_series,forecast_peaks,fire_values(FWI components bylong_name). percentile,references,discharge_ratio.- Extracted from Limen; parity on 36,637 points and on every request.