Changes between Version 31 and Version 32 of ImplementAnalysisLocal


Ignore:
Timestamp:
Jun 4, 2025, 2:09:51 PM (17 months ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ImplementAnalysisLocal

    v31 v32  
    44#!html
    55<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>
    812<ol>
    9 <li> <a href="ImplementFilterAnalysisOverviewPDAF3"> General overview for ensemble filters</a></li>
     13<li> <a href="ImplementFilterAnalysisOverview"> General overview for ensemble filters</a></li>
    1014<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>
    1531</ol>
    1632</div>
    … …  
    1834
    1935
     36
    2037[[PageOutline(2-3,Contents of this page)]]
    2138
    … …  
    3350== `PDAFlocalomi_assimilate` ==
    3451
    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 [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.
     52The 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.
    3653
    3754The 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`).
    … …  
    4764}}}
    4865with 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.
    5067 * [#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.
    5168 * [#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
    … …  
    6683== `PDAFlocalomi_put_state` ==
    6784
    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 [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.
    6986
    7087The interface when using one of the local filters is the following:
    … …  
    8198== User-supplied routines ==
    8299
    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 [ModifyModelforEnsembleIntegration modifying the model code for the ensemble integration].
     100Here, 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].
    84101
    85102To 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.
    … …  
    92109This routine is independent of the filter algorithm used.
    93110
    94 See the page on [InsertAnalysisStep#U_collect_statecollect_state_pdaf.F90 inserting the analysis step] for the description of this routine.
     111See the page on [wiki:InsertAnalysisStep_PDAF23#U_collect_statecollect_state_pdaf.F90 inserting the analysis step] for the description of this routine.
    95112
    96113
    … …  
    99116This routine is independent of the filter algorithm used.
    100117
    101 See the page on [InsertAnalysisStep#U_distribute_statedistribute_state_pdaf.F90 inserting the analysis step] for the description of this routine.
     118See the page on [wiki:InsertAnalysisStep_PDAF23#U_distribute_statedistribute_state_pdaf.F90 inserting the analysis step] for the description of this routine.
    102119
    103120
    … …  
    121138The routine has already been described for modifying the model for the ensemble integration and for inserting the analysis step.
    122139
    123 See the page on [InsertAnalysisStep#U_prepoststepprepoststep_ens_pdaf.F90 inserting the analysis step] for the description of this routine.
     140See the page on [wiki:InsertAnalysisStep_PDAF23#U_prepoststepprepoststep_ens_pdaf.F90 inserting the analysis step] for the description of this routine.
    124141
    125142
    … …  
    194211This routine is independent of the filter algorithm used.
    195212
    196 See the page on [InsertAnalysisStep#U_next_observationnext_observation_pdaf.F90 inserting the analysis step] for the description of this routine.
     213See the page on [wiki:InsertAnalysisStep_PDAF23#U_next_observationnext_observation_pdaf.F90 inserting the analysis step] for the description of this routine.
    197214
    198215