File ConfigManager_Mod.F90¶
FileList > core > ConfigManager_Mod.F90
Go to the source code of this file
Enhanced configuration management for CATChem. More...
Namespaces¶
| Type | Name |
|---|---|
| namespace | configmanager_mod |
Detailed Description¶
Author:
CATChem Development Team
Date:
2025
Version:
2.0
This module provides a modern, flexible configuration management system for CATChem, supporting modular configuration loading, validation, and runtime configuration updates.
The ConfigManager consolidates and modernizes CATChem configuration management by replacing two previous modules:
Replaces config_opt_mod.F90: * Legacy config support removed, now using modern YAML-based ConfigDataType * All configuration parameters and options * Process-specific configuration flags
Replaces config_mod.F90: * Read_Input_File subroutine -> ConfigManagerload_from_file() method * YAML parsing logic with enhanced error handling * Configuration validation and initialization
New features: * Hierarchical configuration loading with includes and inheritance * Schema-based validation with detailed error reporting * Plugin-based process configuration loading * Runtime configuration updates and hot-reloading * Configuration templates and presets * Environment variable and command-line override support
Usage Example¶
use configmanager_mod
type(ConfigManagerType) :: config_mgr
type(StateContainer) :: container
integer :: rc
call config_mgr%init(rc)
call config_mgr%load_from_file('CATChem_config.yml', rc)
call config_mgr%apply_to_container(container, rc)
The documentation for this class was generated from the following file src/core/ConfigManager_Mod.F90