CloudMicrophysics.jl
Provides a library of cloud microphysics and aerosol parameterizations for the CliMA Earth System Model.
https://github.com/clima/cloudmicrophysics.jl
Category: Atmosphere
Sub Category: Atmospheric Chemistry and Aerosol
Keywords
aerosols atmospheric-physics climate-modeling cloud-microphysics gpu ice-nucleation julia parameterization precipitation scientific-computing
Keywords from Contributors
atmospheric-modelling climate data-assimilation atmospheric-sciences earth-system-model climate-model pde rte rrtmgp spectral-elements
Last synced: about 17 hours ago
JSON representation
Repository metadata
GPU-capable cloud microphysics and aerosol parameterizations for the CliMA Earth System Model
- Host: GitHub
- URL: https://github.com/clima/cloudmicrophysics.jl
- Owner: CliMA
- License: apache-2.0
- Created: 2021-07-26T14:25:47.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2026-10-01T16:52:35.000Z (3 days ago)
- Last Synced: 2026-10-02T16:39:22.457Z (2 days ago)
- Topics: aerosols, atmospheric-physics, climate-modeling, cloud-microphysics, gpu, ice-nucleation, julia, parameterization, precipitation, scientific-computing
- Language: Julia
- Homepage: https://clima.github.io/CloudMicrophysics.jl/dev/
- Size: 111 MB
- Stars: 56
- Watchers: 5
- Forks: 11
- Open Issues: 44
- Releases: 103
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Notice: NOTICE
- Agents: AGENTS.md
README.md
CloudMicrophysics.jl
CloudMicrophysics.jl provides a library of cloud microphysics and aerosol parameterizations for the CliMA Earth System Model. It implements bulk microphysics schemes for cloud formation, precipitation, and aerosol processes, designed for high-performance climate simulations.
| Documentation | |
| Version | |
| License | |
| Tests | |
| Code Coverage | |
| Downloads |
Quick Start
Installation
using Pkg
Pkg.add("CloudMicrophysics")
Pkg.add("ClimaParams")
Basic Usage
import CloudMicrophysics as CM
import CloudMicrophysics.Microphysics1M as CM1
import CloudMicrophysics.Parameters as CMP
# Create microphysics parameters
rain = CMP.Rain(Float64)
vel = CMP.Blk1MVelType(Float64).rain
# Compute rain terminal velocity
ρ = 1.2 # air density [kg/m³]
q_rai = 1e-3 # rain specific content [kg/kg]
v_term = CM1.terminal_velocity(rain, vel, ρ, q_rai)
Running tests locally
# Load additional packages needed for tests
julia --project=test
# Enter Package Manager and develop locally
julia>]
pkg> dev .
pkg> instantiate
# Run the tests
julia> include("test/runtests.jl")
Key Features
🌧️ Bulk Microphysics Schemes
- 0-moment scheme: Simple precipitation removal
- 1-moment scheme: Marshall-Palmer distributions for rain and snow
- 2-moment scheme: Seifert & Beheng (2006) with mass and number concentration
- P3 scheme: Predicted particle properties for ice
🧊 Ice Nucleation
- Heterogeneous nucleation: Deposition, immersion freezing (ABIFM)
- Homogeneous nucleation: Koop et al. (2000) parameterization
- INP distributions: Frostenberg et al. (2023)
💨 Aerosol Processes
- Aerosol activation: Abdul-Razzak & Ghan (2000) parameterization
- Aerosol nucleation: H₂SO₄ and organic nucleation pathways
- Aerosol model: Modal distributions with κ-Köhler theory
⚡ High Performance
- Type-stable and GPU-compatible (CUDA.jl, AMDGPU.jl)
- AD-compatible (ForwardDiff.jl) for differentiable physics
- Optimized for minimal allocations
Documentation
- Getting Started - Installation and first steps
- API Reference - Detailed function documentation
- Microphysics Schemes - Scheme descriptions
Integration with Climate Models
CloudMicrophysics.jl is used throughout the CliMA ecosystem:
- ClimaAtmos - Atmospheric model
- KinematicDriver - 1D/2D kinematic framework
- Thermodynamics - Moist thermodynamics
Getting Help
For questions, check the documentation or open an issue on GitHub.
Owner metadata
- Name: Climate Modeling Alliance
- Login: CliMA
- Email: clima@caltech.edu
- Kind: organization
- Description: The next generation of climate models. Built in the open.
- Website: https://clima.caltech.edu
- Location: United States of America
- Twitter: ClimateMachine
- Company:
- Icon url: https://avatars.githubusercontent.com/u/43161188?v=4
- Repositories: 67
- Last ynced at: 2026-10-03T05:55:21.890Z
- Profile URL: https://github.com/CliMA
GitHub Events
Total
- Commit comment event: 63
- Create event: 194
- Delete event: 175
- Fork event: 3
- Issue comment event: 247
- Issues event: 39
- Pull request event: 291
- Pull request review comment event: 244
- Pull request review event: 281
- Push event: 1792
- Release event: 28
- Watch event: 8
Last Year
- Commit comment event: 17
- Create event: 43
- Delete event: 31
- Issue comment event: 41
- Issues event: 10
- Pull request event: 54
- Pull request review comment event: 50
- Pull request review event: 49
- Push event: 556
- Release event: 5
- Watch event: 1
Committers metadata
Last synced: 1 day ago
Total Commits: 551
Total Committers: 42
Avg Commits per committer: 13.119
Development Distribution Score (DDS): 0.619
Commits in past year: 136
Committers in past year: 17
Avg Commits per committer in past year: 8.0
Development Distribution Score (DDS) in past year: 0.75
| Name | Commits | |
|---|---|---|
| Anna Jaruga | a****a@c****u | 210 |
| Haakon Ludvig Langeland Ervik | 4****e | 73 |
| amylu00 | a****3@c****u | 59 |
| Tapio Schneider | t****o@c****u | 30 |
| nefrathenrici | n****i@g****m | 29 |
| Charles Kawczynski | k****s@g****m | 27 |
| Sajjad Azimi | a****i@c****u | 18 |
| Anastasia Popova | a****a@c****u | 11 |
| Caterina Croci | c****c@g****m | 9 |
| dependabot[bot] | 4****] | 8 |
| Gabriele Bozzola | g****a@c****u | 7 |
| sriharshakandala | s****s@g****m | 6 |
| Olivia Alcabes | o****s@r****m | 4 |
| Kaitlyn Alphonse | k****e@e****m | 4 |
| imreddyTeja | t****5@g****m | 4 |
| Gregory L. Wagner | g****r@g****m | 4 |
| Olivia Alcabes | 5****s | 4 |
| Mikhail Mints | m****s@L****n | 3 |
| CompatHelper Julia | c****y@j****g | 3 |
| Rowan Orlijan-Rhyne | r****1@s****u | 3 |
| github-actions[bot] | g****] | 3 |
| Emily de Jong | 6****h | 3 |
| Julia Sloan | j****n@c****u | 3 |
| Jeffrey Yoder | j****r@u****u | 2 |
| Jake Bolewski | j****i@g****m | 2 |
| Sylwester Arabas | s****s@a****l | 2 |
| apoorva-thanvantri | a****i@g****m | 2 |
| Agnieszka Makulska | a****a@s****l | 2 |
| Valeria Barra | 3****a | 2 |
| Rowan Orlijan-Rhyne | r****n@R****e | 2 |
| and 12 more... | ||
Committer domains:
- caltech.edu: 11
- google.com: 1
- wolfson.oxon.org: 1
- anthropic.com: 1
- rowans-mbp-2.home: 1
- student.uw.edu.pl: 1
- agh.edu.pl: 1
- unr.edu: 1
- swarthmore.edu: 1
- julialang.org: 1
- laptop-am7o87m0.localdomain: 1
- ec-intl.com: 1
- runningtide.com: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 164
Total pull requests: 786
Average time to close issues: 3 months
Average time to close pull requests: 15 days
Total issue authors: 21
Total pull request authors: 35
Average comments per issue: 1.24
Average comments per pull request: 2.0
Merged pull request: 524
Bot issues: 1
Bot pull requests: 78
Past year issues: 14
Past year pull requests: 96
Past year average time to close issues: 12 days
Past year average time to close pull requests: 24 days
Past year issue authors: 8
Past year pull request authors: 14
Past year average comments per issue: 0.5
Past year average comments per pull request: 1.83
Past year merged pull request: 56
Past year bot issues: 1
Past year bot pull requests: 14
Top Issue Authors
- trontrytel (96)
- haakon-e (23)
- amylu00 (12)
- nefrathenrici (9)
- sriharshakandala (3)
- charleskawczynski (3)
- rorlija1 (3)
- claresinger (2)
- k-alphonse (1)
- cmbengue (1)
- JuliaTagBot (1)
- imreddyTeja (1)
- edejong-caltech (1)
- simonbyrne (1)
- jefftyoder (1)
Top Pull Request Authors
- trontrytel (262)
- amylu00 (118)
- haakon-e (98)
- github-actions[bot] (39)
- dependabot[bot] (39)
- nefrathenrici (35)
- rorlija1 (28)
- anastasia-popova (25)
- oalcabes (20)
- crocicc (19)
- sajjadazimi (18)
- Sbozzolo (13)
- charleskawczynski (11)
- tapios (10)
- edejong-caltech (8)
Top Issue Labels
- P3 (25)
- enhancement (20)
- Ice :snowman: (20)
- Parcel (13)
- SDI (12)
- Aerosol :circus_tent: (12)
- GPU (11)
- documentation (10)
- tests (8)
- parameters :bricks: (7)
- Aerosol Activation :bulb: (6)
- :heavy_multiplication_x: on_hold (5)
- refactor :star2: (4)
- Terminal velocity (4)
- packages 🍱 (4)
- CI tests & docs (2)
- good first issue (2)
- bug (2)
- tagbot-manual (1)
- Approved :four_leaf_clover: (1)
- Easy (1)
- bikeshedding :bike: :house: (1)
- Radiation :sun_with_face: (1)
- question (1)
- Refactor :star2: (1)
- ci (1)
Top Pull Request Labels
- Approved :four_leaf_clover: (126)
- P3 (75)
- Ice :snowman: (50)
- dependencies (41)
- needs review (41)
- packages 🍱 (40)
- Parcel (32)
- documentation (31)
- ci (28)
- parameters :bricks: (26)
- Launch Buildkite (25)
- enhancement (25)
- tests (19)
- GPU (15)
- github_actions (14)
- Aerosol Activation :bulb: (13)
- Terminal velocity (12)
- bikeshedding :bike: :house: (12)
- NonEq 💧🧊 (11)
- refactor :star2: (8)
- work-in-progress (6)
- Aerosol :circus_tent: (6)
- bugfix (6)
- CI tests & docs (5)
- Refactor :star2: (3)
- :heavy_multiplication_x: on_hold (3)
- Radiation :sun_with_face: (2)
- julia (2)
- Dependencies 🍱 (2)
- Needs review (1)
Dependencies
- actions/checkout v2.2.0 composite
- codecov/codecov-action v1.0.7 composite
- julia-actions/setup-julia latest composite
- actions/checkout v2 composite
- actions/checkout v2.2.0 composite
- dorny/paths-filter v2.9.1 composite
- julia-actions/setup-julia latest composite
- styfle/cancel-workflow-action 0.4.0 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
- ClimaArtifactsHelper *
- Aqua *
- BenchmarkTools *
- CSV *
- CUDA *
- ClimaComms *
- ClimaCore *
- ClimaParams *
- CloudMicrophysics *
- DataFrames *
- DataFramesMeta *
- Distributions *
- EnsembleKalmanProcesses *
- EvoTrees *
- Flux *
- ForwardDiff *
- Interpolations *
- JET *
- KernelAbstractions *
- LinearAlgebra *
- LogExpFunctions *
- LoweredCodeUtils *
- MLJ *
- MLJFlux *
- MLJModels *
- OrdinaryDiffEqLowOrderRK *
- Profile *
- QuadGK *
- Random *
- SpecialFunctions *
- StatsBase *
- Test *
- CairoMakie *
- ClimaParams *
- CloudMicrophysics *
- Dierckx *
- Distributions *
- Documenter *
- DocumenterCitations *
- DocumenterInterLinks *
- Interpolations *
- Literate *
- Measures *
- OrdinaryDiffEqLowOrderRK *
- OrdinaryDiffEqTsit5 *
- Plots *
- Random *
- RootSolvers *
- SpecialFunctions *
- Suppressor *
- Thermodynamics *
- UnicodePlots *
- UnrolledUtilities *
- CairoMakie *
- ClimaParams *
- CloudMicrophysics *
- Distributions *
- Interpolations *
- OrdinaryDiffEqLowOrderRK *
- RootSolvers *
- SpecialFunctions *
- Test *
- Thermodynamics *
- actions/checkout v7 composite
- julia-actions/cache v3 composite
- julia-actions/setup-julia v2 composite
- CairoMakie *
- ClimaParams *
- CloudMicrophysics *
- KernelAbstractions *
- OrdinaryDiffEqLowOrderRK *
- RootSolvers *
- Test *
- Thermodynamics *
- CairoMakie *
- ClimaParams *
- ClimaUtilities *
- CloudMicrophysics *
- Distributions *
- EnsembleKalmanProcesses *
- Interpolations *
- LinearAlgebra *
- NaNStatistics *
- OrdinaryDiffEqLowOrderRK *
- Random *
- SpecialFunctions *
- StatsBase *
- Thermodynamics *
- ClimaParams *
- DocStringExtensions *
- FastGaussQuadrature *
- ForwardDiff *
- InteractiveUtils *
- LazyArtifacts *
- LogExpFunctions *
- RootSolvers *
- SpecialFunctions *
- StaticArrays *
- Thermodynamics *
- UnrolledUtilities *
- CairoMakie *
- ClimaParams *
- CloudMicrophysics *
- Dierckx *
- Distributions *
- OrdinaryDiffEqLowOrderRK *
- Random *
- StatsPlots *
- Thermodynamics *
- actions/checkout v7 composite
Score: 8.34283980427146