How 1rishipathak/chakravat-cycldtc works
Chakravat is a North Indian Ocean cyclone detection and forecasting system. Its principal workflow takes satellite imagery through storm detection, scene classification and intensity estimation, then builds track features to serve track/intensity forecasts and landfall risk. The API also exposes live INSAT evaluation, alerts, analogues, forecast explanations and damaging-wind exposure. README documents these capabilities; sampled source confirms key orchestration and model responsibilities, but omitted pipeline and API sections limit certainty about some internal wiring.
Main entry points: main.py Decision API · vision.py Vision service · build.py Track features · pipeline.py Cyclone pipeline
Components 21
Data inputs
- Satellite archives
src/ingest - Best-track data
src/ingest/ibtracs.py - ERA5 features
src/features/environment.py - Live INSAT
src/ingest/insat_live.py - Coastal places
src/ingest/coastline.py
Imagery analysis
- Cyclone pipeline
src/pipeline.py - Vision service
api/vision.py - Storm detection
src/vision/detect.py - Scene typing
src/vision/scenes.py - Image intensity
src/vision/dataset.py
Forecasting
- Track features
src/features/build.py - Track ensemble
src/models/ensemble.py - Landfall forecast
src/models/landfall.py - Rapid intensification
src/models/ri.py - Wind exposure
src/models/wind_prob.py
API and impact
- Decision API
api/main.py - Alert store
api/alert_store.py - Live events
api/events.py - Storm analogues
src/models/analogues.py - Forecast explanation
api/explain_forecast.py
Other components
- Forecaster
Connections 21
- Forecaster → Decision API: requests forecasts
- Satellite archives → Vision service: provides imagery
- Live INSAT → Cyclone pipeline: provides live scans
- Cyclone pipeline → Vision service: requests analysis
- Vision service → Storm detection: detects centres
- Vision service → Scene typing: classifies scenes
- Vision service → Image intensity: estimates intensity
- Cyclone pipeline → Track features: builds track features
- Best-track data → Track features: supplies track truth
- ERA5 features → Track features: adds predictors
- Track features → Track ensemble: supplies forecast inputs
- Decision API → Track ensemble: serves track forecasts
- Decision API → Landfall forecast: requests landfall risk
- Decision API → Rapid intensification: requests RI risk
- Decision API → Wind exposure: requests wind exposure
- Wind exposure → Track ensemble: uses member tracks
- Wind exposure → Coastal places: checks exposed places
- Decision API → Storm analogues: finds prior storms
- Decision API → Forecast explanation: explains forecasts
- Decision API → Alert store: reads and writes alerts
- Decision API → Live events: publishes live updates