Changes between Version 3 and Version 4 of obs_op_f_pdaf


Ignore:
Timestamp:
Feb 22, 2023, 2:20:28 PM (13 months ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • obs_op_f_pdaf

    v3 v4  
    2020
    2121Hints:
    22  * The routine is similar to `obs_op_pdaf` used for the global filters. However, with a domain-decomposed model `m_state_f` will contain parts of the state vector from neighboring model sub-domains. To make these parts accessible, some parallel communication will be necessary (The state information for a neighboring model sub-domain will be in the memory of the process that handles that sub-domain). The example implementation in `testsuite/dummymodel_1d` uses the function `MPI_AllGatherV` for this communication.
     22 * The routine is similar to `init_dim_obs` used for the global filters. However, with a domain-decomposed model `m_state_f` will need to contain parts of the state vector from neighboring model sub-domains. Thus, one needs to collect this information which resides in the memory of other processes. PDAF provides the routine [wiki:PDAF_gather_obs_f PDAF_gather_obs_f] for this task. The example implementation in `tutorial/classical/online_2D_parallelmodel` shows the use of `PDAF_gather_obs_f`.
    2323 * In case of a parallelized analysis step one has to take care that the order of observation in m_state_f is consistent with the order in the full observation vector `obs_f` generated by `init_obs_f_pdaf`.
    2424 * In case of a parallelized analysis step the full vector `m_state_f` can be obtained by first computing the process-local vector m_state_p from the state vector `state_p` and then calling the routine [wiki:PDAF_gather_obs_f] (introduced with PDAF V1.13). When `PDAF_gather_obs_f` is used in both `init_dim_obs_f_pdaf` and `obs_op_f_pdaf` it is ensured that the order of the entries in the full observation vector and `m_state_f` is consistent.