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
templatesection. The date is constructed fromstart datetimeandmodel:tstepto create a list ofnumber of statesstate 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