The atmosphere model of the CliMA Earth System Model: a GPU-capable global atmosphere model designed for calibration with data assimilation and machine learning.
ClimaAtmos.jl solves the compressible equations of atmospheric motion on cubed-sphere and column grids, with physics parameterizations for turbulence and convection (EDMF), cloud microphysics, and radiation. It is built on ClimaCore.jl and runs on CPUs and GPUs from a single codebase.
| Documentation | |
| Version | |
| License | |
| Tests | |
| Code Coverage | |
| Downloads |
Condensed water path from a global simulation initialized with ERA5 on 8-31-25 00Z. Output every 30 minutes; ran for ~4 days.
- Global and single-column configurations: cubed-sphere grids for global simulations, column grids for parameterization development and testing
- Turbulence and convection: eddy-diffusivity mass-flux (EDMF) schemes, designed for calibration with data assimilation and machine learning
- Cloud microphysics: 0-moment to 2-moment bulk schemes via CloudMicrophysics.jl
- Radiation: RRTMGP radiative transfer
- GPU support: runs on CPUs and NVIDIA GPUs from the same codebase
- Composable configuration: script and YAML-config interfaces for every aspect of a simulation
ClimaAtmos.jl is a registered Julia package (recommended Julia: v1.11):
using Pkg
Pkg.add("ClimaAtmos")The simplest simulation uses all defaults — it solves the dry compressible Euler equations on a global cubed-sphere grid from a hydrostatically balanced state:
import ClimaAtmos as CA
simulation = CA.AtmosSimulation{Float32}(; t_end = "1days")
CA.solve_atmos!(simulation)Every aspect of the simulation can be customized through keyword arguments, for example a single-column model:
grid = CA.ColumnGrid(Float32; z_elem = 30, z_max = 30000.0)
simulation = CA.AtmosSimulation{Float32}(; grid, t_end = "6hours")See Your First Simulation in the documentation for a guided introduction.
- Stable docs — equations, parameterizations, configuration reference, and API
- Dev docs — latest development version
- Available diagnostics — output variables
ClimaAtmos.jl is a component of the CliMA Earth System Model:
- ClimaCore.jl — dynamical core and discretization tools
- ClimaCoupler.jl — coupling to ocean, land, and sea ice components
- Thermodynamics.jl — moist thermodynamics
- ClimaParams.jl — centralized, calibratable model parameters
If you're interested in contributing to ClimaAtmos, we welcome contributions of any size! Let us know by opening an issue if you'd like to work on a new feature.
Contributors should follow the shared CliMA engineering standards in docs/dev-guides/, which cover architecture, performance, code quality, documentation, and workflows. These are vendored from CliMA/DeveloperGuides. The repo's AGENTS.md is a starting point for AI agents with repo-specific guidance. See also the contributor's guide.
