Changes between Version 2 and Version 3 of ImplementAnalysisUniversal


Ignore:
Timestamp:
May 19, 2025, 6:36:24 PM (13 days ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ImplementAnalysisUniversal

    v2 v3  
    165165=== `U_init_n_domains` (init_n_domains_pdaf.F90) ===
    166166
     167This routine is only used for localization. It is called during the analysis step before the loop over the local analysis domains is entered. It has to provide the number of local analysis domains. In case of a domain-decomposed model, the number of local analysis domain for the model sub-domain of the calling process has to be initialized.
     168
    167169The interface for this routine is:
    168170{{{
     
    173175}}}
    174176
    175 The routine is called during the analysis step before the loop over the local analysis domains is entered.
    176 It has to provide the number of local analysis domains. In case of a domain-decomposed model the number of local analysis domain for the model sub-domain of the calling process has to be initialized.
    177 
    178177Hints:
    179178 * As a simple case, if the localization is only performed horizontally, the local analysis domains can be single vertical columns of the model grid. In this case, `n_domains_p` is simply the number of vertical columns in the process-local model sub-domain.
     
    181180
    182181=== `U_init_dim_l` (init_dim_l_pdaf.F90) ===
     182
     183This routine is only used for localization.
    183184
    184185The interface for this routine is:
     
    192193
    193194The routine is called during the loop over the local analysis domains in the analysis step.
    194 For PDAF it has to provide in `dim_l` the dimension of the state vector for the local analysis domain with index `domain_p`.
    195 
    196 In addition, the routine has to provide the index array containing the indices of the elements of the local state vector in the global (or domain-decomposed) state vector to PDAF by calling `PDAFlocal_set_indices`. (in the template files, this array is called `id_lstate_in_pstate`)
    197 
    198 Finally, in the tutorial and template codes, the routine initializes an array `coords_l` containing the coordinates that describe the local domain. This is shared with `U_init_dim_obs_l_pdafomi` via the module `mod_assimilation`.
     195
     196It provides in `dim_l` the dimension of the state vector for the local analysis domain with index `domain_p` to PDAF.
     197
     198In the recommended implementation shown in the tutorial and template codes, there are two further initializations:
     1991. The routine has initialize the index array `id_lstate_in_pstate` containing the indices of the elements of the local state vector in the global (or domain-decomposed) state vector. Then it has to provide this array to PDAF by calling `PDAFlocal_set_indices` (see below).
     2002. The routine initializes an array `coords_l` containing the coordinates of the local analysis domain. This is shared with `U_init_dim_obs_l_pdafomi` via the module `mod_assimilation`.
    199201
    200202Hints:
     
    224226=== `U_init_dim_obs_l_pdafomi` (callback_obs_pdafomi.F90) ===
    225227
    226 This is a call-back routine for PDAF-OMI that initializes the local observation vector. The routine calls a routine from the observation module for each observation type.
     228This routine is only used for localization. It is a call-back routine for PDAF-OMI that initializes the local observation vector. The routine calls a routine from the observation module for each observation type.
    227229
    228230See the [wiki:OMI_Callback_obs_pdafomi documentation on callback_obs_pdafomi.F90] for more information.