ClimaAtmos.jl

A library for building atmospheric circulation models that is designed from the outset to leverage data assimilation and machine learning tools.
https://github.com/CliMA/ClimaAtmos.jl

Category: Atmosphere
Sub Category: Atmospheric Composition and Dynamics

Keywords

atmosphere atmospheric-modeling climate climate-modeling data-assimilation earth-system-model fluid-dynamics gpu julia machine-learning optimization scientific-computing

Keywords from Contributors

pde dynamical-core finite-difference numerical-methods spectral-elements climate-change land land-surface-model climate-model soil

Last synced: about 20 hours ago
JSON representation

Repository metadata

GPU-capable global atmosphere model of the CliMA Earth System Model, designed for calibration with data assimilation and machine learning

README.md

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 (PROPHET, an extended prognostic EDMF scheme), 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 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 with topography for global simulations; boxes, planes, and columns for process studies (BOMEX, DYCOMS, RICO, and other standard cases)
  • Turbulence and convection: TKE-based eddy diffusion and the PROPHET scheme (an extended, prognostic eddy-diffusivity mass-flux (EDMF) scheme), designed for calibration with data assimilation and machine learning
  • Cloud microphysics: 0-moment to 2-moment bulk schemes, plus the P3 ice scheme, via CloudMicrophysics.jl
  • Radiation: RRTMGP radiative transfer
  • ERA5 and GCM-driven initial conditions and forcing
  • Configurable diagnostics with NetCDF and HDF5 output
  • Restarts and checkpointing for long simulations
  • 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 equations on a global cubed-sphere grid from a hydrostatically balanced, slightly perturbed 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:

  • ClimaCore.jl: dynamical core and discretization tools
  • ClimaCoupler.jl: coupling to ocean, land, and sea ice components
  • Thermodynamics.jl: moist thermodynamics, shared across all CliMA components for energetic consistency
  • ClimaParams.jl: the single source of truth for all model parameters

See The CliMA Ecosystem in the documentation for the full architectural overview, including Insolation.jl, RRTMGP.jl, SurfaceFluxes.jl, and CloudMicrophysics.jl.

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.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 2 days ago

Total Commits: 3,766
Total Committers: 63
Avg Commits per committer: 59.778
Development Distribution Score (DDS): 0.714

Commits in past year: 543
Committers in past year: 30
Avg Commits per committer in past year: 18.1
Development Distribution Score (DDS) in past year: 0.81

Name Email Commits
Charles Kawczynski k****s@g****m 1077
Zhaoyi Shen 1****1 664
Gabriele Bozzola g****a@c****u 371
Anna Jaruga a****a@c****u 226
nefrathenrici n****i@g****m 171
Jia He j****h@g****m 124
Simon Byrne s****e@g****m 113
bischtob t****f@p****e 80
Akshay Sridhar a****r@c****u 77
Sajjad Azimi a****6@g****m 75
Valeria Barra v****1@g****m 71
Dennis Yatunin d****n@g****m 69
Haakon Ludvig Langeland Ervik 4****e 59
sriharshakandala s****s@g****m 57
sandreza a****a@g****m 56
Julia Sloan j****n@c****u 53
imreddyTeja t****5@g****m 51
Tapio Schneider t****o@c****u 48
costachris c****a@g****m 47
Kevin Phan 9****v 36
CompatHelper Julia c****y@j****g 31
yairchn y****n@c****u 21
Jeffrey Yoder j****r@u****u 15
Akshay Sridhar a****r@c****u 13
dependabot[bot] 4****] 13
Julian Schmitt j****t@c****u 13
github-actions[bot] 4****] 12
Alexis Renchon a****n@g****m 12
LenkaNovak l****a@c****u 10
Olivia Alcabes o****s@g****m 10
and 33 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 2 days ago

Total issues: 597
Total pull requests: 2,923
Average time to close issues: 3 months
Average time to close pull requests: 13 days
Total issue authors: 37
Total pull request authors: 49
Average comments per issue: 1.87
Average comments per pull request: 1.52
Merged pull request: 1,938
Bot issues: 0
Bot pull requests: 166

Past year issues: 23
Past year pull requests: 224
Past year average time to close issues: 24 days
Past year average time to close pull requests: 5 days
Past year issue authors: 11
Past year pull request authors: 27
Past year average comments per issue: 1.17
Past year average comments per pull request: 1.11
Past year merged pull request: 95
Past year bot issues: 0
Past year bot pull requests: 21

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/CliMA/ClimaAtmos.jl

Top Issue Authors

  • szy21 (184)
  • charleskawczynski (91)
  • Sbozzolo (58)
  • trontrytel (53)
  • akshaysridhar (36)
  • nefrathenrici (26)
  • sriharshakandala (21)
  • simonbyrne (19)
  • LenkaNovak (14)
  • jiahe23 (13)
  • valeriabarra (11)
  • bischtob (8)
  • imreddyTeja (8)
  • haakon-e (7)
  • Julians42 (5)

Top Pull Request Authors

  • szy21 (679)
  • charleskawczynski (655)
  • Sbozzolo (325)
  • trontrytel (168)
  • github-actions[bot] (143)
  • nefrathenrici (140)
  • akshaysridhar (119)
  • dennisYatunin (94)
  • costachris (80)
  • juliasloan25 (67)
  • haakon-e (59)
  • sriharshakandala (56)
  • imreddyTeja (40)
  • sajjadazimi (34)
  • simonbyrne (33)

Top Issue Labels

  • EDMF :tornado: (99)
  • SDI (33)
  • bug (31)
  • enhancement (17)
  • Microphysics (17)
  • Performance (9)
  • Tests (9)
  • radiation ☀️ (9)
  • GPU (8)
  • ClimaParameters :control_knobs: (7)
  • Continuous integration :gear: (7)
  • documentation (6)
  • Diagnostics (6)
  • Workflow :gear: :ocean: (6)
  • Performance monitoring :rocket: :mag: (5)
  • help wanted (4)
  • Consistency :dart: (4)
  • Quality assurance (4)
  • Numerics (4)
  • Dycore equations (4)
  • design (4)
  • API (3)
  • Dependencies :spider_web: (3)
  • Long runs :running_woman: (3)
  • Inference :mag: (3)
  • Interface (3)
  • Debugging :mag::bug: (3)
  • Reproducibility 🎲 (3)
  • Question (3)
  • Refactor (3)

Top Pull Request Labels

  • Microphysics (133)
  • Dependencies :spider_web: (108)
  • Refactor (78)
  • Launch Buildkite (77)
  • EDMF :tornado: (66)
  • do-not-merge-yet (39)
  • Performance monitoring :rocket: :mag: (38)
  • Performance (38)
  • enhancement (34)
  • GPU (29)
  • bugfix :bug: :hammer: (29)
  • Tests (26)
  • House cleaning :broom: (21)
  • dependencies (20)
  • Reproducibility 🎲 (20)
  • Continuous integration :gear: (19)
  • Long runs :running_woman: (18)
  • Diagnostics (18)
  • Breaking :boom: (16)
  • Latency (15)
  • Workflow :gear: :ocean: (13)
  • Visualization :art: (11)
  • documentation (11)
  • gravity wave (9)
  • Logging :ledger: (8)
  • Inference :mag: (8)
  • Reproducibility tests 🎲 (8)
  • Dycore equations (7)
  • github_actions (7)
  • ClimaParameters :control_knobs: (6)

Package metadata

proxy.golang.org: github.com/clima/climaatmos.jl

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/clima/climaatmos.jl#section-documentation
  • Licenses: apache-2.0
  • Latest release: v0.42.4 (published 6 days ago)
  • Last Synced: 2026-08-12T13:33:08.747Z (2 days ago)
  • Versions: 121
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 5.401%
    • Average: 5.583%
    • Dependent repos count: 5.764%
proxy.golang.org: github.com/CliMA/ClimaAtmos.jl

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/CliMA/ClimaAtmos.jl#section-documentation
  • Licenses: apache-2.0
  • Latest release: v0.42.4 (published 6 days ago)
  • Last Synced: 2026-08-12T13:45:18.379Z (2 days ago)
  • Versions: 121
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 5.401%
    • Average: 5.583%
    • Dependent repos count: 5.764%

Dependencies

.github/workflows/DocCleanup.yml actions
  • actions/checkout v2 composite
.github/workflows/Invalidations.yml actions
  • actions/checkout v3 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-invalidations v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/ci.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/docs.yml actions
  • actions/checkout v2 composite
  • julia-actions/setup-julia latest composite
docs/Project.toml julia
  • ArgParse *
  • CairoMakie *
  • ClimaAtmos *
  • ClimaDiagnostics *
  • ClimaParams *
  • ClimaUtilities *
  • DiffEqBase *
  • Documenter *
  • DocumenterCitations *
  • Krylov *
  • LazyBroadcast *
  • Logging *
  • OrderedCollections *
  • PrettyTables *
  • RootSolvers *
  • SciMLBase *
  • TOML *
  • YAML *
.github/workflows/downstream.yml actions
  • actions/checkout v4 composite
  • julia-actions/cache v2 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/setup-julia v2 composite
.buildkite/PrecompileCI/Project.toml julia
  • ClimaAtmos *
  • ClimaComms *
  • ClimaCore *
  • ClimaParams *
  • Logging *
  • PrecompileTools *
calibration/experiments/gcm_driven_scm/Manifest.toml julia
  • 382 dependencies
.buildkite/Project.toml julia
  • ArgParse *
  • ArtifactWrappers *
  • BenchmarkTools *
  • CUDA *
  • CairoMakie *
  • ClimaAnalysis *
  • ClimaAtmos *
  • ClimaComms *
  • ClimaCore *
  • ClimaCoreSpectra *
  • ClimaCoreTempestRemap *
  • ClimaDiagnostics *
  • ClimaParams *
  • ClimaReproducibilityTests *
  • ClimaTimeSteppers *
  • ClimaUtilities *
  • DiffEqBase *
  • HDF5 *
  • Interpolations *
  • IntervalSets *
  • JLD2 *
  • JSON *
  • Krylov *
  • MPI *
  • NCDatasets *
  • NullBroadcasts *
  • OrderedCollections *
  • Poppler_jll *
  • PrecompileCI *
  • PrettyTables *
  • Profile *
  • ProfileCanvas *
  • Random *
  • SciMLBase *
  • SnoopCompile *
  • SnoopCompileCore *
  • Statistics *
  • StatsBase *
  • Test *
  • YAML *
.github/workflows/cla.yml actions
.github/workflows/downgrade.yml actions
  • actions/checkout v4 composite
  • julia-actions/cache v2 composite
  • julia-actions/julia-buildpkg latest composite
  • julia-actions/julia-downgrade-compat v1 composite
  • julia-actions/julia-runtest latest composite
  • julia-actions/setup-julia latest composite
calibration/experiments/gcm_driven_scm/Project.toml julia
  • ArgParse *
  • CSV *
  • CairoMakie *
  • ClimaAnalysis *
  • ClimaAtmos *
  • ClimaCalibrate *
  • ClimaComms *
  • ClimaDiagnostics *
  • ClimaParams *
  • ClimaUtilities *
  • DataFrames *
  • Distributions *
  • EnsembleKalmanProcesses *
  • Glob *
  • Interpolations *
  • JLD2 *
  • MPI *
  • NCDatasets *
  • YAML *
calibration/experiments/sphere_held_suarez_rhoe_equilmoist/Manifest.toml julia
  • 395 dependencies
Project.toml julia
  • Adapt *
  • ArgParse *
  • Artifacts *
  • AtmosphericProfilesLibrary *
  • ClimaComms *
  • ClimaCore *
  • ClimaDiagnostics *
  • ClimaInterpolations *
  • ClimaParams *
  • ClimaTimeSteppers *
  • ClimaUtilities *
  • CloudMicrophysics *
  • Dates *
  • Flux *
  • ForwardDiff *
  • Insolation *
  • Interpolations *
  • JLD2 *
  • LazyArtifacts *
  • LazyBroadcast *
  • LinearAlgebra *
  • Logging *
  • NCDatasets *
  • NVTX *
  • NullBroadcasts *
  • RRTMGP *
  • Random *
  • SciMLBase *
  • SparseMatrixColorings *
  • StaticArrays *
  • Statistics *
  • SurfaceFluxes *
  • Thermodynamics *
  • UnrolledUtilities *
  • YAML *
calibration/experiments/sphere_held_suarez_rhoe_equilmoist/Project.toml julia
  • CairoMakie *
  • ClimaAnalysis *
  • ClimaAtmos *
  • ClimaCalibrate *
  • ClimaComms *
  • ClimaUtilities *
  • Distributions *
  • EnsembleKalmanProcesses *
  • JLD2 *
  • YAML *
.dev/format/Project.toml julia
  • JuliaFormatter *
.github/workflows/pr-review.lock.yml actions
  • actions/cache/restore 27d5ce7f107fe9357f9df03efb73ab90386fccae composite
  • actions/cache/save 27d5ce7f107fe9357f9df03efb73ab90386fccae composite
  • actions/checkout de0fac2e4500dabe0009e67214ff5f5447ce83dd composite
  • actions/download-artifact 3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c composite
  • actions/github-script 3a2844b7e9c422d3c10d287c895573f7108da1b3 composite
  • actions/setup-node 48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e composite
  • actions/upload-artifact 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a composite
  • github/gh-aw-actions/setup 46d564922b082d0db93244972e8005ea6904ee5f composite
.github/workflows/update_dev_guides.yml actions
  • actions/checkout v7 composite
.github/workflows/copilot-setup-steps.yml actions
  • actions/checkout v7 composite
  • github/gh-aw-actions/setup-cli 46d564922b082d0db93244972e8005ea6904ee5f composite
.github/workflows/run-prek.yml actions
  • actions/checkout v7 composite
  • j178/prek-action v2 composite
  • julia-actions/setup-julia v3 composite
calibration/experiments/perfect_scm/Project.toml julia
  • CairoMakie *
  • ClimaAnalysis *
  • ClimaAtmos *
  • ClimaCalibrate *
  • ClimaComms *
  • Distributed *
  • EnsembleKalmanProcesses *
  • JLD2 *

Score: -Infinity