PDAFomi_store_obs_l_index
This page documents the routine PDAFomi_store_obs_l_index
of PDAF-OMI. This routine has been added with PDAF V2.3.
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.
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.
See the page on user-provided initialization of local observations for the full description of a user-provided routine to intialize local observations. |
The interface is:
SUBROUTINE PDAFomi_store_obs_l_index(thisobs_l, idx, id_obs_l, distance, & cradius_l, sradius_l) TYPE(obs_l), INTENT(inout) :: thisobs_l ! Data type with local observation INTEGER, INTENT(in) :: idx ! Element of local observation array to be filled INTEGER, INTENT(in) :: id_obs_l ! Index of local observation in full observation array REAL, INTENT(in) :: distance ! Distance between local analysis domain and observation REAL, INTENT(in) :: cradius_l ! cut-off radius for this local observation ! (directional radius in case of non-isotropic localization) REAL, INTENT(in) :: sradius_l ! support radius for this local observation ! (directional radius in case of non-isotropic localization)
Notes:
idx
is usually the counte over the valid local observation of the observation type in the observation modulecradius_l
andsradius_l
are usually the same for all local observations of a single type if the localization is isotropic.- For non-isotropic localization
cradius_l
andsradius_l
are the radii in the direction of the observation. This calculation can be complex. How this is done inside PDAF-OMI can be seen in the routinePDAFomi_check_dist2_noniso_loop
in the file/src/PDAFomi_dim_obs_l.F90
of the PDAF library. - 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.
Last modified 11 days ago
Last modified on Sep 8, 2024, 7:11:44 PM