API Reference¶
Welcome to the CATChem API documentation. This section provides comprehensive reference documentation for all CATChem modules, types, and procedures.
Documentation Structure
Our API documentation combines hand-written guides with auto-generated reference material from the source code using MkDoxy. This ensures both comprehensive coverage and up-to-date accuracy.
� API Organization¶
Core Modules¶
High-level APIs for the main CATChem systems:
- State Management - StateContainer, ChemState, MetState, & DiagState data handling
- Process Interface - Process development and integration APIs
- Column Interface - Column virtualization and 1D processing
- Configuration Manager - YAML configuration system
🔗 Auto-Generated Documentation¶
→ Complete Auto-Generated API Reference
The complete API documentation includes:
- Modules Index - List of all modules
- Namespaces Index - List of all namespaces
- Files Index - List of all files
- Functions Index - List of all functions
Key Auto-Generated Sections¶
Core System Modules and Processes:
- CATChem Directory - Main CATChem Directory
- Core CATChem API - Core CATChem API functions and data types
- Core Modules - Core modules and data types for CATChem
- Processes - All atmospheric chemistry processes
Utilities:
Quick Reference¶
Key Types¶
| Type | Module | Description |
|---|---|---|
CATChemType | CATChemAPI_Mod | Main API interface |
StateContainerType | state_mod | Central data container |
ProcessInterface | ProcessInterface_Mod | Base class for processes |
ErrorManagerType | error_mod | Error handling |
ConfigDataType | config_mod | Configuration management |
Common Patterns¶
Search Tips¶
- Use the search box above to find specific procedures or types
- Browse by module for related functionality
- Check the inheritance hierarchy for process types
- Look at usage examples in the source code
Conventions¶
Naming Conventions¶
- Modules:
ModuleName_Mod - Types:
TypeNameType - Procedures:
snake_case - Constants:
UPPER_CASE
Return Codes¶
All procedures use integer return codes following the convention: - CC_SUCCESS = 0 - Successful operation - CC_FAILURE = -1 - Generic failure - Specific error codes defined in error_mod
Memory Management¶
- Pointer associations managed by StateContainer
- No explicit allocation in process modules
- Use
intent(in)for immutable data,intent(inout)for modifications
Contributing¶
Found an issue with the documentation? The API docs are generated automatically, so:
- Source Code Issues: Update the source code comments and docstrings
- Organization Issues: Modify the MkDoxy configuration in
mkdocs.yml - Missing Documentation: Add Doxygen-style comments to the source code
For details on documentation standards, see the developer guide section on documentation.