Tracer families or addition families/std

Tracer families or addition families/std#

Description#

families transform: aggregate multiple tracers into one by summation.

Sums a list of input tracers (parameters_in) to produce a single output tracer (parameter_out):

\[y_{out} = \sum_{i} x_{in,i}\]

A typical use case is grouping isotopologue species (e.g. ¹²CH₄ and ¹³CH₄) into a total CH₄ field, or combining sectoral emission fluxes into a single total flux field.

The adjoint broadcasts the output sensitivity back equally to every input tracer (since \(\partial y_{out} / \partial x_{in,i} = 1\)).

Both gridded (xarray) and sparse (observation-indexed DataFrame) data are supported. Ensemble (batch sampling) runs with __sample#N tracer names are handled by routing each sample’s inputs to the corresponding output.

YAML arguments#

The following arguments are used to configure the plugin. pyCIF will return an exception at the initialization if mandatory arguments are not specified, or if any argument does not fit accepted values or type:

Mandatory arguments#

component : str, mandatory

Component of the input tracers to be aggregated

parameters_in : list, mandatory

List of tracers to be aggregated.

Optional arguments#

parameter : str, optional

Parameter name on which the transform works on

orig_parameter_plg : Plugin, optional

Plugin object on which the transform works on

orig_component_plg : Plugin, optional

Corresponding component object on which the transform works on

successor : str, optional

Name of the successor transform

precursor : str, optional

Name of the precursor transform

component_out : str, optional

Component of the output tracer, if different from the input component.

parameter_out : str, optional

Name of the output tracer.

YAML template#

Please find below a template for a YAML configuration:

 1transform:
 2  plugin:
 3    name: families
 4    version: std
 5    type: transform
 6
 7  # Mandatory arguments
 8  component: XXXXX  # str
 9  parameters_in: XXXXX  # list
10
11  # Optional arguments
12  parameter: XXXXX  # str
13  orig_parameter_plg: XXXXX  # Plugin
14  orig_component_plg: XXXXX  # Plugin
15  successor: XXXXX  # str
16  precursor: XXXXX  # str
17  component_out: XXXXX  # str
18  parameter_out: XXXXX  # str