Version 1 (modified by lnerger, 9 days ago) (diff)


PDAF-OMI, the Observation Module Infrastructure

PDAF-OMI (Observation Module Infrastructure) is an extension to PDAF for a structured modular implementation of the call-back routines handling observations for PDAF. It was introduced with PDAF V1.16.

OMI is designed to reduce the coding effort for implementing the support for an observation type, its corresponding observation operator, and localization. In particular, only the three routines

  • init_dim_obs_f
  • obs_op_f
  • init_dim_obs_l (for domain-localized filters like LETKF and LESTKF)

need to be implemented for an observation type. All other routines base on variables that are initialized by these routines and are provided by PDAF-OMI.

With OMI one implements one module for each observation type (like sea surface temperature data from some satellite sensor, or altimetry data). This guarantees that each observation type is handled indenpendently from the others. Thus different developers can implement observation types without interfering with the implemnetations by others.

Main Components of OMI

The main components of OMI are

  • one observation-specific Fortran module for each observation type
  • PDAF-OMI core routines provided by the PDAF library which provide functionality for observation handling, localization, and observation operators
  • The observation-specific call-back routines are merely pass-through routines without own functionality. They are collected into a single file for compactness.

Figure 1 shows the call structure for the analysis step with PDAF. For the analysis step, the core routines of PDAF (green; in particular PDAF_assimilate_X, with X being the chosen routine) calls different user-provided call-back functions. There are several routines, like those doing state localization, that are not related to observations (blue). OMI is concerned with those routines related to observations (red and purple).