Hybrid tangent linear model¶
OOPS’s hybrid tangent linear model (H-TLM) implementation, named HybridLinearModel
in the code, can be used for any MODEL
which has implemented a LinearModel
in its interface.
The LinearModel
is instantiated via a factory. To make this a HybridLinearModel
, the name
option in the linear model
subconfiguration must be set to HTLM
.
Coefficients can be generated either “on the fly” in a Variational run, or precalculated using GenHybridLinearModelCoeffs.
Assuming the coefficients have been precalculated, the HybridLinearModel
can be configured using the following options within the linear model
subconfiguration:
name
: must be “HTLM” in order to instantiate aHybridLinearModel
via theLinearModel
factorysimple linear model
: subconfiguration for theSimpleLinearModel
wrapper:linear model
: subconfiguration for the underlyingMODEL
-specificLinearModel
geometry
(optional): subconfiguration for theMODEL
-specificGeometry
of theMODEL
-specificLinearModel
when usingSimpleLinearModelMultiresolution
orSimpleLinearModelResidualForm
residual form
(optional, defaultfalse
): boolean determining whetherSimpleLinearModelResidualForm
is used overSimpleLinearModelMultiresolution
update tstep
: timestep of theHybridLinearModel
, as used byCostFct4DVar
/CostFctWeak
(i.e. the time betweenHybridLinearModel
updates using the coefficients); a duration in ISO 8601 formatvariables
: list of variables, as used byCostFct4DVar
/CostFctWeak
(i.e. the analysis variables); must be a superset ofcoefficients.update variables
coefficients
: subconfiguration for theHybridLinearModelCoeffs
class:input
: subconfiguration for the reading of coefficients from file, consisting ofbase filepath
(string) andone file per task
(boolean; currently, this must be set totrue
)update variables
: list of variables which are updated by the coefficients (having previously been trained on them)influence region size
: number of vertical levels in column of influence (must be an odd number to allow centering on the level of interest)time window
: subconfiguration for theTimeWindow
over which coefficients are applied (i.e. the assimilation window)
Note that the configuration must match that used to precalculate the coefficients (with the exception of input
, which would be set to output
for the precalculation).
Here is an example configuration as would be used to run 4D-Var using the Variational
application when coefficients have been precalculated:
# rest of Variational configuration
linear model:
name: HTLM
simple linear model:
linear model:
# MODEL-specific subconfiguration
update tstep: PT1H
variables: [x, y, z]
coefficients:
input:
base filepath: path/to/coeffs
one file per task: true
update variables: [x, y]
influence region size: 5
time window:
begin: 2024-01-16T06:00:00Z
length: PT6H
# rest of Variational configuration
To instead generate coefficients “on the fly” (during the execution of Variational
), more options are needed in the configuration. These options are the same as would be required to generate the coefficients using GenHybridLinearModelCoeffs, and are detailed on that page.