Add NOAA NWS weather fallback

This commit is contained in:
2026-05-15 23:25:00 -07:00
parent 902bc3b42b
commit 5a90d532e2
6 changed files with 307 additions and 1 deletions
+1 -1
View File
@@ -427,7 +427,7 @@ Target deliverable: A small group can join a server, spawn into one biome, gathe
- [x] Add weather replication.
- [x] Add real-world weather provider adapter for Ground Zero by latitude/longitude. Added a tile-driven Open-Meteo adapter subsystem that can request weather for any active tile by center latitude/longitude, map provider weather codes into Agrarian weather states, apply current temperature and daily low/high to `AAgrarianGameState`, and generate a source-backed tile weather manifest so future real tiles become weather-eligible automatically.
- [x] Use Open-Meteo as the first global MVP weather source. Added `Data/Weather/open_meteo_mvp_source.json` as the provider contract, documented the global tile lookup rule, and added `Scripts/verify_open_meteo_mvp_source.py` to validate the static contract plus live Open-Meteo responses for every source-backed tile in the generated weather manifest.
- [ ] Add NOAA/NWS fallback or enrichment for US tiles where useful.
- [x] Add NOAA/NWS fallback or enrichment for US tiles where useful. Added a US/NWS-eligible coordinate check, NOAA/NWS points and forecast-grid request hooks, fallback parsing for gridded temperature, precipitation probability, and wind speed, `Data/Weather/noaa_nws_us_fallback.json`, and live/static verification for source-backed US tiles.
- [ ] Cache real-weather snapshots server-side so clients never call public weather APIs directly.
- [ ] Map real weather inputs into Agrarian weather states: temperature, precipitation, wind, cloud cover, humidity, pressure, visibility, and weather code.
- [ ] Add deterministic fallback weather simulation when external weather data is unavailable.