Changes between Initial Version and Version 1 of PDAFomi_diag_get_obs


Ignore:
Timestamp:
Mar 23, 2025, 8:25:08 AM (11 days ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PDAFomi_diag_get_obs

    v1 v1  
     1= PDAFomi_diag_get_obs =
     2
     3This 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.
     4
     5The 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.
     6
     7Usually all PDAFomi_diag routines are called in `prepoststep_pdaf` where the observation information can be retrieved and analyzed.
     8
     9The interface is the following:
     10{{{
     11  SUBROUTINE PDAFomi_diag_get_obs(id_obs, dim_obs_diag, ncoord, obs_p_ptr, ocoord_p_ptr)
     12}}}
     13with the following arguments:
     14{{{
     15    INTEGER, INTENT(in) :: id_obs                    ! Index of observation type to return
     16    INTEGER, INTENT(out) :: dim_obs_diag             ! Observation dimension
     17    INTEGER, INTENT(out) :: ncoord                   ! Number of observation dimensions
     18    REAL, POINTER, INTENT(out) :: obs_p_ptr(:)       ! Pointer to observation vector
     19    REAL, POINTER, INTENT(out) :: ocoord_p_ptr(:,:)  ! Pointer to coordinate array
     20                                                     ! (index order as in observation modules)
     21}}}
     22
     23**Notes:**
     24 * In Fortran user code the obsevation pointer should be declared in the form[[BR]] `REAL, POINTER :: obs_p_ptr(:)`[[BR]] It does not need to be allocated
     25 * In Fortran user code the obsevation pointer should be declared in the form[[BR]] `REAL, POINTER :: ocoord_p_ptr(:,:)`[[BR]] It does not need to be allocated
     26 * If the observation diagnostics have not be activated by using [wiki:PDAFomi_set_obs_diag] the pointers will not be set and `dim_obs_diag=0` and `ncoord=0` will be returned. These values canbe checked before assessing the pinter arrays
     27 * The array `ocoord_p_ptr(:,:)` is organized as in the observation modules:
     28   * First index: index of different coordinate directions for observation specified by the second index
     29   * Second index: ID of the observation
     30
     31