Changes between Version 1 and Version 2 of PDAFomi_diag_get_obs
- Timestamp:
- Mar 23, 2025, 8:31:24 AM (9 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
PDAFomi_diag_get_obs
v1 v2 9 9 The interface is the following: 10 10 {{{ 11 SUBROUTINE PDAFomi_diag_get_obs(id_obs, dim_obs_ diag, ncoord, obs_p_ptr, ocoord_p_ptr)11 SUBROUTINE PDAFomi_diag_get_obs(id_obs, dim_obs_p_diag, ncoord, obs_p_ptr, ocoord_p_ptr) 12 12 }}} 13 13 with the following arguments: 14 14 {{{ 15 15 INTEGER, INTENT(in) :: id_obs ! Index of observation type to return 16 INTEGER, INTENT(out) :: dim_obs_ diag! Observation dimension16 INTEGER, INTENT(out) :: dim_obs_p_diag ! Observation dimension 17 17 INTEGER, INTENT(out) :: ncoord ! Number of observation dimensions 18 18 REAL, POINTER, INTENT(out) :: obs_p_ptr(:) ! Pointer to observation vector … … 22 22 23 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 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)`. 26 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 27 28 * The array `ocoord_p_ptr(:,:)` is organized as in the observation modules: 28 29 * First index: index of different coordinate directions for observation specified by the second index 29 * Second index: IDof the observation30 * Second index: index of the observation 30 31 31 32