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: (optional): 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
accepted type: <class ‘bool’>
dryrun: (optional): False
Runs a dry analytical inversion to estimate the time needed to compute the full observation operator
accepted type: <class ‘bool’>
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
8 # Optional arguments
9 dump_nc_base_control: XXXXX
10 dryrun: XXXXX