Changes between Version 31 and Version 32 of ImplementAnalysisLocal


Ignore:
Timestamp:
Jun 4, 2025, 2:09:51 PM (44 hours 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