| Version 1 (modified by , 8 months ago) ( diff ) |
|---|
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 the following:
SUBROUTINE PDAFomi_diag_get_obs(id_obs, dim_obs_diag, ncoord, obs_p_ptr, ocoord_p_ptr)
with the following arguments:
INTEGER, INTENT(in) :: id_obs ! Index of observation type to return
INTEGER, INTENT(out) :: dim_obs_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 Fortran user code the obsevation pointer should be declared in the form
REAL, POINTER :: obs_p_ptr(:)
It does not need to be allocated - In Fortran user code the obsevation pointer should be declared in the form
REAL, POINTER :: ocoord_p_ptr(:,:)
It does not need to be allocated - If the observation diagnostics have not be activated by using PDAFomi_set_obs_diag the pointers will not be set and
dim_obs_diag=0andncoord=0will be returned. These values canbe checked before assessing the pinter 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: ID of the observation
Note:
See TracWiki
for help on using the wiki.
