wiki:PDAFomi_gather_obs

Version 5 (modified by lnerger, 6 months ago) (diff)

--

PDAFomi_gather_obs

This page documents the routine PDAFomi_gather_obs of PDAF-OMI.

The routine has to be called in init_dim_obs_OBTYPE in each observation module. It initializes the observation information for PDAF-OMI.

See the page describing PDAF-OMI observation modules for the full documentation of OMI observation modules.

The interface is:

  SUBROUTINE PDAFomi_gather_obs(thisobs, dim_obs_p, obs_p, ivar_obs_p, ocoord_p, &
       ncoord, cradius, dim_obs)

    TYPE(obs_f), INTENT(inout) :: thisobs   ! Data type with full observation information
    INTEGER, INTENT(in) :: dim_obs_p        ! Number of process-local observations
    REAL, INTENT(in) :: obs_p(:)            ! Vector of process-local observations
    REAL, INTENT(in) :: ivar_obs_p(:)       ! Vector of process-local inverse observation error variance
    REAL, INTENT(in) :: ocoord_p(:,:)       ! Array of process-local observation coordinates
    INTEGER, INTENT(in) :: ncoord           ! Number of rows (first index) of coordinate array
    REAL, INTENT(in) :: cradius             ! Typical localization radius (the maximum radius used in this process domain) 
    INTEGER, INTENT(out) :: dim_obs         ! Full number of observations

Notes:

  • The only direect output is dim_obs, which is then returned to init_dim_obs_pdafomi in callback_obs_pdafomi.F90.
  • The value of cradius can be some maximum value. It is only utilized if domain-limited observations are activated (see page on using the option `use_global_obs`)
  • Also in case of non-isotropic localization cradius is a single value. It should be set of the largest radius in the horizontal direction used in the parallel process domain.