Changes between Version 2 and Version 3 of PDAFomi_diag_get_obs


Ignore:
Timestamp:
Mar 26, 2025, 4:34:25 PM (6 days ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PDAFomi_diag_get_obs

    v2 v3  
    11= PDAFomi_diag_get_obs =
    22
    3 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.
     3This page documents the routine `PDAFomi_diag_get_obs` of PDAF, which was introduced with PDAF V3.0. This is part of the [wiki:PDAFomi_observation_diagnostics PDAF-OMI observation diagnostics module].
    44
    55The 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.
     
    77Usually all PDAFomi_diag routines are called in `prepoststep_pdaf` where the observation information can be retrieved and analyzed.
    88
    9 The interface is the following:
     9The interface is:
    1010{{{
    1111  SUBROUTINE PDAFomi_diag_get_obs(id_obs, dim_obs_p_diag, ncoord, obs_p_ptr, ocoord_p_ptr)
    12 }}}
    13 with the following arguments:
    14 {{{
     12
    1513    INTEGER, INTENT(in) :: id_obs                    ! Index of observation type to return
    1614    INTEGER, INTENT(out) :: dim_obs_p_diag           ! Observation dimension
     
    2220
    2321**Notes:**
    24  * 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.
    25  * 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. The target vector has the length `dim_obs_p_diag`.
    26  * 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. The target array has the size `(ncoord, dim_obs_p_diag)`.
    27  * 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
     22 * 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.
     23 * In Fortran user code the pointer to the observation vector should be declared in the form[[BR]] `REAL, POINTER :: obs_p_ptr(:)`[[BR]] It does not need to be allocated. The target vector has the length `dim_obs_p_diag`.
     24 * In Fortran user code the pointer to the observation coordinates should be declared in the form[[BR]] `REAL, POINTER :: ocoord_p_ptr(:,:)`[[BR]] It does not need to be allocated. The target array has the size `(ncoord, dim_obs_p_diag)`.
     25 * If the observation diagnostics have not been activated by using [wiki: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
    2826 * The array `ocoord_p_ptr(:,:)` is organized as in the observation modules:
    2927   * First index: index of different coordinate directions for observation specified by the second index