thermograph/tests/data
Emi Griffith b4d8d67825 Add Meteostat gust supplier for the gust-less backup sources
NASA POWER (history) and MET Norway (forecast) carry no wind gusts, but gust is
a graded metric. This adds data/meteostat.py, which finds the nearest Meteostat
station to a cell and reads its daily peak gust (wpgt) from the keyless gzipped
bulk endpoints, filling the gust column on the NASA POWER history frame. Where no
station is within ~100 km it estimates from sustained wind (wind * GUST_FACTOR).

Bulk files (station list + per-station daily) are cached on disk so steady-state
network IO is near zero, and any lookup/fetch failure degrades to pure estimation
so a history fetch never fails. A constant estimate factor makes an estimated
gust redundant with wind, so real signal comes only where a station backs it.

Activates once NASA POWER becomes the primary history source; Open-Meteo already
carries its own gusts. New history_gust / meteostat_stations metrics phases map
to the meteostat source.
2026-07-22 21:39:09 -07:00
..
test_climate.py Port e77460e Plain-language weather insight sentences (backend half) from monorepo (drift reconciliation) 2026-07-22 12:08:24 -07:00
test_climate_store.py Port e77460e Plain-language weather insight sentences (backend half) from monorepo (drift reconciliation) 2026-07-22 12:08:24 -07:00
test_grading.py Port e77460e Plain-language weather insight sentences (backend half) from monorepo (drift reconciliation) 2026-07-22 12:08:24 -07:00
test_grid.py Split the backend into domain packages (#217) 2026-07-20 05:31:03 +00:00
test_meteostat.py Add Meteostat gust supplier for the gust-less backup sources 2026-07-22 21:39:09 -07:00
test_places.py Split the backend into domain packages (#217) 2026-07-20 05:31:03 +00:00
test_scoring.py Score every metric equally in the overall total (#218) 2026-07-20 05:45:57 +00:00
test_store.py Group regression tests by domain (#215) 2026-07-20 04:50:01 +00:00