Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6,335 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ClimaAtmos.jl Logo

ClimaAtmos.jl

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 stable dev
Version version
License license
Tests gha ci buildkite
Code Coverage codecov
Downloads Downloads

Condensed water path from a global ClimaAtmos simulation

Condensed water path from a global simulation initialized with ERA5 on 8-31-25 00Z. Output every 30 minutes; ran for ~4 days.

Features

  • 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

Installation

ClimaAtmos.jl is a registered Julia package (recommended Julia: v1.11):

using Pkg
Pkg.add("ClimaAtmos")

Quick Example

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.

Documentation

Integration with CliMA models

ClimaAtmos.jl is a component of the CliMA Earth System Model:

Contributing

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.

Releases

Packages

Used by

Contributors

Languages