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
- Host: GitHub
- URL: https://github.com/CliMA/ClimaAtmos.jl
- Owner: CliMA
- License: apache-2.0
- Created: 2021-06-17T17:25:24.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2026-08-12T07:23:37.000Z (2 days ago)
- Last Synced: 2026-08-12T14:26:11.512Z (2 days ago)
- Topics: atmosphere, atmospheric-modeling, climate, climate-modeling, data-assimilation, earth-system-model, fluid-dynamics, gpu, julia, machine-learning, optimization, scientific-computing
- Language: Julia
- Homepage: https://clima.github.io/ClimaAtmos.jl/dev/
- Size: 266 MB
- Stars: 125
- Watchers: 6
- Forks: 37
- Open Issues: 104
- Releases: 121
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS.md
- License: LICENSE
- Notice: NOTICE
- Agents: AGENTS.md
- Claude: CLAUDE.md
- Copilot: .github/copilot-instructions.md
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 | |
| 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.
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
- Stable docs: equations, parameterizations, configuration reference, and API
- Dev docs: latest development version
- Available diagnostics: output variables
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
- Name: Climate Modeling Alliance
- Login: CliMA
- Email: clima@caltech.edu
- Kind: organization
- Description: An alliance of scientists, engineers and applied mathematicians, dedicated to pioneering a new, data-informed approach to climate modeling
- Website: https://clima.caltech.edu
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/43161188?v=4
- Repositories: 67
- Last ynced at: 2023-03-03T21:04:27.588Z
- Profile URL: https://github.com/CliMA
GitHub Events
Total
- Create event: 1414
- Commit comment event: 69
- Release event: 30
- Delete event: 1292
- Member event: 1
- Pull request event: 1121
- Fork event: 16
- Issues event: 212
- Watch event: 24
- Issue comment event: 890
- Push event: 10223
- Pull request review event: 1577
- Pull request review comment event: 1360
Last Year
- Create event: 530
- Commit comment event: 22
- Release event: 12
- Delete event: 553
- Pull request event: 305
- Fork event: 5
- Issues event: 81
- Watch event: 6
- Issue comment event: 184
- Push event: 3841
- Pull request review comment event: 296
- Pull request review event: 330
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 | 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:
- caltech.edu: 12
- thapar.edu: 1
- ucsd.edu: 1
- usc.edu: 1
- vpn-252-231.caltech.edu: 1
- ec-intl.com: 1
- ucdavis.edu: 1
- wolfson.oxon.org: 1
- runningtide.com: 1
- clima.gps.caltech.edu: 1
- unr.edu: 1
- julialang.org: 1
- pm.me: 1
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
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
- Total packages: 2
- Total downloads: unknown
- Total dependent packages: 0 (may contain duplicates)
- Total dependent repositories: 0 (may contain duplicates)
- Total versions: 242
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
- actions/checkout v2 composite
- actions/checkout v3 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-invalidations v1 composite
- julia-actions/setup-julia v1 composite
- JuliaRegistries/TagBot v1 composite
- 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
- actions/checkout v2 composite
- julia-actions/setup-julia latest composite
- ArgParse *
- CairoMakie *
- ClimaAtmos *
- ClimaDiagnostics *
- ClimaParams *
- ClimaUtilities *
- DiffEqBase *
- Documenter *
- DocumenterCitations *
- Krylov *
- LazyBroadcast *
- Logging *
- OrderedCollections *
- PrettyTables *
- RootSolvers *
- SciMLBase *
- TOML *
- YAML *
- actions/checkout v4 composite
- julia-actions/cache v2 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/setup-julia v2 composite
- ClimaAtmos *
- ClimaComms *
- ClimaCore *
- ClimaParams *
- Logging *
- PrecompileTools *
- 382 dependencies
- 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 *
- 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
- ArgParse *
- CSV *
- CairoMakie *
- ClimaAnalysis *
- ClimaAtmos *
- ClimaCalibrate *
- ClimaComms *
- ClimaDiagnostics *
- ClimaParams *
- ClimaUtilities *
- DataFrames *
- Distributions *
- EnsembleKalmanProcesses *
- Glob *
- Interpolations *
- JLD2 *
- MPI *
- NCDatasets *
- YAML *
- 395 dependencies
- 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 *
- CairoMakie *
- ClimaAnalysis *
- ClimaAtmos *
- ClimaCalibrate *
- ClimaComms *
- ClimaUtilities *
- Distributions *
- EnsembleKalmanProcesses *
- JLD2 *
- YAML *
- JuliaFormatter *
- 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
- actions/checkout v7 composite
- actions/checkout v7 composite
- github/gh-aw-actions/setup-cli 46d564922b082d0db93244972e8005ea6904ee5f composite
- actions/checkout v7 composite
- j178/prek-action v2 composite
- julia-actions/setup-julia v3 composite
- CairoMakie *
- ClimaAnalysis *
- ClimaAtmos *
- ClimaCalibrate *
- ClimaComms *
- Distributed *
- EnsembleKalmanProcesses *
- JLD2 *
Score: -Infinity