Changes between Version 9 and Version 10 of ImplementAnalysislnetf


Ignore:
Timestamp:
May 29, 2025, 8:02:04 AM (3 days ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ImplementAnalysislnetf

    v9 v10  
    5252
    5353
    54 == `PDAF_put_state_lnetf` ==
     54== `PDAF_assimilate_lnetf` ==
    5555
    5656The 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].
     
    6161For the update of each single vertical column, observations from some larger domain surrounding the vertical column are required. If the influence radius for the observations is sufficiently small there will be vertical columns for which the relevant observations reside completely inside the model sub-domain of the process. However, if a vertical column is considered that is located close to the boundary of the model sub-domain, there will be some observations that don't belong spatially to the local model sub-domain, but to a neighboring model sub-domain. Nonetheless, these observations are required on the local model sub-domain. A simple way to handle this situation is to initialize for each process all globally available observations, together with their coordinates. While this method is simple, it can also become inefficient if the assimilation program is executed using a large number of processes. As for an initial implementation it is usually not the concern to obtain the highest parallel efficiency, the description below assumes that 'full' refers to the global model domain.
    6262
    63 The interface when using the LNETF algorithm is the following:
     63The interface when using PDAF V3.0 and later is:
    6464{{{
    6565  SUBROUTINE PDAF_assimilate_lnetf(U_collect_state, U_distribute_state, U_init_dim_obs_f, U_obs_op_f, &
    6666                                  U_init_obs_f, U_init_obs_l, U_prepoststep, U_likelihood_l, &
     67                                  U_init_n_domains, U_init_dim_l, U_init_dim_obs_l, &
     68                                  U_g2l_state, U_l2g_state, U_g2l_obs, &
     69                                  U_next_observation, status)
     70}}}
     71
     72In PDAF V2.3.1 and before, the routine `U_inis_obs_f` is not present. Thus the interface is:
     73{{{
     74  SUBROUTINE PDAF_assimilate_lnetf(U_collect_state, U_distribute_state, U_init_dim_obs_f, U_obs_op_f, &
     75                                  U_init_obs_l, U_prepoststep, U_likelihood_l, &
    6776                                  U_init_n_domains, U_init_dim_l, U_init_dim_obs_l, &
    6877                                  U_g2l_state, U_l2g_state, U_g2l_obs, &
     
    95104When the 'flexible' implementation variant is chosen for the assimilation system, the routine `PDAF_put_state_lnetf` has to be used instead of `PDAF_assimilate_lnetf`. 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 `PDAF_assimilate_lnetf` with the exception the specification of the user-supplied routines `U_distribute_state` and `U_next_observation` are missing.
    96105
    97 The interface when using the LNETF algorithm is the following:
    98 {{{
    99   SUBROUTINE PDAF_put_state_lnetf(U_collect_state, U_init_dim_obs_f, U_obs_op_f, U_init_obs_f, &
    100                                   U_init_obs_l, U_prepoststep, U_likelihood_l, U_init_n_domains, &
    101                                   U_init_dim_l, U_init_dim_obs_l, &
    102                                   U_g2l_state, U_l2g_state, U_g2l_obs, &
    103                                   status)
     106The interface when using PDAF V3.0 and later is:
     107{{{
     108  SUBROUTINE PDAF_assimilate_lnetf(U_collect_state,  U_init_dim_obs_f, U_obs_op_f, &
     109                                  U_init_obs_f, U_init_obs_l, U_prepoststep, U_likelihood_l, &
     110                                  U_init_n_domains, U_init_dim_l, U_init_dim_obs_l, &
     111                                  U_g2l_state, U_l2g_state, U_g2l_obs, status)
     112}}}
     113
     114In PDAF V2.3.1 and before, the routine `U_inis_obs_f` is not present. Thus the interface is:
     115{{{
     116  SUBROUTINE PDAF_assimilate_lnetf(U_collect_state, U_init_dim_obs_f, U_obs_op_f, &
     117                                  U_init_obs_l, U_prepoststep, U_likelihood_l, &
     118                                  U_init_n_domains, U_init_dim_l, U_init_dim_obs_l, &
     119                                  U_g2l_state, U_l2g_state, U_g2l_obs, status)
    104120}}}
    105121