From e6558b64d38b5600dace540dcd134656651d7572 Mon Sep 17 00:00:00 2001 From: rene Date: Sat, 6 Jun 2026 18:13:30 +0200 Subject: [PATCH] DWD-Plan: Umsetzungsstand dokumentiert (Staging v1240, Cron + Geraetetest offen) --- docs/DWD_RAIN_FORECAST_PLAN.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/docs/DWD_RAIN_FORECAST_PLAN.md b/docs/DWD_RAIN_FORECAST_PLAN.md index 4c84e5d..55b29dd 100644 --- a/docs/DWD_RAIN_FORECAST_PLAN.md +++ b/docs/DWD_RAIN_FORECAST_PLAN.md @@ -1,6 +1,28 @@ # DWD Regen-Vorhersage (Radar-Nowcast) — Scoping-Plan -**Status:** gescoppt + Datenformat verifiziert (2026-06-05). Umsetzung offen. +**Status:** UMGESETZT auf Staging (v1240, 2026-06-08) — PoC bestanden, Pipeline + Frontend live. +**Offen:** DSM-Aufgabenplaner-Cron (alle 5 Min, Staging + Prod) anlegen; Gerätetest; Prod-Deploy. + +## Umsetzung (2026-06-08) +- **PoC Georeferenzierung BESTANDEN** (`tools/dwd-radar/poc/`): DE1200 = polar-stereografisch auf + WGS84-Ellipsoid (wradlib-Parameter, False Easting/Northing 543196.835/3622588.862 → LL-Ecke (0,0); + in GDAL-Konvention y südwärts negativ, Gitter y ∈ [-1200000, 0]). Anker (9°E, 51°N) = Mitte von + Pixel (470/600) ✓, Ecken decken sich mit der DE1200-Spec ✓. +- **Pipeline** `tools/dwd-radar/make_radar_tiles.py` (Container: GDAL + go-pmtiles): RV-Komposit → + je Frame dekodieren → RGBA-Farbskala (transparent < 0,05 mm/5min) → Warp 3857 → MBTiles z7-Basis + + Overviews bis z4 → PMTiles. 25 Frames ≈ 14 s (Mac) / ~30 s (DS). Manifest + atomarer Swap + (`run-/`), KEEP_RUNS=2. `docker-compose.dwd.yml` — **DSM-Aufgabenplaner ALLE 5 MIN**: + `cd && docker compose -f docker-compose.dwd.yml run --rm dwd-radar` (⚠️ NIE --remove-orphans). +- **Serving** main.py: `/radar/manifest.json` (no-store) + `/radar/{run}/{file}` (Range/206, + immutable — Run-Id im Pfad). sw.js: `/radar/` Pass-through. +- **Frontend** map.js: Radar-Frames heterogen (`{url, time, dwd}`) — DWD ersetzt den RainViewer- + Nowcast (0–120 min) wenn: Toggle an + GL-Modus + Kartenmitte in DE1200-Bbox + Manifest frisch + (< 30 min). Sonst RainViewer-Fallback (auch außerhalb DE / offline / DWD-Ausfall). DWD-Frames + als `pmtiles://`-Raster-Template über das vorhandene Protokoll; Label „+X Min · DWD". +- **Settings-Toggle** „DWD-Regenvorhersage" (`by_dwd_radar`, Default AN), settings.js. + +(Ursprüngliches Scoping:) +~~**Status:** gescoppt + Datenformat verifiziert (2026-06-05). Umsetzung offen.~~ **Ziel:** Verlässliche, längere Regen-**Vorhersage** als animiertes Karten-Overlay (bis +2 h) statt RainViewers unzuverlässigem 30-Min-Nowcast (der oft leer ist). Self-hosted wie die Basemap — passt zur Tile-Server-Philosophie.