Complex transform

Complex transform#

Complex transforms: physics-based and observation-operator-specific transforms.

These transforms implement non-trivial physical or chemical mappings that sit beyond the system infrastructure transforms (system/) and the basic algebraic transforms (basic/).

Transform summary#

conc2ratio

Converts individual isotopologue concentrations to isotopic ratios (e.g. δ¹³C, δD) expressed in per-mil (‰). Forward: concentrations → ratios. Adjoint: propagates ratio sensitivities back to individual isotopologue concentration sensitivities.

ratio2conc

The inverse of conc2ratio: converts isotopic ratios (in ‰) and a total concentration back to individual isotopologue concentrations. Handles an arbitrary number of isotopologues via a binary-tree expansion.

moist2dry

Converts moist-air mixing ratios to dry-air number concentrations (molecules cm⁻³) using the specific humidity field and the species molar mass.

isotopes

Legacy two-isotopologue version of the conc2ratio / ratio2conc pair. Handles forward, adjoint, and obs-vector conversion (native2obsvect / obsvect2native) for a single isotopic signature.

satellites

Applies satellite averaging kernels and vertical interpolation to convert gridded model concentrations to satellite-equivalent column or level observations. Supports a wide range of retrieval formulae (OMI, TROPOMI, MOPITT, GOSAT, IASI, OCO-2, …).

diagmet

Replicates the historical CHIMERE diagmet.f90 script: processes raw ECMWF meteorological fields to produce the derived fields required by CHIMERE (altitudes, air density, boundary-layer height, turbulent diffusivity, convective fluxes, etc.). The adjoint is a no-op.

Available Complex transform#

The following transform of sub-type complex are implemented in pyCIF so far: