Adding background to simulations background/std

Adding background to simulations background/std#

Description#

background transform: add pre-computed background concentrations to regional simulations.

In regional atmospheric inversions, the modelled concentrations inside the domain are influenced by emissions outside the domain (transported in through the lateral boundaries). This transform adds a background field — pre-computed from a global model with regional emissions switched off — to the regional model’s simulated concentrations.

This implements the background-subtraction approach described in Rödenbeck et al., 2009: the regional model optimises the residual between observed concentrations and the background, so only regional emission increments enter the control vector.

The background field is forward-filled in time and matched to each observation station, then added to the regional simulated concentration:

\[y_{out} = y_{regional} + y_{background}\]

The adjoint is the identity (sensitivity passes straight through, since the background is not a control variable).

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#

spec : str, mandatory

Name of the tracer (species) for which the background is added. Must match a parameter declared in both the concs and background components of the datavect.

Optional arguments#

parameter : str, optional

Parameter name on which the transform works on

component : str, optional

Component 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

Requirements#

The current plugin requires the present plugins to run properly:

Requirement name

Requirement type

Explicit definition

Any valid

Default name

Default version

datavect

DataVect

False

True

None

None

YAML template#

Please find below a template for a YAML configuration:

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