Changes between Initial Version and Version 1 of PDAFomi_store_obs_l_index


Ignore:
Timestamp:
Sep 8, 2024, 6:05:44 PM (2 months ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PDAFomi_store_obs_l_index

    v1 v1  
     1= PDAFomi_store_obs_l_index =
     2
     3This page documents the routine `PDAFomi_set_dim_obs_l` of PDAF-OMI.
     4
     5This 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.
     6
     7The 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
     11The interface is:
     12{{{
     13  SUBROUTINE PDAFomi_store_obs_l_index(thisobs_l, idx, id_obs_l, distance, &
     14       cradius_l, sradius_l)
     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}}}
     25
     26'''Notes:'''
     27 * `idx` is usually the counte over the valid local observation of the observation type in the observation module
     28 * `cradius_l` and `sradius_l` are usually the same for all local obsevations of a single type if the localization is isotropic
     29 * 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.