How atmosync/weavr works
WEAVR blends rainfall forecasts from multiple models on a common India grid, calibrates forecast distributions and probabilities, and evaluates results using held-out verification. Its dashboard exposes forecast, weight, skill, and extreme-probability views through a read-only API; a separate daily pipeline applies fitted regional weights to available forecasts. The README documents several capabilities whose detailed implementation was not sampled, so those links reflect documented behavior rather than inspected call sites.
Main entry points: data Forecast and observation loaders · run_daily_pipeline.py Daily forecast pipeline · main.js View navigation · api.js API fetch wrappers
Components 31
Data and grid
- Forecast and observation loaders
src/weavr/data - HEPPI reference loader
src/weavr/data/heppi_reference.py - Common grid
src/weavr/grid.py
Blend and calibrate
- Ensemble handling
src/weavr/ensemble.py - Regional weights
src/weavr/weighting.py - Region assignment
src/weavr/regions.py - EMOS calibration
src/weavr/emos.py - BMA calibration
src/weavr/bma.py - Regime-conditioned weights
src/weavr/regime_weighting.py
Verification
- Forecast metrics
src/weavr/verify.py - Held-out splits
src/weavr/splits.py - Statistical tests
src/weavr/significance.py
Daily operations
- Daily forecast pipeline
scripts/run_daily_pipeline.py - Drift detection
src/weavr/drift.py - Weight renormalization
src/weavr/renormalize.py
Dashboard
- View navigation
dashboard-web/js/main.js - API fetch wrappers
dashboard-web/js/api.js - Weight map
dashboard-web/js/charts/weightMap.js - Skill trends
dashboard-web/js/charts/skillTrends.js - Blended map
dashboard-web/js/charts/blendedMap.js - Extreme probabilities
dashboard-web/js/charts/extremeProbability.js - Geographic map
dashboard-web/js/charts/basemapMap.js - Read-only JSON API
dashboard/api.py - Dashboard data shaping
dashboard/data_loading.py - IMD color scheme
dashboard/colors.py
Other components
- GraphCast
- HRES
- IFS ensemble
- IMD rainfall
- ECMWF open data
- Dashboard user
Connections 38
- ECMWF open data → Forecast and observation loaders: provides forecasts
- GraphCast → Forecast and observation loaders: provides forecasts
- HRES → Forecast and observation loaders: provides forecasts
- IFS ensemble → Forecast and observation loaders: provides forecasts
- IMD rainfall → Forecast and observation loaders: provides observations
- IMD rainfall → HEPPI reference loader: paired reference data
- Forecast and observation loaders → Common grid: load for regridding
- HEPPI reference loader → Common grid: uses common coordinates
- Common grid → Regional weights: supplies gridded fields
- Common grid → Ensemble handling: supplies gridded fields
- Region assignment → Regional weights: defines regions
- Regional weights → Daily forecast pipeline: provides fitted weights
- Daily forecast pipeline → Forecast and observation loaders: fetches current data
- Daily forecast pipeline → Region assignment: assigns grid regions
- Daily forecast pipeline → Weight renormalization: redistributes missing-source weights
- Daily forecast pipeline → Drift detection: checks performance drift
- Daily forecast pipeline → Forecast metrics: scores forecasts
- Ensemble handling → EMOS calibration: calibrates distributions
- Ensemble handling → BMA calibration: fits mixture blend
- Region assignment → Regime-conditioned weights: supplies spatial regions
- Regional weights → Regime-conditioned weights: regional baseline
- Held-out splits → Forecast metrics: sets evaluation windows
- Forecast metrics → Statistical tests: supplies paired scores
- Dashboard user → View navigation: selects views
- View navigation → Weight map: renders view
- View navigation → Skill trends: renders view
- View navigation → Blended map: renders view
- View navigation → Extreme probabilities: renders view
- Weight map → API fetch wrappers: requests weight data
- Skill trends → API fetch wrappers: requests skill data
- Blended map → API fetch wrappers: requests forecast grid
- Extreme probabilities → API fetch wrappers: requests probability grid
- API fetch wrappers → Read-only JSON API: fetches JSON
- Read-only JSON API → Dashboard data shaping: loads and shapes data
- Read-only JSON API → IMD color scheme: loads color identities
- Blended map → Geographic map: overlays forecast grid
- Extreme probabilities → Geographic map: overlays probability grid
- Geographic map → Read-only JSON API: checks local basemap