CATChem Library and Modeling Component¶
CATChem (Configurable ATmospheric Chemistry) is a library and modeling component that includes all chemical and aerosol processes needed to perform atmospheric chemistry and composition simulations within a model through a flexible, easy to modify, and well-documented infrastructure. CATChem will include the following processes: chemical kinetics, aerosols, photolysis, wet deposition, dry deposition, connections to emissions, and connection to physics schemes. CATChem is integrated into NOAAโs Unified Forecasting System (https://ufscommunity.org/) to create UFS-Chem. UFS-Chem is a modern, high-performance atmospheric chemistry model designed for operational and research applications including weather, air quality, and smoke forecasting. Built with modern Fortran and designed for scalability, CATChem provides sophisticated atmospheric chemistry capabilities as an open-source community project.
โจ Key Features¶
- High Performance
Optimized for modern HPC systems with column virtualization, efficient memory management, and scalable parallelization.
- Modular Architecture
Process-based design with pluggable schemes, flexible configuration, and clean separation of concerns.
- Operational Ready
Designed for 24/7 operational use with robust error handling, comprehensive diagnostics, and monitoring capabilities.
- Comprehensive Chemistry
Full atmospheric chemistry including gas-phase, aerosol processes, emissions, deposition, and transport.
๐ Quick Start¶
๐งช Available Processes¶
| Process Type | Description | Status |
|---|---|---|
| Chemistry | Gas-phase and aerosol chemistry | ๐ง In development |
| Emissions | Anthropogenic and biogenic emissions | ๐ง In development |
| Settling | Gravitational settling with slip correction | ๐ง In Development |
| Dry Deposition | Surface deposition processes | ๐ง In Development |
| Wet Deposition | Precipitation scavenging | ๐ง In Development |
| Dust | Mineral dust emission and transport | ๐ง In development |
| Sea Salt | Marine aerosol processes | โ Production |
๐๏ธ Architecture Overview¶
flowchart TB
A["Driver/Host Model"] --> B["CATChem API"]
B --> C["State Management"]
C --> D["Process Manager"]
D --> E["Column Virtualization"]
E --> F{"Process Types"}
F --> G["Chemistry Processes"]
F --> H["Transport Processes"]
F --> I["Emission Processes"]
F --> J["Loss Processes"]
G --> K["Diagnostic System"]
H --> K
I --> K
J --> K
K --> L["Output Manager"] Modern Design Principles
- Separation of Concerns: Clear boundaries between I/O, computation, and state management
- Column Virtualization: Efficient 1D processing with automatic parallelization
- Process-Based Architecture: Modular, testable, and maintainable components
- StateContainer Pattern: Unified data management with automatic dependency tracking
- Comprehensive Diagnostics: Built-in monitoring, profiling, and error reporting
๐ฏ Use Cases¶
Operational Weather Prediction¶
- NOAA UFS Integration: Native support for FV3 and other UFS components
- Real-time Processing: Optimized for operational time constraints
- Ensemble Forecasting: Efficient multi-member ensemble capabilities
Research Applications¶
- Process Studies: Individual process testing and validation
- Sensitivity Analysis: Parameter perturbation and uncertainty quantification
- Model Development: Framework for new process implementation
Air Quality Forecasting¶
- Multi-scale Modeling: Global to urban scale applications
- Chemical Data Assimilation: Support for observation integration
- Health Impact Assessment: Human exposure and risk evaluation
๐ Documentation Structure¶
Get up and running with CATChem in minutes
Comprehensive guide for model users
Technical documentation for developers
Complete API documentation
CATChem is incorporated into the UFS to create UFS-Chem or the Unified Forecast System with Chemistry
Learn more how you can use, test, or develop CATChem and UFS-Chem!
๐ค Community & Support Quick Reference¶
- GitHub Repository: UFS-Community/CATChem
- Documentation: https://catchem.readthedocs.io
- Issue Tracker: GitHub Issues
- Discussions: GitHub Discussions
๐ License¶
CATChem is released under the Apache 2.0 License.
Community-Driven Atmospheric Chemistry Modeling
Open source project supporting operational and research applications including weather, air quality, and smoke forecasting