How nachiket-mr360/aiml_thunderstorm_nowcasting_by_thunderwatch_ai works
ThunderWatch AI is a multi-location thunderstorm-risk research prototype. Its user workflow is to request a station and time, then view +1h/+2h/+3h risk and data status in the dashboard. Historical replay looks up prepared features; live prediction fetches current weather, builds model features, and invokes the frozen multi-lead engine. The README also describes data synchronization, causal feature engineering, target generation, model training, and satellite/radar/lightning evidence research. Some pipeline wiring and UI details are documented but their source was not sampled, so those connections are limited to supported relationships.
Main entry points: live_prediction_service.py Live prediction · app.py Flask application · dashboard.js Dashboard scripts · multilead_service.py Replay service
Components 18
Data and models
- Synchronized data
dataset/build_synchronized_dataset_phase3.py - Causal features
dataset/multilocation/feature_engineering_phase3.py - Future targets
dataset/multilocation/build_multilead_targets_phase5.py - Model training
ml/train_v2_multilead_phase6.py - Live feature builder
src/features/v2_feature_builder.py
Prediction services
- Replay service
src/inference/multilead_service.py - Live prediction
src/inference/live_prediction_service.py - Live feature adapter
src/inference/live_feature_adapter.py - Weather client
src/inference/live_openmeteo_client.py - Multi-lead engine
src/inference/final_multi_lead_engine.py
API and dashboard
- Flask application
app.py - Dashboard scripts
static/dashboard.js - Geographic map
static/geo-map.js
Evidence context
- Satellite replay context
src/inference/multilead_service.py
Other components
- Dashboard user
- Open-Meteo
- GFS NWP
- INSAT-3DR evidence
Connections 18
- Synchronized data → Causal features: supplies observations
- Causal features → Future targets: provides predictors
- Future targets → Model training: trains on targets
- Dashboard user → Dashboard scripts: uses dashboard
- Dashboard scripts → Flask application: requests replay
- Flask application → Replay service: dispatches replay
- Replay service → Multi-lead engine: scores features
- Flask application → Live prediction: dispatches live
- Live prediction → Weather client: fetches weather
- Weather client → Open-Meteo: requests data
- Weather client → GFS NWP: requests NWP
- Live prediction → Live feature adapter: builds features
- Live feature adapter → Live feature builder: constructs vector
- Live prediction → Multi-lead engine: scores vector
- Replay service → Satellite replay context: attaches context
- INSAT-3DR evidence → Satellite replay context: supplies evidence
- Flask application → Dashboard scripts: returns results
- Dashboard scripts → Geographic map: renders locations