A Differentiable General Circulation Model

JAX-GCM (JCM) is a groundbreaking fully differentiable General Circulation Model (GCM) designed to bridge traditional climate modeling with modern machine learning techniques. Written entirely in JAX, it represents a new paradigm in climate simulation that enables capabilities previously impossible with conventional models.

Key Features

Fully Differentiable Every component of the model supports automatic differentiation, enabling gradient-based optimization, data assimilation, and inverse modeling—capabilities that traditional climate models cannot provide.

GPU/TPU Accelerated Leverages JAX’s just-in-time (JIT) compilation and hardware acceleration to run efficiently on GPUs and TPUs, dramatically speeding up simulations and enabling rapid iteration.

Modular Physics Includes comprehensive atmospheric physics packages:

  • Radiation schemes (shortwave and longwave)
  • Convection parameterizations
  • Cloud physics
  • Surface processes and fluxes
  • Vertical diffusion

Flexible Resolution Supports spectral resolutions from T31 (coarse, ~4°) to T425 (high-resolution, ~0.28°), allowing users to balance computational cost with simulation fidelity.

ML-Ready Architecture Designed from the ground up for hybrid physics-ML workflows, parameter optimization, and emulator development. Perfect for neural network integration and data-driven climate science.

Technical Foundation

JAX-GCM combines:

  • Dinosaur Dynamical Core: Google Research’s spectral dynamical core handles atmospheric dynamics
  • SPEEDY Physics: Adapted from F. Molteni’s simplified parameterization scheme, implemented fully in JAX
  • Modern Python Stack: Built on Python ≥3.11, XArray, and the scientific Python ecosystem

Use Cases

The differentiability of JAX-GCM opens new research frontiers:

  • Parameter Optimization: Gradient descent through the entire model for optimal parameter estimation
  • Data Assimilation: Efficient incorporation of observational data into model states
  • Hybrid ML Models: Seamless integration of neural networks into physical parameterizations
  • Climate Sensitivity Studies: Rapid exploration of model responses to perturbations
  • Emulator Development: Training fast surrogate models with full-physics guidance

Get Started

Visit the JAX-GCM GitHub repository to explore the code, documentation, and examples. The project welcomes contributions from the climate science and machine learning communities.

Learn more Code