Changes between Version 29 and Version 30 of ImplementAnalysisLocal


Ignore:
Timestamp:
Jun 4, 2025, 1:02:23 PM (7 weeks ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ImplementAnalysisLocal

    v29 v30  
    1 = Implementation of the Analysis Step for the Local Filters with OMI =
     1= Implementation of the Analysis Step for the Local Filters with OMI and  PDAFlocal =
    22
    33{{{
    44#!html
    55<div class="wiki-toc">
    6 <h4>Implementation Guide</h4>
    7 <ol><li><a href="ImplementationGuide">Main page</a></li>
    8 <li><a href="AdaptParallelization">Adaptation of the parallelization</a></li>
    9 <li><a href="InitPdaf">Initialization of PDAF</a></li>
    10 <li><a href="ModifyModelforEnsembleIntegration">Modifications for ensemble integration</a></li>
    11 <li><a href="OMI_ImplementationofAnalysisStep">Implementation of the analysis step</a></li>
     6<h4>Implementation Guide - Analysis step</h4>
     7<ol><li><a href="ImplementAnalysisLocal">Implementation of the analysis step</a></li>
    128<ol>
    13 <li> <a href="ImplementFilterAnalysisOverview"> General overview for ensemble filters</a></li>
     9<li> <a href="ImplementFilterAnalysisOverviewPDAF3"> General overview for ensemble filters</a></li>
    1410<ol>
    15 <li><a href="ImplementAnalysisGlobal">Implementation for Global Filters</a></li>
    1611<li>Implementation for Local Filters</li>
    17 <li><a href="ImplementAnalysisLocal_untilPDAF221">Implementation for Local Filters without PDAFlcoal</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="OMI_nondiagonal_observation_error_covariance_matrices">Using nondiagonal R-matrices</a></li>
    27 <li><a href="PDAF_OMI_Overview">PDAF-OMI Overview</a></li>
    28 </ol>
    29 <li><a href="AddingMemoryandTimingInformation">Memory and timing information</a></li>
    30 <li><a href="EnsembleGeneration">Ensemble Generation</a></li>
    31 <li><a href="DataAssimilationDiagnostics">Diagnostics</a></li>
     12</ol>
     13</ol>
     14</ol>
    3215</ol>
    3316</div>
     
    3720[[PageOutline(2-3,Contents of this page)]]
    3821
     22|| This page describes the recommended implementation of the analysis step of local filters with OMI using the PDAFlocal interface that was introduced with PDAF V2.3. See the [wiki:ImplementationofAnalysisStep_PDAF3 page on implementing the analysis step with PDAF3] for the updated recommendations. ||
     23
    3924== Overview ==
    4025
    41 This page describes the recommended implementation of the analysis step of local filters with OMI using the PDAFlocal interface that was introduced with PDAF V2.3. The older approach calling PDAFomi_assimilate_local or PDAFomi_put_state_local is documented on the page on [wiki:ImplementAnalysisLocal_untilPDAF221 Implementing the Analysis Step for the Local Filters with OMI without PDAFlocal (until V2.2.1 of PDAF)].
    42 
    4326PDAF-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).
    4427
    45 For the analysis step of the local filters we need different operations related to the observations. These operations are requested by PDAF by call-back routines supplied by the user and provided in the OMI structure. The names of the routines that are provided by the user are specified in the call to the routine `PDAFomi_assimilate_local` in the fully-parallel implementation (or `PDAFomi_put_state_local` for the 'flexible' implementation) that was discussed before. With regard to the parallelization, all these routines (except `U_collect_state`, `U_distribute_state`, and `U_next_observation`) are executed by the filter processes (`filterpe=.true.`) only.
    46 
    47 For completeness we discuss here all user-supplied routines that are specified in the interface to `PDAFomi_assimilate_local`. Many of the routines are identical to those used for the global filters. Hence, when the user-supplied routines for the global filters have been already implemented, one can base on these routines to speed up the implementation. Due to this, it can also be reasonable to first fully implement a global filter version and subsequently implement the corresponding localized filter by modifying and extending the global routines.
     28For the analysis step of the local filters we need different operations related to the observations. These operations are requested by PDAF by call-back routines supplied by the user and provided in the OMI structure. The names of the routines that are provided by the user are specified in the call to the routine `PDAFlocalomi_assimilate` in the fully-parallel implementation (or `PDAFlocalomi_put_state` for the 'flexible' implementation) that was discussed before. With regard to the parallelization, all these routines (except `U_collect_state`, `U_distribute_state`, and `U_next_observation`) are executed by the filter processes (`filterpe=.true.`) only.
     29
     30For completeness we discuss here all user-supplied routines that are specified in the interface to `PDAFlocalomi_assimilate`. Many of the routines are identical to those used for the global filters. Hence, when the user-supplied routines for the global filters have been already implemented, one can base on these routines to speed up the implementation. Due to this, it can also be reasonable to first fully implement a global filter version and subsequently implement the corresponding localized filter by modifying and extending the global routines.
    4831
    4932