GEddySoft_main.GEddySoft_main

GEddySoft_main.GEddySoft_main(str_day, ini, log_filename)[source]

Process eddy covariance data for a single day (when used in multithread mode) or for the time period given in the ini file.

This function handles the complete processing chain for eddy covariance data, from raw high-frequency measurements to quality-controlled fluxes. It supports both single-threaded and parallel processing modes.

Parameters:
  • str_day (str) – Date string in format ‘YYYYMMDD’ for the day to process. Use ‘no_multithread’ for single-threaded mode.

  • ini (dict) –

    Configuration dictionary containing all processing parameters:

    • files: Input/output paths and file patterns

    • param: Processing parameters (QC thresholds, methods, etc.)

    • run_param: Runtime parameters

    • sonic: Sonic anemometer configuration

    • irga: Gas analyzer configuration

  • log_filename (str) – Path to the log file where processing messages will be written

Returns:

unique_days – List of successfully processed days

Return type:

list

Notes

The processing workflow includes:

  1. Data loading and synchronization

    • Sonic anemometer data

    • Trace gas measurements

    • Auxiliary meteorological data

  2. Quality control

    • Spike detection and removal

    • Diagnostic value checking

    • Missing data handling

  3. Coordinate rotations

    • Double rotation or

    • Planar fit method

  4. Time lag optimization

    • Covariance maximization

    • RH-dependent correction

  5. Flux calculations

    • Detrending options

    • Webb-Pearman-Leuning terms

  6. Quality assessment

    • Stationarity tests

    • Integral turbulence characteristics

    • Spectral analysis

  7. Uncertainty estimation

    • Random error (Finkelstein & Sims)

    • Detection limits

The function creates two types of output files:

  1. Results file (HDF5)

    • Fluxes and means

    • Quality flags

    • Processing parameters

  2. Covariance file (HDF5, optional)

    • Raw covariance functions

    • Time lag information

Examples

>>> # Process a single day
>>> ini = read_main_inputs('config.txt')
>>> log_file = 'processing.log'
>>> processed = GEddySoft_main('20240101', ini, log_file)