Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Climate Modeling Extreme Weather Prediction & Disaster Alert System

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.

Overview

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.

Architecture

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.

Supported Extreme Event Types

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

Project Structure

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)

Running the Demo

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:00Z

Sample Output

The demo detects 2 extreme events from the simulated GraphCast run:

  1. 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)
  2. Heat Wave (HIGH, score 78) — Iberian Peninsula, 120h lead time → flagged for human review (confidence decayed to 0.08 at 5-day lead time)

Key Design Decisions

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.

Key Technologies

  • 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

References

About

A multi-agent AI system that uses Google DeepMind's GraphCast to predict extreme weather events up to 10 days in advance and autonomously alert disaster-response agencies for pre-emptive action.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages