Analytical inversions analytic/std
#
Description#
Computes an analytical inversion based on a given observation operator, control vector and observation vector.
It first computes explicitly the linear observation operator \(\mathbf{H}\) by running so-called base functions or response functions. To do so, it iterates on every dimension \(i\) of the control vector and computes \(\mathcal{H}(\mathbf{x}_i)\) with \(\mathbf{x}_i\) a control vector whose values are null, with the exception of the element \(i\) set to 1.
Base functions are computed as individual pyCIF forward simulations and are stored in $workdir/base_functions/
Warning
As one forward simulation per dimension of the control vector is needed for this mode,
please first check the dimension of your control vector and the time required for each forward run.
You can check this by using the option dryrun
(see below)
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:
Optional arguments#
- dump_nc_base_control : bool, optional, default False
Dumps elementary control vectors used to build the base functions as NetCDF format; this helps diagnosing whether base functions are computed based on e.g., fluxes consistent with the user expectations
- dryrun : bool, optional, default False
Runs a dry analytical inversion to estimate the time needed to compute the full observation operator
- resp_func_only : bool, optional, default False
Does not run the inversion, only the response functions to build the H matrix
Requirements#
The current plugin requires the present plugins to run properly:
Requirement name |
Requirement type |
Explicit definition |
Any valid |
Default name |
Default version |
---|---|---|---|---|---|
obsvect |
False |
True |
standard |
std |
|
controlvect |
True |
True |
standard |
std |
|
obsoperator |
True |
True |
standard |
std |
|
platform |
True |
True |
None |
None |
YAML template#
Please find below a template for a YAML configuration:
1mode:
2 plugin:
3 name: analytic
4 version: std
5 type: mode
6
7 # Optional arguments
8 dump_nc_base_control: XXXXX # bool
9 dryrun: XXXXX # bool
10 resp_func_only: XXXXX # bool