Changes between Version 8 and Version 9 of ImplementAnalysisLocal_untilPDAF221


Ignore:
Timestamp:
Jun 10, 2025, 2:53:12 PM (7 days ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ImplementAnalysisLocal_untilPDAF221

    v8 v9  
    3636== Overview ==
    3737
    38 || This page describes the implementation approach of PDAF2. This is intended for reference for existing implemenations 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
     40This 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].
    4141
    4242PDAF-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).
     
    4949== `PDAFomi_assimilate_local` ==
    5050
    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 [InsertAnalysisStep 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.
     51The 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.
    5252
    5353The 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`).
     
    8383== `PDAFomi_put_state_local` ==
    8484
    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 [ModifyModelforEnsembleIntegration 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.
     85When 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.
    8686
    8787The interface when using one of the local filters is the following:
     
    9696== User-supplied routines ==
    9797
    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 [ModifyModelforEnsembleIntegration modifying the model code for the ensemble integration].
     98Here, 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].
    9999
    100100To 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.
     
    107107This routine is independent of the filter algorithm used.
    108108
    109 See the page on [InsertAnalysisStep#U_collect_statecollect_state_pdaf.F90 inserting the analysis step] for the description of this routine.
     109See the page on [wiki:InsertAnalysisStep_PDAF23#U_collect_statecollect_state_pdaf.F90 inserting the analysis step] for the description of this routine.
    110110
    111111
     
    114114This routine is independent of the filter algorithm used.
    115115
    116 See the page on [InsertAnalysisStep#U_distribute_statedistribute_state_pdaf.F90 inserting the analysis step] for the description of this routine.
     116See the page on [wiki:InsertAnalysisStep_PDAF23#U_distribute_statedistribute_state_pdaf.F90 inserting the analysis step] for the description of this routine.
    117117
    118118
     
    121121This 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.
    122122
    123 See the [wiki:OMI_Callback_obs_pdafomi documentation on callback_obs_pdafomi.F90] for more information.
     123See the [wiki:OMI_Callback_obs_pdafomi_PDAF23 documentation on callback_obs_pdafomi.F90] for more information.
    124124
    125125
     
    129129This 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.
    130130
    131 See the [wiki:OMI_Callback_obs_pdafomi documentation on callback_obs_pdafomi.F90] for more information.
     131See the [wiki:OMI_Callback_obs_pdafomi_PDAF23 documentation on callback_obs_pdafomi.F90] for more information.
    132132
    133133
     
    136136The routine has already been described for modifying the model for the ensemble integration and for inserting the analysis step.
    137137
    138 See the page on [InsertAnalysisStep#U_prepoststepprepoststep_ens_pdaf.F90 inserting the analysis step] for the description of this routine.
     138See the page on [wiki:InsertAnalysisStep_PDAF23#U_prepoststepprepoststep_ens_pdaf.F90 inserting the analysis step] for the description of this routine.
    139139
    140140
     
    188188This 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.
    189189
    190 See the [wiki:OMI_Callback_obs_pdafomi documentation on callback_obs_pdafomi.F90] for more information.
     190See the [wiki:OMI_Callback_obs_pdafomi_PDAF23 documentation on callback_obs_pdafomi.F90] for more information.
    191191
    192192
     
    237237This routine is independent of the filter algorithm used.
    238238
    239 See the page on [InsertAnalysisStep#U_next_observationnext_observation_pdaf.F90 inserting the analysis step] for the description of this routine.
     239See the page on [wiki:InsertAnalysisStep_PDAF23#U_next_observationnext_observation_pdaf.F90 inserting the analysis step] for the description of this routine.
    240240
    241241