Changes between Initial Version and Version 1 of ImplementFilterAnalysisOverview_PDAF23


Ignore:
Timestamp:
May 19, 2025, 6:41:35 PM (11 days ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ImplementFilterAnalysisOverview_PDAF23

    v1 v1  
     1= Overview of the Analysis Step of Ensemble Filters in PDAF2 =
     2
     3{{{
     4#!html
     5<div class="wiki-toc">
     6<h4>PDAF-OMI Guide</h4>
     7<ol><li><a href="PDAF_OMI_Overview">Overview</a></li>
     8<li><a href="OMI_Callback_obs_pdafomi">callback_obs_pdafomi.F90</a></li>
     9<li><a href="OMI_observation_modules">Observation Modules</a></li>
     10<li><a href="OMI_observation_operators">Observation operators</a></li>
     11<li><a href="OMI_error_checking">Checking error status</a></li>
     12<li><a href="OMI_debugging">Debugging functionality</a></li>
     13<li><a href="ImplementationofAnalysisStep">Implementing the analysis step with OMI</a></li>
     14<ol>
     15<li>General overview for ensemble filters</li>
     16<ol>
     17<li><a href="ImplementAnalysisGlobal">Implementation for Global Filters</a></li>
     18<li><a href="ImplementAnalysisLocal">Implementation for Local Filters</a></li>
     19<li><a href="ImplementAnalysislenkfOmi">Implementation for LEnKF</a></li>
     20</ol>
     21<li> <a href="Implement3DVarAnalysisOverview"> General overview for 3D-Var methods</a></li>
     22<ol>
     23<li><a href="ImplementAnalysis_3DVar">Implementation for 3D-Var</a></li>
     24<li><a href="ImplementAnalysis_3DEnVar">Implementation for 3D Ensemble Var</a></li>
     25<li><a href="ImplementAnalysis_Hyb3DVar">Implementation for Hybrid 3D-Var</a></li>
     26</ol>
     27</ol>
     28<li><a href="OMI_nondiagonal_observation_error_covariance_matrices">Using nondiagonal R-matrices</a></li>
     29<li><a href="Porting_to_OMI">Porting an existing implemention to OMI</a></li>
     30<li><a href="PDAFomi_additional_functionality">Additional OMI Functionality</a></li>
     31</ol>
     32</div>
     33}}}
     34
     35{{{
     36#!html
     37<div class="wiki-toc">
     38<h4>Implementation Guide</h4>
     39<ol><li><a href="ImplementationGuide">Main page</a></li>
     40<li><a href="AdaptParallelization">Adaptation of the parallelization</a></li>
     41<li><a href="InitPdaf">Initialization of PDAF</a></li>
     42<li><a href="ModifyModelforEnsembleIntegration">Modifications for ensemble integration</a></li>
     43<li><a href="PDAF_OMI_Overview">PDAF-OMI Overview</a></li>
     44</div>
     45}}}
     46
     47For the analysis step of ensemble filters several routines need to be implemented. We provide a conceptional overview here. The detailed interfaces are then described on the following pages.
     48
     49[[Image(//pics/Analysis_EnFs_web.png)]]
     50[[BR]]'''Figure 1:''' Required routines for the analysis step of ensemble filters. There are three groups of routines: The interface to the model (orange), the observation module (red), and state localization in case of domain-localized filters like LETKF/LESTKF/LNETF (purple). Without [wiki:PDAFlocal_overview PDAFlocal] there are two additional routines in the localization module.
     51
     52Figure 1 gives an overview of the different routines that might need to be provided to the analysis step of an ensemble filter. The actual routines depend on the chosen filter method. The routines are organized in three groups:
     53
     54== Model Interface ==
     55 The model Interface consists of the routines `collect_state_pdaf` and `distribute_state_pdaf`. These routine perform the concersion between model fields and state vector. The routines have been discussed in the context of the [ModifyModelforEnsembleIntegration modification of the model for the ensemble integration].
     56
     57== OMI Observation Module ==
     58 The observation module performs all observation-related operations. In case of OMI, one needs the following routines:
     59  * `init_dim_obs_pdafomi`: For each observation type that is assimilation this routine reads the observations and initialized observation values, coordinates, and errors. In addition indices are specified that link the state vector to the observations so that the observation operator is prepared
     60  * `obs_op_pdafomi`: For each observation type there is one routine providing the observation operator. For this, OMI provides different observation operators
     61  * `init_dim_obs_l_pdafomi`: This routine initializes the local observations of each observation type. This is only required for the domain-localized filters. With OMI this is mainly a single subroutine call, while OMI does the actual initialization
     62  * `localized_covar`: For the local EnKF the state error covariance matrix is localized. This is performed with this routine and is specified for each observation type.
     63 More information about OMI can be found in the [wiki:PDAF_OMI_Overview overview of PDAF-OMI].
     64
     65== Localization ==
     66 These routines are only required for the domain-localized ensemble filters. They handle the initialization of the state vector for a local analysis. These routines are
     67  * `init_n_domain`: This routine sets the number of local analysis domains
     68  * `init_dim_l`: This routine determines the state vector size for the local analysis domain and initializes the index information to fill a local state vector
     69
     70== Code examples in tutorial ==
     71
     72The implementation of the ensemble filters is demonstrated in the tutorial codes in the PDAF package in the sub-directories of
     73{{{
     74   tutorial/
     75}}}
     76The implementations are described in detail in the [PdafTutorial PDAF tutorial slide sets].
     77
     78== Documention of the required implementations ==
     79
     80There are three different routines that call the filter analysis step:
     81 * [ImplementAnalysisGlobal Implementation of the analysis for Global Filters]
     82 * [ImplementAnalysisLocal Implementation of the analysis for Local Filters]
     83 * [ImplementAnalysislenkfOmi Implementation of the analysis for the LEnKF using covariance localization]