Skip to content

NCAR/CheMPAS

Repository files navigation

CheMPAS

CheMPAS (Chemistry for MPAS) is a coupled atmospheric-chemistry model built on the MPAS framework. It integrates MUSICA/MICM atmospheric chemistry into MPAS-Atmosphere, enabling chemical transport modeling on MPAS's unstructured Voronoi meshes.

CheMPAS is derived from NCAR/MPAS-Model-ACOM-dev (a fork of MPAS-Dev/MPAS-Model). It is an independent project and does not sync with the upstream repositories.

Development Workflow

CheMPAS development uses coding agents (Claude, Codex, Gemini) as tools for implementation, review, and analysis. Humans set priorities, make scientific and architectural decisions, and review validation results. See PURPOSE.md for the workflow and AGENTS.md for operational details.

Building

CheMPAS builds with LLVM compilers (flang/clang) on macOS:

scripts/check_build_env.sh
eval "$(scripts/check_build_env.sh --export)"

make -j8 llvm \
  CORE=atmosphere \
  PIO=$HOME/software \
  NETCDF=/opt/homebrew \
  PNETCDF=$HOME/software \
  PRECISION=double \
  MUSICA=true

See BUILD.md for the MUSICA/pkg-config preflight notes and RUN.md for test case execution.

Code Layout

CheMPAS/
├── src/
│   ├── driver              -- Main driver (standalone mode)
│   ├── external            -- External dependencies
│   ├── framework           -- MPAS framework (data types, comms, I/O)
│   ├── operators           -- Mesh operators
│   ├── tools/
│   │   ├── registry        -- Registry.xml parser
│   │   └── input_gen       -- Stream and namelist generators
│   ├── core_atmosphere/
│   │   ├── dynamics        -- Dynamical core
│   │   ├── physics         -- Physics parameterizations
│   │   └── chemistry/
│   │       └── musica      -- MUSICA/MICM coupling
│   └── core_init_atmosphere
├── scripts/                -- Visualization and analysis tools
├── testing_and_setup/      -- Test case configuration
└── default_inputs/         -- Default stream and namelist files

Documentation

Document Description
PURPOSE.md Project motivation and development philosophy
AGENTS.md Agent roles, workflow, and review gates
docs/README.md Documentation index by topic
ARCHITECTURE.md System architecture
BUILD.md Build instructions
RUN.md Running test cases
MUSICA_INTEGRATION.md MUSICA/MICM coupling details
MUSICA_API.md MUSICA Fortran API reference
TEST_RUNS.md Recorded run outcomes and validation notes
BENCHMARKS.md Agent and model benchmark comparison
TUVX_INTEGRATION.md TUV-x integration summary and development test case
VISUALIZE.md Chemistry visualization tools
User Guide Imported user guide chapters

License

See LICENSE.

About

CheMPAS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors