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 radiative-transfer

Last synced: about 2 hours ago
JSON representation

Repository metadata

GPU-capable cloud microphysics and aerosol parameterizations for the CliMA Earth System Model

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

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: Morrison & Milbrandt (2015) predicted particle properties for ice

Ice Nucleation

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

Installation

using Pkg
Pkg.add("CloudMicrophysics")
Pkg.add("ClimaParams")

Quick Example

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)

Documentation

Integration with Climate Models

CloudMicrophysics.jl is used throughout the CliMA ecosystem:

Contributing

Contributions are welcome. See the Developer's Guide and AGENTS.md, which points to the shared CliMA developer guides in docs/dev-guides/.

To run the test suite locally:

julia --project=test
julia>]
pkg> dev .
pkg> instantiate
julia> include("test/runtests.jl")

For questions, check the documentation or open an issue on GitHub.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 1 day ago

Total Commits: 574
Total Committers: 44
Avg Commits per committer: 13.045
Development Distribution Score (DDS): 0.624

Commits in past year: 155
Committers in past year: 18
Avg Commits per committer in past year: 8.611
Development Distribution Score (DDS) in past year: 0.71

Name Email Commits
Anna Jaruga a****a@c****u 216
Haakon Ludvig Langeland Ervik 4****e 84
amylu00 a****3@c****u 59
Tapio Schneider t****o@c****u 33
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
github-actions[bot] g****] 3
Julia Sloan j****n@c****u 3
Jeffrey Yoder j****r@u****u 3
Emily de Jong 6****h 3
CompatHelper Julia c****y@j****g 3
Mikhail Mints m****s@L****n 3
Rowan Orlijan-Rhyne r****1@s****u 3
Agnieszka Makulska a****a@s****l 2
Rowan Orlijan-Rhyne r****n@R****e 2
Valeria Barra 3****a 2
Jake Bolewski j****i@g****m 2
apoorva-thanvantri a****i@g****m 2
Sylwester Arabas s****s@a****l 2
and 14 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 165
Total pull requests: 814
Average time to close issues: 3 months
Average time to close pull requests: 15 days
Total issue authors: 22
Total pull request authors: 39
Average comments per issue: 1.29
Average comments per pull request: 2.0
Merged pull request: 543
Bot issues: 1
Bot pull requests: 78

Past year issues: 15
Past year pull requests: 124
Past year average time to close issues: 14 days
Past year average time to close pull requests: 23 days
Past year issue authors: 9
Past year pull request authors: 18
Past year average comments per issue: 0.8
Past year average comments per pull request: 1.86
Past year merged pull request: 75
Past year bot issues: 1
Past year bot pull requests: 14

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

Top Issue Authors

  • trontrytel (96)
  • haakon-e (23)
  • amylu00 (12)
  • nefrathenrici (9)
  • charleskawczynski (3)
  • rorlija1 (3)
  • sriharshakandala (3)
  • claresinger (2)
  • JuliaTagBot (1)
  • edejong-caltech (1)
  • simonbyrne (1)
  • jefftyoder (1)
  • AllThingsDynamical (1)
  • k-alphonse (1)
  • cmbengue (1)

Top Pull Request Authors

  • trontrytel (267)
  • amylu00 (118)
  • haakon-e (112)
  • github-actions[bot] (39)
  • dependabot[bot] (39)
  • nefrathenrici (35)
  • rorlija1 (28)
  • anastasia-popova (25)
  • oalcabes (20)
  • crocicc (19)
  • sajjadazimi (18)
  • tapios (13)
  • Sbozzolo (13)
  • charleskawczynski (11)
  • 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: (139)
  • P3 (82)
  • Ice :snowman: (50)
  • Launch Buildkite (45)
  • needs review (41)
  • dependencies (41)
  • packages 🍱 (40)
  • Parcel (32)
  • documentation (31)
  • ci (28)
  • parameters :bricks: (26)
  • enhancement (25)
  • tests (19)
  • GPU (15)
  • github_actions (14)
  • Aerosol Activation :bulb: (13)
  • bikeshedding :bike: :house: (12)
  • Terminal velocity (12)
  • NonEq 💧🧊 (11)
  • refactor :star2: (8)
  • CI tests & docs (6)
  • bugfix (6)
  • Aerosol :circus_tent: (6)
  • work-in-progress (6)
  • Needs review (5)
  • Dependencies 🍱 (3)
  • :heavy_multiplication_x: on_hold (3)
  • Refactor :star2: (3)
  • Radiation :sun_with_face: (2)
  • julia (2)

Dependencies

.github/workflows/CodeCov.yml actions
  • actions/checkout v2.2.0 composite
  • codecov/codecov-action v1.0.7 composite
  • julia-actions/setup-julia latest composite
.github/workflows/DocCleanup.yml actions
  • actions/checkout v2 composite
.github/workflows/JuliaFormatter.yml actions
  • 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
.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
papers/ice_nucleation_2024/AIDA_data_artifact/Project.toml julia
  • ClimaArtifactsHelper *
test/Project.toml julia
  • 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 *
docs/Project.toml julia
  • CairoMakie *
  • ClimaParams *
  • CloudMicrophysics *
  • Dierckx *
  • Distributions *
  • Documenter *
  • DocumenterCitations *
  • DocumenterInterLinks *
  • Interpolations *
  • Literate *
  • Measures *
  • OrdinaryDiffEqLowOrderRK *
  • OrdinaryDiffEqTsit5 *
  • Plots *
  • Random *
  • RootSolvers *
  • SpecialFunctions *
  • Suppressor *
  • Thermodynamics *
  • UnicodePlots *
  • UnrolledUtilities *
parcel/Project.toml julia
  • CairoMakie *
  • ClimaParams *
  • CloudMicrophysics *
  • Distributions *
  • Interpolations *
  • OrdinaryDiffEqLowOrderRK *
  • RootSolvers *
  • SpecialFunctions *
  • Test *
  • Thermodynamics *
.github/workflows/cla.yml actions
.github/workflows/downstream.yml actions
  • actions/checkout v7 composite
  • julia-actions/cache v3 composite
  • julia-actions/setup-julia v2 composite
p3_sandbox/Project.toml julia
  • CairoMakie *
  • ClimaParams *
  • CloudMicrophysics *
  • KernelAbstractions *
  • OrdinaryDiffEqLowOrderRK *
  • RootSolvers *
  • Test *
  • Thermodynamics *
papers/Project.toml julia
  • CairoMakie *
  • ClimaParams *
  • ClimaUtilities *
  • CloudMicrophysics *
  • Distributions *
  • EnsembleKalmanProcesses *
  • Interpolations *
  • LinearAlgebra *
  • NaNStatistics *
  • OrdinaryDiffEqLowOrderRK *
  • Random *
  • SpecialFunctions *
  • StatsBase *
  • Thermodynamics *
Project.toml julia
  • ClimaParams *
  • DocStringExtensions *
  • FastGaussQuadrature *
  • ForwardDiff *
  • InteractiveUtils *
  • LazyArtifacts *
  • LogExpFunctions *
  • RootSolvers *
  • SpecialFunctions *
  • StaticArrays *
  • Thermodynamics *
  • UnrolledUtilities *
box/Project.toml julia
  • CairoMakie *
  • ClimaParams *
  • CloudMicrophysics *
  • Dierckx *
  • Distributions *
  • OrdinaryDiffEqLowOrderRK *
  • Random *
  • StatsPlots *
  • Thermodynamics *
.github/workflows/update_dev_guides.yml actions
  • actions/checkout v7 composite

Score: 8.369157112588834