Changes between Version 1 and Version 2 of PDAF_OMI_Overview_PDAF3


Ignore:
Timestamp:
May 27, 2025, 2:39:20 PM (5 days ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PDAF_OMI_Overview_PDAF3

    v1 v2  
    1 = PDAF-OMI, the Observation Module Infrastructure =
     1= PDAF-OMI, the Observation Module Infrastructure in PDAF3 =
    22
    33{{{
     
    3636[[PageOutline(2-3,Contents of this page)]]
    3737
    38 PDAF-OMI (Observation Module Infrastructure) provides a structured and modularized approach to implement the observation handling for PDAF. It was introduced with PDAF V1.16 and is now the recommended standard for implementations. However, one can also [wiki:ImplementationofAnalysisStep_noOMI implement the assimilation without using PDAF-OMI], but using the full interface routines requires significantly more programming.
     38PDAF-OMI (Observation Module Infrastructure) provides a structured and modularized approach to implement the observation handling for PDAF. Here we describe OMI in the context of the PDAF3 assimilation routines.
    3939
    40 PDAF-OMI permits to implement the observation handling with limited number of user-provided routines. In addition, each observation type is encapsulated in a Fortran module (referred to as 'observation module'). With this, the implementations of different observation types cannot interfere which each other. The code strucutre is motivated from object-oriented programming, but we avoid here the abstract level of object-orientation in Fortran.
     40|| The documention on PDAF-OMI for PDAF2 is still available: [wiki:PDAF_OMI_Overview PDAF-OMI in PDAF2] ||
     41
     42However, one can also [wiki:ImplementationofAnalysisStep_noOMI implement the assimilation without using PDAF-OMI], but using the full interface routines requires significantly more programming.
     43
     44PDAF-OMI permits to implement the observation handling with a low number of user-provided routines. Each observation type is encapsulated in a Fortran module (referred to as 'observation module'). With this, the implementations of different observation types cannot interfere which each other. The code structure is motivated from object-oriented programming, but we avoid here the abstract level of object-orientation in Fortran.
    4145
    4246To guarantee that each observation type (like sea surface temperature data from some satellite sensor, or altimetry data) is handled independently from the others one implements with OMI one Fortran module for each observation type.  Thus, different developers can implement observation types without interfering with the implementations by others.
     
    5054 - '''init_dim_obs_l''' [[br]]
    5155  Calls a generic routine to initialize local observations
    52 For the localized EnKF, instead of `init_dim_obs_l` the following routine is used:
    53  - '''localize_covar'''[[br]]
    54   Calls a generic routine to apply covariance localization
    5556Only in the case of '''3D-Var''', two more routines are required:
    5657 - '''obs_op_lin'''[[br]]
     
    7677Figure 1 shows the call structure for the analysis step with PDAF-OMI. For the analysis step, the core routines of PDAF (green) call different user-provided call-back functions. Some of these routines, like those performing state localization, that are not related to observations (blue). PDAF-OMI is concerned with the routines related to observations (red and purple).
    7778
    78 [[Image(//pics/PDAFstructure_PDAF-OMI_PDAF2.3.png)]]
     79[[Image(//pics/PDAFstructure_PDAF-OMI_PDAF3.png)]]
    7980[[BR]]'''Figure 1:''' Call-structure of PDAF with OMI: (green) PDAF library with core and omi; (blue) call-back routines; (red) OMI call-back routines; (purple) observation-specific modules. If [wiki:PDAFlocal_overview PDAFlocal] is not used, there will be two additional routines `g2l_state` and `l2g_state` relating to localization.
    8081