Observation Processing Flow

The flow of H(x) computation and QC filters application in OOPS is shown in the figure below.

../../../_images/observer_flow.png

Fig. 20 Flow chart for computing H(x) and running QC filters

The Observer calls the preProcess method of ObsFilters before the loop over time steps. After the loop, it calls the priorFilter and postFilter methods just before and just after calling the simulateObs method of ObsOperator. The observation filters are very generic and can perform a number of tasks, but mostly they are used for quality control.

In variational data assimilation, the above flow happens inside of the observation term of the cost function (Jo) evaluation.

GetValues postprocessor

The GetValues postprocessor in the observation processing data flow fills the GeoVaLs (model state at the horizontal observation locations) during the model (or pseudomodel) run. The timestep tstep in the dataflow above is not a physical model timestep but rather a time resolution that is chosen for the data assimilation application (typically specified in YAML). By default, the state that is nearest in time to the observation is used for computing GeoVaLs for that particular observation. An option to use linear interpolation in time between the states closest to the observation is available, and can be turned on by setting a get values.time interpolation YAML option:

- obs space: ...
  get values:
    time interpolation: linear   # only "linear" and "nearest" (default) are supported