Changes between Version 2 and Version 3 of ImplementAnalysisUniversal
- Timestamp:
- May 19, 2025, 6:36:24 PM (13 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ImplementAnalysisUniversal
v2 v3 165 165 === `U_init_n_domains` (init_n_domains_pdaf.F90) === 166 166 167 This 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 167 169 The interface for this routine is: 168 170 {{{ … … 173 175 }}} 174 176 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 178 177 Hints: 179 178 * 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. … … 181 180 182 181 === `U_init_dim_l` (init_dim_l_pdaf.F90) === 182 183 This routine is only used for localization. 183 184 184 185 The interface for this routine is: … … 192 193 193 194 The 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 196 It provides in `dim_l` the dimension of the state vector for the local analysis domain with index `domain_p` to PDAF. 197 198 In the recommended implementation shown in the tutorial and template codes, there are two further initializations: 199 1. 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). 200 2. 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`. 199 201 200 202 Hints: … … 224 226 === `U_init_dim_obs_l_pdafomi` (callback_obs_pdafomi.F90) === 225 227 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.228 This 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. 227 229 228 230 See the [wiki:OMI_Callback_obs_pdafomi documentation on callback_obs_pdafomi.F90] for more information.