| | 1 | = PDAFomi_diag_get_obs = |
| | 2 | |
| | 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. |
| | 4 | |
| | 5 | 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. |
| | 6 | |
| | 7 | Usually all PDAFomi_diag routines are called in `prepoststep_pdaf` where the observation information can be retrieved and analyzed. |
| | 8 | |
| | 9 | The interface is the following: |
| | 10 | {{{ |
| | 11 | SUBROUTINE PDAFomi_diag_get_obs(id_obs, dim_obs_diag, ncoord, obs_p_ptr, ocoord_p_ptr) |
| | 12 | }}} |
| | 13 | with 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 | |