Changes between Version 31 and Version 32 of ImplementAnalysisLocal
- Timestamp:
- Jun 4, 2025, 2:09:51 PM (44 hours ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ImplementAnalysisLocal
v31 v32 4 4 #!html 5 5 <div class="wiki-toc"> 6 <h4>Implementation Guide - Analysis (PDAF2)</h4> 7 <ol><li><a href="ImplementationofAnalysisStep_PDAF23">Implementation of the analysis step</a></li> 6 <h4>Implementation Guide for PDAF2</h4> 7 <ol><li><a href="ImplementationGuide_PDAF23">Main page</a></li> 8 <li><a href="AdaptParallelization_PDAF23">Adaptation of the parallelization</a></li> 9 <li><a href="InitPdaf_PDAF23">Initialization of PDAF</a></li> 10 <li><a href="ModifyModelforEnsembleIntegration_PDAF23">Modifications for ensemble integration</a></li> 11 <li><a href="ImplementationofAnalysisStep_PDAF23">Implementation of the analysis step</a></li> 8 12 <ol> 9 <li> <a href="ImplementFilterAnalysisOverview PDAF3"> General overview for ensemble filters</a></li>13 <li> <a href="ImplementFilterAnalysisOverview"> General overview for ensemble filters</a></li> 10 14 <ol> 11 <li>Implementation for Local Filters</li> 12 </ol> 13 </ol> 14 </ol> 15 <li><a href="ImplementAnalysisGlobal">Implementation for Global Filters</a></li> 16 <li>Implementation for Local Filters with PDAFlocal</li> 17 <li><a href="ImplementAnalysisLocal_untilPDAF221">Implementation for Local Filters without PDAFLocal</a></li> 18 <li><a href="ImplementAnalysislenkfOmi">Implementation for LEnKF</a></li> 19 </ol> 20 <li> <a href="Implement3DVarAnalysisOverview"> General overview for 3D-Var methods</a></li> 21 <ol> 22 <li><a href="ImplementAnalysis_3DVar">Implementation for 3D-Var</a></li> 23 <li><a href="ImplementAnalysis_3DEnVar">Implementation for 3D Ensemble Var</a></li> 24 <li><a href="ImplementAnalysis_Hyb3DVar">Implementation for Hybrid 3D-Var</a></li> 25 </ol> 26 <li><a href="PDAF_OMI_Overview">PDAF-OMI Overview</a></li> 27 </ol> 28 <li><a href="AddingMemoryandTimingInformation_PDAF23">Memory and timing information</a></li> 29 <li><a href="EnsembleGeneration">Ensemble Generation</a></li> 30 <li><a href="DataAssimilationDiagnostics">Diagnostics</a></li> 15 31 </ol> 16 32 </div> … … 18 34 19 35 36 20 37 [[PageOutline(2-3,Contents of this page)]] 21 38 … … 33 50 == `PDAFlocalomi_assimilate` == 34 51 35 The general aspects of the filter-specific routines `PDAF_assimilate_*` have been described on the page [ ModifyModelforEnsembleIntegration Modification of the model code for the ensemble integration] and its sub-page on [InsertAnalysisStepinserting the analysis step]. The routine is used in the fully-parallel implementation variant of the data assimilation system. When the 'flexible' implementation variant is used, the routines `PDAF_put_state_*' is used as described further below.52 The general aspects of the filter-specific routines `PDAF_assimilate_*` have been described on the page [wiki:ModifyModelforEnsembleIntegration_PDAF23 Modification of the model code for the ensemble integration] and its sub-page on [wiki:InsertAnalysisStep_PDAF23 inserting the analysis step]. The routine is used in the fully-parallel implementation variant of the data assimilation system. When the 'flexible' implementation variant is used, the routines `PDAF_put_state_*' is used as described further below. 36 53 37 54 The interface for the routine `PDAFomi_assimilate_local` contains names for routines that operate on the local analysis domains (marked by the suffix `_l`). Further there are routines that convert between a local and a global model state vector (`U_g2l_state` and `U_l2g_state`). … … 47 64 }}} 48 65 with the following arguments: 49 * [#U_collect_statecollect_state_pdaf.F90 U_collect_state]: The name of the user-supplied routine that initializes a state vector from the array holding the ensemble of model states from the model fields. This is basically the inverse operation to `U_distribute_state` used in [ ModifyModelforEnsembleIntegration#PDAF_get_state PDAF_get_state] and also here.66 * [#U_collect_statecollect_state_pdaf.F90 U_collect_state]: The name of the user-supplied routine that initializes a state vector from the array holding the ensemble of model states from the model fields. This is basically the inverse operation to `U_distribute_state` used in [wiki:ModifyModelforEnsembleIntegration_PDAF23#PDAF_get_state PDAF_get_state] and also here. 50 67 * [#U_distribute_statedistribute_state_pdaf.F90 U_distribute_state]: The name of a user supplied routine that initializes the model fields from the array holding the ensemble of model state vectors. 51 68 * [#U_init_dim_obs_pdafomicallback_obs_pdafomi.F90 U_init_dim_obs_pdafomi]: The name of the user-supplied routine that initializes the observation information and provides the size of observation vector … … 66 83 == `PDAFlocalomi_put_state` == 67 84 68 When the 'flexible' implementation variant is chosen for the assimilation system, the routine `PDAFomi_put_state_local` has to be used instead of `PDAFomi_assimilate_local`. The general aspects of the filter specific routines `PDAF_put_state_*` have been described on the page [ ModifyModelforEnsembleIntegrationModification of the model code for the ensemble integration]. The interface of the routine is identical with that of `PDAFomi_assimilate_local` with the exception the specification of the user-supplied routines `U_distribute_state` and `U_next_observation` are missing.85 When the 'flexible' implementation variant is chosen for the assimilation system, the routine `PDAFomi_put_state_local` has to be used instead of `PDAFomi_assimilate_local`. The general aspects of the filter specific routines `PDAF_put_state_*` have been described on the page [wiki:ModifyModelforEnsembleIntegration_PDAF23 Modification of the model code for the ensemble integration]. The interface of the routine is identical with that of `PDAFomi_assimilate_local` with the exception the specification of the user-supplied routines `U_distribute_state` and `U_next_observation` are missing. 69 86 70 87 The interface when using one of the local filters is the following: … … 81 98 == User-supplied routines == 82 99 83 Here, all user-supplied routines are described that are required in the call to `PDAFlocalomi_assimilate` or `PDAFlocalomi_put_state`. For some of the generic routines, we link to the page on [ ModifyModelforEnsembleIntegrationmodifying the model code for the ensemble integration].100 Here, all user-supplied routines are described that are required in the call to `PDAFlocalomi_assimilate` or `PDAFlocalomi_put_state`. For some of the generic routines, we link to the page on [wiki:ModifyModelforEnsembleIntegration_PDAF23 modifying the model code for the ensemble integration]. 84 101 85 102 To indicate user-supplied routines we use the prefix `U_`. In the tutorials in `tutorial/` and in the template directory `templates/` these routines exist without the prefix, but with the extension `_pdaf`. The files are named correspondingly. The user-routines relating to OMI are collected in the file callback_obs_pdafomi.F90. In the section titles below we provide the name of the template file in parentheses. … … 92 109 This routine is independent of the filter algorithm used. 93 110 94 See the page on [ InsertAnalysisStep#U_collect_statecollect_state_pdaf.F90 inserting the analysis step] for the description of this routine.111 See the page on [wiki:InsertAnalysisStep_PDAF23#U_collect_statecollect_state_pdaf.F90 inserting the analysis step] for the description of this routine. 95 112 96 113 … … 99 116 This routine is independent of the filter algorithm used. 100 117 101 See the page on [ InsertAnalysisStep#U_distribute_statedistribute_state_pdaf.F90 inserting the analysis step] for the description of this routine.118 See the page on [wiki:InsertAnalysisStep_PDAF23#U_distribute_statedistribute_state_pdaf.F90 inserting the analysis step] for the description of this routine. 102 119 103 120 … … 121 138 The routine has already been described for modifying the model for the ensemble integration and for inserting the analysis step. 122 139 123 See the page on [ InsertAnalysisStep#U_prepoststepprepoststep_ens_pdaf.F90 inserting the analysis step] for the description of this routine.140 See the page on [wiki:InsertAnalysisStep_PDAF23#U_prepoststepprepoststep_ens_pdaf.F90 inserting the analysis step] for the description of this routine. 124 141 125 142 … … 194 211 This routine is independent of the filter algorithm used. 195 212 196 See the page on [ InsertAnalysisStep#U_next_observationnext_observation_pdaf.F90 inserting the analysis step] for the description of this routine.213 See the page on [wiki:InsertAnalysisStep_PDAF23#U_next_observationnext_observation_pdaf.F90 inserting the analysis step] for the description of this routine. 197 214 198 215