Changes between Version 3 and Version 4 of OMI_observation_operators


Ignore:
Timestamp:
Nov 23, 2020, 6:18:37 PM (3 months ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OMI_observation_operators

    v3 v4  
    115115
    116116Each observation operator include the following functionality:
    117  - Check whether `thisobs%doassim==1`, which indicates that the observation is assimilated
    118  - initialize the observation vector `ostate_p` for the observation TYPE for which the routine is called. For a parallel model this is done for for the process-local domain (for a model without parallelization this is the global domain)
    119  - Call `PDAFomi_gather_obsstate` to gather the full observation vector `obs_f_all`. This call is mandatory even if theh model is not parallelized.
     117 1. Check whether `thisobs%doassim==1`, which indicates that the observation is assimilated
     118 2. initialize the observation vector `ostate_p` for the observation type for which the routine is called. For a parallel model this is done for for the process-local domain (for a model without parallelization this is the global domain)
     119 3. Call `PDAFomi_gather_obsstate` to gather the full observation vector `obs_f_all`. This call is mandatory even if theh model is not parallelized.
    120120
     121Generally one can implement and function that computes an observation from the elements of the state vector that is provided to the routine as `state_p`. The coordinate information is provided in `thisobs`. One can also modify the interface to the obsration operator routine if, e.g., additional information is required.
    121122
     123Dependent on the complexity of an observation operator it might be useful to separate the functional computations from the interpolation. For this one could consider multi-step observation operators in separate routines.
     124
     125In the template we also included outputs for the [wiki:OMI_debugging debug functionality]. These should be adapted to a particular observation operator so that meaningful outputs are generated that help to check whether the operations in the routine are correct.