| 1 | = PDAFomi_store_obs_l_index_vdist = |
| 2 | |
| 3 | This page documents the routine `PDAFomi_store_obs_l_index_vdist` of PDAF-OMI. |
| 4 | |
| 5 | This routine is used for the case that a user implements a user-provided alternative for the routine `PDAFomi_init_dim_obs_l`, which initializes the local observation information for PDAF-OMI in `thisobs_l` for a single local analysis domain. This variant is only used for 2+1D factorized localization. For usualy localization the routine [wiki:PDAFomi_store_obs_l_index] is used. |
| 6 | |
| 7 | The routine can to be called in `init_dim_obs_l_OBSTYPE` in each observation module if a domain-localized filter (LESTKF/LETKF/LNETF/LSEIK/LKNETF)is used. |
| 8 | |
| 9 | || See the [wiki:OMI_search_local_observations page on user-provided initialization of local observations] for the full description of a user-provided routine to intialize local observations. || |
| 10 | |
| 11 | The interface is: |
| 12 | {{{ |
| 13 | SUBROUTINE PDAFomi_store_obs_l_index_vdist(thisobs_l, idx, id_obs_l, distance, & |
| 14 | cradius_l, sradius_l, vdist) |
| 15 | |
| 16 | TYPE(obs_l), INTENT(inout) :: thisobs_l ! Data type with local observation |
| 17 | INTEGER, INTENT(in) :: idx ! Element of local observation array to be filled |
| 18 | INTEGER, INTENT(in) :: id_obs_l ! Index of local observation in full observation array |
| 19 | REAL, INTENT(in) :: distance ! Distance between local analysis domain and observation |
| 20 | REAL, INTENT(in) :: cradius_l ! cut-off radius for this local observation |
| 21 | ! (directional radius in case of non-isotropic localization) |
| 22 | REAL, INTENT(in) :: sradius_l ! support radius for this local observation |
| 23 | ! (directional radius in case of non-isotropic localization) |
| 24 | REAL, INTENT(in) :: vdist ! support radius in vertical direction for 2+1D factorized |
| 25 | |
| 26 | }}} |
| 27 | |
| 28 | '''Notes:''' |
| 29 | * `idx` is usually the counte over the valid local observation of the observation type in the observation module |
| 30 | * `cradius_l` and `sradius_l` are directional radii, i.e. they are computed depending the direction between local analysis domain and observation, if a non-isotropic horizontal localization is used |
| 31 | * While using this routine can be more convenient than doing the initialization of the variables in `thisobs_l` in the user code, in our tests the code ran faster when we did not use this routine, but did this initialization in the user code. |