Changes between Version 8 and Version 9 of ImplementAnalysisLocal_untilPDAF221
- Timestamp:
- Jun 10, 2025, 2:53:12 PM (7 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ImplementAnalysisLocal_untilPDAF221
v8 v9 36 36 == Overview == 37 37 38 || This page describes the implementation approach of PDAF2. This is intended for reference for existing implemen ations performed for PDAF2. See the [wiki:ImplementationofAnalysisStep_PDAF3 page on implementing the analysis step with PDAF3] for the updated recommendations. ||39 40 This documentation describes the implementation with OMI as it was standard since the introduction of PDAF-OMI in PDAF version 1.16 and until and including PDAF version 2.2.1. With PDAF 2.3 we introduced the [wiki:PDAFlocal_overview PDAFlocal interface], which simplifies the implemenation of the local analysis. This approach is described on the page on the [wiki:ImplementAnalysisLocal Implementation for Local Filters with PDAF-OMI].38 || This page describes the implementation approach of PDAF2. This is intended for reference for existing implementations performed for PDAF2. See the [wiki:ImplementationofAnalysisStep_PDAF3 page on implementing the analysis step with PDAF3] for the updated recommendations. || 39 40 This documentation describes the implementation with OMI as it was standard since the introduction of PDAF-OMI in PDAF version 1.16 and until and including PDAF version 2.2.1. With PDAF 2.3 we introduced the [wiki:PDAFlocal_overview PDAFlocal interface], which simplifies the implemenation of the local analysis. This approach is described on the page on the [wiki:ImplementAnalysisLocal_PDAF23 Implementation for Local Filters with PDAF-OMI]. 41 41 42 42 PDAF-OMI provides generic routines for the analysis step, which only distinguish global and local filters. This page describes the implementation of the analysis step for domain-local filters (LESTKF, LETKF, LNETF, LSEIK). … … 49 49 == `PDAFomi_assimilate_local` == 50 50 51 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.51 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. 52 52 53 53 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`). … … 83 83 == `PDAFomi_put_state_local` == 84 84 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 [ 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. 86 86 87 87 The interface when using one of the local filters is the following: … … 96 96 == User-supplied routines == 97 97 98 Here, all user-supplied routines are described that are required in the call to `PDAFomi_assimilate_local` or `PDAFomi_put_state_local`. For some of the generic routines, we link to the page on [ ModifyModelforEnsembleIntegrationmodifying the model code for the ensemble integration].98 Here, all user-supplied routines are described that are required in the call to `PDAFomi_assimilate_local` or `PDAFomi_put_state_local`. For some of the generic routines, we link to the page on [wiki:ModifyModelforEnsembleIntegration-PDAF23 modifying the model code for the ensemble integration]. 99 99 100 100 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. … … 107 107 This routine is independent of the filter algorithm used. 108 108 109 See the page on [ InsertAnalysisStep#U_collect_statecollect_state_pdaf.F90 inserting the analysis step] for the description of this routine.109 See the page on [wiki:InsertAnalysisStep_PDAF23#U_collect_statecollect_state_pdaf.F90 inserting the analysis step] for the description of this routine. 110 110 111 111 … … 114 114 This routine is independent of the filter algorithm used. 115 115 116 See the page on [ InsertAnalysisStep#U_distribute_statedistribute_state_pdaf.F90 inserting the analysis step] for the description of this routine.116 See the page on [wiki:InsertAnalysisStep_PDAF23#U_distribute_statedistribute_state_pdaf.F90 inserting the analysis step] for the description of this routine. 117 117 118 118 … … 121 121 This is a call-back routine for PDAF-OMI initializing the observation information. The routine just calls a routine from the observation module for each observation type. 122 122 123 See the [wiki:OMI_Callback_obs_pdafomi documentation on callback_obs_pdafomi.F90] for more information.123 See the [wiki:OMI_Callback_obs_pdafomi_PDAF23 documentation on callback_obs_pdafomi.F90] for more information. 124 124 125 125 … … 129 129 This is a call-back routine for PDAF-OMI applying the observation operator to the state vector. The routine calls a routine from the observation module for each observation type. 130 130 131 See the [wiki:OMI_Callback_obs_pdafomi documentation on callback_obs_pdafomi.F90] for more information.131 See the [wiki:OMI_Callback_obs_pdafomi_PDAF23 documentation on callback_obs_pdafomi.F90] for more information. 132 132 133 133 … … 136 136 The routine has already been described for modifying the model for the ensemble integration and for inserting the analysis step. 137 137 138 See the page on [ InsertAnalysisStep#U_prepoststepprepoststep_ens_pdaf.F90 inserting the analysis step] for the description of this routine.138 See the page on [wiki:InsertAnalysisStep_PDAF23#U_prepoststepprepoststep_ens_pdaf.F90 inserting the analysis step] for the description of this routine. 139 139 140 140 … … 188 188 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. 189 189 190 See the [wiki:OMI_Callback_obs_pdafomi documentation on callback_obs_pdafomi.F90] for more information.190 See the [wiki:OMI_Callback_obs_pdafomi_PDAF23 documentation on callback_obs_pdafomi.F90] for more information. 191 191 192 192 … … 237 237 This routine is independent of the filter algorithm used. 238 238 239 See the page on [ InsertAnalysisStep#U_next_observationnext_observation_pdaf.F90 inserting the analysis step] for the description of this routine.239 See the page on [wiki:InsertAnalysisStep_PDAF23#U_next_observationnext_observation_pdaf.F90 inserting the analysis step] for the description of this routine. 240 240 241 241