Disclaimer: This is an internship project meant for upskilling in agentic AI. All data, model inference, and agency dispatches are simulated. Do not use for actual weather forecasting or disaster response.
A multi-agent AI system that uses Google DeepMind's GraphCast — a Graph Neural Network weather model — to predict extreme weather events up to 10 days in advance and autonomously alert disaster-response agencies for pre-emptive action.
GraphCast processes 227 atmospheric variables across 37 pressure levels at 0.25° resolution (~28 km), producing 10-day forecasts in under 60 seconds on a single GPU — compared to hours on a supercomputer for traditional numerical weather prediction.
The system is a 3-agent pipeline orchestrated by main.py, running every 6 hours:
ERA5/GFS Data → [Agent 1: Data Ingestion] → [Agent 2: GraphCast Forecast] → [Agent 3: Alert Dispatch] → Agencies
Agent 1 — Weather Data Ingestion: Fetches two consecutive 6-hour atmospheric snapshots from ECMWF ERA5 (or NOAA GFS as fallback), validates completeness ≥ 95%, interpolates small gaps, and normalizes using GraphCast's training statistics.
Agent 2 — Forecast & Anomaly Detection: Runs 40 autoregressive GraphCast steps (10-day forecast), compares predictions against ERA5 1991–2020 climatological baselines, and detects extreme events — tropical cyclones, heat waves, atmospheric rivers, and cold snaps — scoring each on a 0–100 severity scale.
Agent 3 — Alert & Dispatch: Generates plain-language alerts with mandatory uncertainty disclosures, maps affected regions to responsible agencies (FEMA, NWS, Coast Guard, Red Cross, etc.), and dispatches via API, CAP XML, or email with retry logic and human escalation.
| Event Type | Detection Method | Example Threshold |
|---|---|---|
| Tropical Cyclone | Closed MSLP minimum + warm core + sustained winds | ≥ 33 m/s (Cat 1) |
| Heat Wave | 2m temp > 95th percentile for ≥ 3 consecutive days | ≥ 40°C |
| Atmospheric River | Integrated vapor transport in elongated corridor | IVT ≥ 500 kg/m/s |
| Cold Snap | Temperature anomaly below climatological mean | ≤ -15°C for 3+ days |
Climate_Weather_Prediction/
├── Master.md # System design, schemas, guardrails, success metrics
├── README.md # This file
├── Memory/
│ └── Memory.md # Thresholds, agency registry, alert history, decision rules
├── Agents/
│ ├── data_ingestion_agent.md # Agent 1 specification
│ ├── data_ingestion_agent.py # Agent 1 implementation
│ ├── forecast_anomaly_agent.md # Agent 2 specification
│ ├── forecast_anomaly_agent.py # Agent 2 implementation
│ ├── alert_dispatch_agent.md # Agent 3 specification
│ └── alert_dispatch_agent.py # Agent 3 implementation
├── Skills/
│ ├── era5_data_retrieval/ # CDS API data fetching
│ ├── graphcast_inference/ # GNN model inference
│ ├── extreme_event_detection/ # Climatological anomaly detection
│ └── agency_notification/ # Multi-channel alert dispatch
├── Data/
│ ├── sample_atmospheric_state.json # Sample GraphCast input metadata
│ ├── sample_forecast_output.json # Sample forecast with detected events
│ ├── agency_registry.json # Disaster-response agency contacts
│ └── extreme_event_thresholds.json # Climatological detection thresholds
├── main.py # Orchestrator — runs the 3-agent pipeline
└── requirements.txt # Dependencies (commented — demo uses stdlib only)
The demo uses simulated data and requires only Python 3.8+ (no external dependencies):
cd Climate_Weather_Prediction
# Run with default sample timestamp
python main.py
# Run with a specific timestamp
python main.py 2026-06-25T12:00:00ZThe demo detects 2 extreme events from the simulated GraphCast run:
- Tropical Cyclone (CRITICAL, score 92) — Gulf of Mexico, Texas Coast, 84h lead time → dispatched to 9 agencies (FEMA, NHC, Coast Guard, Red Cross, National Guard, state agencies)
- Heat Wave (HIGH, score 78) — Iberian Peninsula, 120h lead time → flagged for human review (confidence decayed to 0.08 at 5-day lead time)
Confidence decay: Forecast confidence decays exponentially with lead time using confidence = base × exp(-0.02 × hours). This means a 5-day forecast with base confidence 0.90 drops to ~0.08, correctly triggering human review instead of auto-dispatch.
Critical event override: Events with severity CRITICAL or EXTREME always dispatch regardless of confidence — the system never suppresses a potential Category 3+ cyclone.
Equitable alerting: Alert priority is based on threat severity and population exposure, not economic value of the affected region.
Mandatory uncertainty: Every alert includes confidence scores, uncertainty bounds, and a plain-language uncertainty statement. Forecasts are never presented as certainties.
- GraphCast (Google DeepMind) — GNN-based weather model trained on ERA5 1979–2017 reanalysis data
- ERA5 (ECMWF) — Global atmospheric reanalysis dataset at 0.25° resolution
- CAP XML (OASIS) — Common Alerting Protocol for standardized emergency alerts
- Saffir-Simpson Scale — Tropical cyclone classification by wind speed
- GraphCast: AI model for faster and more accurate global weather forecasting — Google DeepMind
- google-deepmind/graphcast — GitHub
- NOAA deploys new generation of AI-driven global weather models
- GraphCast GFS Documentation
- WoFSCast: A GraphCast-based emulator for the Warn-on-Forecast System — NOAA EPIC