ecpet.ecconfig module¶
EC-PeT Configuration Management Module¶
Comprehensive configuration system for eddy-covariance processing workflows. Provides hierarchical parameter management with validation, defaults handling, file I/O operations, and type-safe parameter access. Supports both full and reduced configuration formats for workflow flexibility.
- Key Features:
Hierarchical parameter organization (group.parameter structure)
Type-safe parameter access with automatic conversion
Default configuration with user overrides
File pattern expansion for data discovery
Configuration validation and error correction
Minimized configuration export (non-default values only)
- class ecpet.ecconfig.Config(values=None, reduced=False)¶
Bases:
objectConfiguration management class with hierarchical parameter organization.
Provides type-safe parameter access, validation, and comparison with default values. Supports both full and reduced configuration modes for different workflow requirements.
- changed = False¶
- __init__(values=None, reduced=False)¶
Initialize configuration object with optional parameter values.
- tokens = []¶
- push(name, value, group='')¶
Set parameter value with automatic formatting.
- Parameters:
Internal function for storing parameters with automatic quote handling for complex values and list serialization.
- pull(name, na='', group='', kind=None, unlist=True)¶
Retrieve parameter value with type conversion and validation.
- Parameters:
name (str) – Parameter name
group (str, optional) – Parameter group, defaults to ‘’
kind (str, optional) – Type conversion (‘str’, ‘int’, ‘float’, ‘bool’, ‘raw’, or’auto’), defaults to ‘str’
unlist (bool, optional) – Return scalar for single values, defaults to True
na (any, optional) – Value for missing parameters, defaults to ‘’
- Returns:
Parameter value with requested type conversion
- Return type:
any
This function is providing type-safe parameter access with automatic list handling and quote processing.
- check()¶
Validate configuration parameters for completeness and consistency.
- Returns:
True if configuration is valid
- Return type:
- is_default(name, group='')¶
Check if parameter has default value.
- items()¶
Return iterator over configuration items.
- keys()¶
Return iterator over configuration keys.
- to_dict(reduced=False)¶
Return configuration as dictionary.
- exception ecpet.ecconfig.ConfigError¶
Bases:
ExceptionException raised for configuration validation errors.
- ecpet.ecconfig.read_file(filename)¶
Read configuration file with group.key = value format.
- Parameters:
filename (str) – Path to configuration file
- Returns:
Dictionary with configuration parameters
- Return type:
Parses configuration files using simple key=value syntax with dot notation for parameter groups and automatic comment removal.
- ecpet.ecconfig.write_file(filename, cd)¶
Write configuration parameters to file.
- Parameters:
- Returns:
Success flag
- Return type:
Creates configuration files with key=value format suitable for reading by read_file function.
- ecpet.ecconfig.find_imagepath()¶
Locate GUI image resources in installation.
- Returns:
Path to image directory
- Return type:
- Raises:
EnvironmentError – If image directory not found
Searches standard installation paths for GUI image resources using both modern and legacy package management approaches.
- ecpet.ecconfig.check_basic(conf: Config, correct=True)¶
Validate essential configuration parameters with optional correction.
- Parameters:
- Returns:
Validated and optionally corrected configuration
- Return type:
- Raises:
ConfigError – For invalid required parameters
Validates required parameters for eddy-covariance processing including wind components, temperature sensors, and pressure measurements.
- ecpet.ecconfig.complete(arglist)¶
Create complete configuration from user parameters and defaults.
- Parameters:
arglist (dict or Config) – User-provided configuration parameters
- Returns:
Complete configuration with defaults applied
- Return type:
Merges user parameters with default values, discarding parameters not present in default configuration.
- ecpet.ecconfig.apply(old, arglist)¶
Apply parameter changes to existing configuration.
- Parameters:
- Returns:
Updated configuration
- Return type:
Updates existing configuration with new values, appending parameters not present in original configuration.
- ecpet.ecconfig.unglob(conf)¶
Expand file patterns in configuration to actual file lists.
- Parameters:
conf (Config) – Configuration with file patterns
- Returns:
Configuration with expanded file lists
- Return type:
Resolves glob patterns in RawFastData and RawSlowData parameters to actual file lists, validating directory existence.
- ecpet.ecconfig.write(conf, filename=None, full=False)¶
Write configuration to file with optional minimization.
- Parameters:
- Returns:
Success flag
- Return type:
Creates configuration files with either complete parameters (full=True) or only non-default values (full=False) for workflow documentation.
- ecpet.ecconfig.tokenize(name, group='')¶
Generate configuration token from parameter name and group.
- Parameters:
- Returns:
Configuration token
- Return type:
- Raises:
KeyError – If token not found in default configuration
Creates dot-notation tokens (e.g., ‘Par.DoTilt’) with case-insensitive matching against default configuration parameters.