DETERMINISTIC

GraphCast

Learning skillful medium-range global weather forecasting β€’ Science 2023

πŸ“Š Specifications
Parameters36.7M
Resolution0.25Β° (~25km)
Timestep6 hours
Forecast Horizon10 days (40 steps)
Variables227 (37 levels)
Mesh Nodes40,962 (M6)
Inference Time<60 sec (TPU)
πŸ—οΈ Architecture

GraphCast uses an encode-process-decode GNN architecture operating on a multi-scale icosahedral mesh.

// High-level architecture Encoder: lat-lon grid (721Γ—1440) β†’ mesh (40,962 nodes) Processor: 16 layers of message passing on multi-mesh Decoder: mesh β†’ lat-lon grid (prediction Ξ”) // Message passing (per layer) edges' = MLP_e(concat(edges, nodes[sender], nodes[receiver])) nodes' = MLP_v(concat(nodes, aggregate(edges')))

Key Innovation: Multi-mesh retains edges from all refinement levels (M0-M6), enabling both local detail and global information flow in a single message-passing step.

πŸ“ˆ Performance vs HRES
  • Outperforms on 90% of 1380 verification targets
  • 99.7% better in troposphere (most important region)
  • Superior tropical cyclone track prediction
  • Better atmospheric river and extreme temperature forecasts
  • Orders of magnitude faster (seconds vs hours)
PROBABILISTIC

GenCast

Diffusion-based ensemble forecasting for medium-range weather β€’ Nature 2024

πŸ“Š Specifications
Parameters~60M
Resolution0.25Β°
Timestep12 hours
Forecast Horizon15 days
Ensemble Members50+
Pressure Levels13
Inference Time8 min/member
πŸŒ€ Diffusion Process

GenCast is a diffusion model adapted to spherical Earth geometry. It learns to generate probabilistic weather trajectories by iteratively denoising.

// Forward process (training) X_t = √ᾱ_t · X_0 + √(1-ᾱ_t) · Ρ // Add noise // Reverse process (inference) for t = T to 1: Ρ_pred = denoiser(X_t, t, X^{t-1}, X^t) // Predict noise X_{t-1} = denoise_step(X_t, Ρ_pred) // Remove noise

Key Innovation: Uses sparse transformer attention (neighbors only) in the processor, enabling efficient computation while capturing local atmospheric dynamics.

πŸ“ˆ Performance vs ENS
  • Outperforms on 97.4% of 1320 targets
  • 99.8% better at lead times >36 hours
  • Superior tropical cyclone track prediction
  • Better extreme heat/cold/wind forecasting
  • More accurate wind power production forecasts
FUNCTIONAL GENERATIVE

FGN (WeatherNext 2)

Skillful joint probabilistic weather forecasting from marginals β€’ 2025

πŸ“Š Specifications
Parameters180M (per seed)
Model Seeds4 (deep ensemble)
Latent Dimension768
Transformer Layers24
Timestep6 hours
Noise Dimension32
Speed vs GenCast8Γ— faster
⚑ Functional Perturbation

FGN generates ensembles via learned functional perturbations β€” injecting low-dimensional noise directly into the architecture.

// Key innovation: 32D noise β†’ global weather field z ~ N(0, I)^32 // Sample 32-dimensional noise for each layer: x = ConditionalLayerNorm(x, z) // Ξ³(z)Β·(x-ΞΌ)/Οƒ + Ξ²(z) // Same z applied globally β†’ spatial coherence // Training: minimize CRPS on marginals // Result: learns realistic joint distributions!

Key Insight: Trained only on per-location CRPS (marginals), but the shared global noise forces the model to learn realistic spatial correlations (joints).

πŸ“ˆ Performance vs GenCast
  • Better on 99.9% of variables and lead times
  • ~6.5% average CRPS improvement
  • ~24 hours earlier cyclone track skill
  • 8Γ— faster inference (single pass vs iterative)
  • Powers Google Search, Maps, Pixel Weather
SHARED INFRASTRUCTURE

Icosahedral Mesh

The spherical representation powering all three models

🌐 Why Icosahedral?

Traditional lat-lon grids have fundamental problems for global weather modeling:

  • Polar singularity: Grid cells shrink to points at 90Β°N/S
  • Aspect ratio: Cells near poles extremely elongated
  • Uneven area: Polar cells much smaller than equatorial
  • CFL constraint: Tiny polar cells limit timestep globally

Icosahedral meshes solve all of these with near-uniform node spacing.

πŸ“ Refinement Levels
Level Nodes Resolution
M012~7,000 km
M142~3,500 km
M2162~1,750 km
M3642~875 km
M42,562~440 km
M510,242~220 km
M640,962~110 km