Footprints or backward mode footprint/std#
Description#
Footprint / backward-adjoint run: propagate an observation sensitivity to the control space.
Mathematical framework#
The adjoint (backward) mode computes the sensitivity of a scalar or vector observation functional \(\mathbf{y}^*\) to the control vector \(\mathbf{x}\):
where \(\mathbf{H}^\top\) is the adjoint (transpose Jacobian) of the observation operator and \(\delta\mathbf{y}^*\) is the observation-space increment (sensitivity weight).
Physical interpretation#
For an atmospheric transport model, \(\delta x^*_i\) represents the contribution of the emission/flux at grid cell \(i\) to the selected observation. These footprints or influence functions (also called adjoint sensitivities or retroplumes in Lagrangian models) show which surface regions and time periods are “seen” by the observation.
Setting the increments#
The observation-space increment \(\delta\mathbf{y}^*\) is set to:
the value of the
incrementsparameter (uniform, if provided), orthe values from the
sim_tlcolumn of the monitor files (default),
with all non-observed locations zeroed out.
The resulting control-space sensitivity \(\delta\mathbf{x}^*\) is stored
in the dx field of the control vector and can be dumped or post-processed
as any other pyCIF 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:
- increments : float, optional
Increment value used to fill the observation vector increment. By default the values from the ‘sim_tl’ column of the monitor files are used.
- use_xb : bool, optional, default True
Initialise the control vector
xfrom the backgroundxbbefore running.
- reload_results : bool, optional, default False
Skip already-completed simulations and reload their results from disk.
Requirements#
The current plugin requires the present plugins to run properly:
Requirement name |
Requirement type |
Explicit definition |
Any valid |
Default name |
Default version |
|---|---|---|---|---|---|
controlvect |
True |
True |
standard |
std |
|
obsvect |
True |
True |
standard |
std |
|
obsoperator |
True |
False |
standard |
std |
YAML template#
Please find below a template for a YAML configuration:
1mode:
2 plugin:
3 name: footprint
4 version: std
5 type: mode
6
7 # Optional arguments
8 increments: XXXXX # float
9 use_xb: XXXXX # bool
10 reload_results: XXXXX # bool
See also