Pseudo-modelΒΆ
Pseudo-model is a generic model implementation for model interfaces that read their data from file rather than connecting to a forecast model. PseudoModel
can be used for any MODEL
which has implemented basic components such as the Geometry
and State
.
The state configuration depends upon the implementation in the particular model in use, however, for compatibility with the Pseudo-model, it must include a specification of the validity datetime of that state, and each state in the state list must be seperated by a single time step of size tstep
.
Here is an example configuration for a 4D H(x) application (HofX4D
):
#.
#.
#.
forecast length: P3D
time window:
begin: 2023-06-01T00:00:00Z
length: P4D
initial condition:
date: 2023-06-02T00:00:00Z
state variables: [ sea_surface_temperature ]
model:
name: PseudoModel
tstep: P1D
states:
- date: 2023-06-02T00:00:00Z
state variables: [ sea_surface_temperature ]
#.
#.
#.
- date: 2023-06-03T00:00:00Z
state variables: [ sea_surface_temperature ]
#.
#.
#.
#.
#.
#.
To specify many states and to reduce redundant information, the state can also be specified using a template:
#.
#.
#.
model:
name: PseudoModel
tstep: P1D
states from template:
start datetime: 2023-06-02T00:00:00Z
number of states: 2
pattern: "@numerical_counter@"
start: 1
except: [2, 3]
zpad: 1
template:
state variables: [ sea_surface_temperature ]
data field: "special-number-@numerical_counter@"
#.
#.
#.
#.
#.
#.
- Each state is generated from the
template
section. The date is constructed fromstart datetime
andmodel:tstep
to create a list ofnumber of states
state configuration entries. There is also the facility to substitute a pattern into the state template. The pattern is specified using: start
: for the starting valuezpad
: the number of zeros to left-pad the patternexcept
: values of the pattern to skip overpattern
: the string to replace with the pattern value