wiki:PDAFomi_diag_get_obs

PDAFomi_diag_get_obs

This page documents the routine PDAFomi_diag_get_obs of PDAF, which was introduced with PDAF V3.0. This is part of the PDAF-OMI observation diagnostics module.

The routine returns a pointer to a vector of observations of the specified observation type (id_obs) and a pointer to the corresponding array of observation coordinates.

Usually all PDAFomi_diag routines are called in prepoststep_pdaf where the observation information can be retrieved and analyzed.

The interface is:

  SUBROUTINE PDAFomi_diag_get_obs(id_obs, dim_obs_p_diag, ncoord, obs_p_ptr, ocoord_p_ptr)

    INTEGER, INTENT(in) :: id_obs                    ! Index of observation type to return
    INTEGER, INTENT(out) :: dim_obs_p_diag           ! Observation dimension
    INTEGER, INTENT(out) :: ncoord                   ! Number of observation dimensions
    REAL, POINTER, INTENT(out) :: obs_p_ptr(:)       ! Pointer to observation vector
    REAL, POINTER, INTENT(out) :: ocoord_p_ptr(:,:)  ! Pointer to coordinate array
                                                     ! (index order as in observation modules)

Notes:

  • In case of a parallelized model, the vector obs_p_prt and the array ocoord_p_prt contain the values for the process-sub-domain of the calling processor.
  • In Fortran user code the pointer to the observation vector should be declared in the form
    REAL, POINTER :: obs_p_ptr(:)
    It does not need to be allocated. The target vector has the length dim_obs_p_diag.
  • In Fortran user code the pointer to the observation coordinates should be declared in the form
    REAL, POINTER :: ocoord_p_ptr(:,:)
    It does not need to be allocated. The target array has the size (ncoord, dim_obs_p_diag).
  • If the observation diagnostics have not been activated by using PDAFomi_set_obs_diag the pointers will not be set and dim_obs_p_diag=0 and ncoord=0 will be returned. These values can be checked before assessing the pointer arrays
  • The array ocoord_p_ptr(:,:) is organized as in the observation modules:
    • First index: index of different coordinate directions for observation specified by the second index
    • Second index: index of the observation
Last modified 4 days ago Last modified on Mar 26, 2025, 4:34:25 PM
Note: See TracWiki for help on using the wiki.