Data initialization from the control vector fromcontrol/std#
Description#
fromcontrol transform: map control vector to physical input data formats.
This is the first transform in every forward pipeline branch
(start_pipe = True). It reads the current control vector
\(\mathbf{x}\) and maps each control variable back to the physical
field that the model expects as input.
Two variable types are handled:
scalar (default) — the control vector contains multiplicative scaling factors applied element-wise to the prior input field \(x_\textrm{phys} = s \cdot x_\textrm{prior}\).
physical — the control vector directly stores the physical field values; no prior multiplication is performed.
The adjoint propagates model sensitivities \(\delta x^*\) from the
model grid back into the flattened control-vector gradient controlvect.dx
via temporal aggregation and horizontal/vertical projection.
For ensemble inversion modes (EnSRF, Monte Carlo), the optimised
forward_perturb path loads all ensemble members from a pre-saved
control vector file in a single call to avoid repeated I/O.
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#
- 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 |
|---|---|---|---|---|---|
model |
True |
True |
None |
None |
|
obsvect |
True |
True |
standard |
std |
|
controlvect |
True |
True |
standard |
std |
YAML template#
Please find below a template for a YAML configuration:
1transform:
2 plugin:
3 name: fromcontrol
4 version: std
5 type: transform
6
7 # Optional arguments
8 parameter: XXXXX # str
9 component: XXXXX # str
10 orig_parameter_plg: XXXXX # Plugin
11 orig_component_plg: XXXXX # Plugin
12 successor: XXXXX # str
13 precursor: XXXXX # str
See also