wiki:PDAFomi_obs_op_extern

Version 2 (modified by lnerger, 5 days ago) ( diff )

--

PDAFomi_obs_op_extern

This page documents the routine PDAFomi_obs_op_extern of PDAF-OMI. This routine will be added to the final release of PDAF V3.0.

This routine provides the application of observation operator for the case that a user performs the actual observation operator externally, e.g., directly in the model during the forecast. For this case, the user can provide the observed model state to this routine and it will just call PDAFomi_gather_obsstate to obtain the full observed vector obs_f_all.

The routine is usually called in obs_op_OBSTYPE in an OMI observation module.

See the page describing PDAF-OMI observation operators for a general overview.

The interface is:

  SUBROUTINE PDAFomi_obs_op_extern(thisobs, ostate_p, obs_f_all)

    TYPE(obs_f), INTENT(inout) :: thisobs  ! Data type with full observation
    REAL, INTENT(in)    :: ostate_p(:)     ! Process-local observed state (dimension thisobs%dim_obs_p)
    REAL, INTENT(inout) :: obs_f_all(:)    ! Full observed state for all observation types (array provided by PDAF)

Note:

  • The user has to ensure that the order of the observed model state in ostate_p is consistent with the order in the vector of observations.
  • The observation operator is always called in a loop over all ensemble members, and potentially also for the ensemble mean. The index of the ensemble member for which the observation operator is called can be determine using the routine PDAF_get_obsmemberid.
Note: See TracWiki for help on using the wiki.