Changes between Version 2 and Version 3 of ImplementAnalysisPDAF3UniversalLocal


Ignore:
Timestamp:
May 24, 2025, 6:13:59 PM (8 days ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ImplementAnalysisPDAF3UniversalLocal

    v2 v3  
    277277== Execution order of user-supplied routines ==
    278278
    279 The user-supplied routines are executed in the order listed below. The order can be important as some routines can perform preparatory work for routines executed later on during the analysis. For example, in `U_init_dim_l` we can prepare the index array that provides the information how to localize a global state vector.
    280 
    281 Before the analysis step is called the following is executed:
    282  1. [#U_collect_statecollect_state_pdaf.F90 U_collect_state] (called once for each ensemble member)
    283  1. [#U_prepoststepprepoststep_ens_pdaf.F90 U_prepoststep] (Call to act on the forecast ensemble, called with negative value of the time step)
     279The user-supplied routines are executed in the order listed below. The order can be important as some routines can perform preparatory work for routines executed later on during the analysis. For example, in `init_dim_l_pdaf` we can prepare the index array that provides the information how to localize a global state vector.
     280
     281Before the analysis step is called the following is executed by `PDAF3_assimilate_local` and `PDAF3_put_state_local`:
     282 1. [#collect_state_pdafcollect_state_pdaf.F90 collect_state_pdaf] (called once for each ensemble member)
     283 1. [#prepoststep_pdafprepoststep_ens_pdaf.F90 prepoststep_pdaf] (Call to act on the forecast ensemble, called with negative value of the time step)
    284284
    285285At the analysis time, the observations are initialized by the routines:
    286  1. [#U_init_dim_obs_pdafomicallback_obs_pdafomi.F90 U_init_dim_obs_pdafomi]
    287  1. [#U_obs_op_pdadfomicallback_obs_pdafomi.F90 U_obs_op_pdafomi] (Called `dim_ens` times; once for each ensemble member)
     286 1. [#init_dim_obs_pdafomicallback_obs_pdafomi.F90 init_dim_obs_pdafomi]
     287 1. [#obs_op_pdadfomicallback_obs_pdafomi.F90 obs_op_pdafomi] (Called `dim_ens` times; once for each ensemble member)
    288288
    289289Now the analysis step is entered and the number of local analysis domain is initialized by calling:
    290  1. [#U_init_n_domainsinit_n_domains_pdaf.F90 U_init_n_domains]
     290 1. [#init_n_domains_pdafinit_n_domains_pdaf.F90 init_n_domains_pdaf]
    291291
    292292In the loop over all local analysis domains, it is executed for each local analysis domain:
    293  1. [#U_init_dim_linit_dim_l_pdaf.F90 U_init_dim_l]
    294  1. [#U_init_dim_obs_l_pdafomiinit_dim_obs_l_pdaf.F90 U_init_dim_obs_l_pdafomi]
     293 1. [#init_dim_l_pdafinit_dim_l_pdaf.F90 init_dim_l_pdaf]
     294 1. [#g2l_state_pdafg2lstate_pdaf.F90 g2l_state_pdaf]
     295 1. [#init_dim_obs_l_pdafomiinit_dim_obs_l_pdaf.F90 U_init_dim_obs_l_pdafomi]
     296 1. [#l2g_state_pdafl2gstate_pdaf.F90 l2g_state_pdaf]
    295297
    296298After the loop over all local analysis domains, it is executed:
    297  1. [#U_prepoststepprepoststep_ens_pdaf.F90 U_prepoststep] (Call to act on the analysis ensemble, called with (positive) value of the time step)
    298 
    299 In case of the routine `PDAF3_assimilate`, the following routines are executed after the analysis step:
    300  1. [#U_distribute_statedistribute_state_pdaf.F90 U_distribute_state]
    301  1. [#U_next_observationnext_observation_pdaf.F90 U_next_observation]
     299 1. [#prepoststep_pdafprepoststep_ens_pdaf.F90 prepoststep_pdaf] (Call to act on the analysis ensemble, called with (positive) value of the time step)
     300
     301In case of the routine `PDAF3_assimilate_local`, the following routines are executed after the analysis step:
     302 1. [#distribute_state_pdafdistribute_state_pdaf.F90 distribute_state_pdaf]
     303 1. [#next_observation_pdafnext_observation_pdaf.F90 next_observation_pdaf]