Changes between Version 2 and Version 3 of FlexibleParallelization_in_PDAF2


Ignore:
Timestamp:
May 18, 2025, 10:17:07 AM (8 hours ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FlexibleParallelization_in_PDAF2

    v2 v3  
    55The ''flexible'' parallelization mode allows to run the assimilation program in a way so that a model task (set of processors running one model integration) can propagate several ensemble states successively. This approach allows to use a smaller number of processes compared to the ''fully parallel'.
    66
    7 Implementing the ''flexible'' mode requires additional changes to the model code. These are shown in Figure 1. In particular an external loop has to be added. This change only affects the general part of the model code. Compared to the newer implementation variant, a combination of calls to `PDAF_get_state' and `put_state_PDAF` (which calls `PDAFomi_put_state_X` or `PDAF_put_state_X` for a specific DA-method 'X') is used. In this case, `put_state_PDAF` is called after the full integration of an ensemble member state. Then `PDAFomi_put_state_X` counts the number of ensemble members for which the forecast is complete. If all members were integrated, the analysis step is executed to compute the assimilation update. This structure does not allow to perform additional operations during the time stepping like apply incremental analysis updates. In contrast the [wiki:ImplementationConceptOnline recommended implementation introduced with PDAF V3.0], performs a call to PDAF at each time step.
     7Implementing the ''flexible'' mode requires additional changes to the model code. These are shown in Figure 1. In particular an external loop has to be added. This change only affects the general part of the model code. Compared to the newer implementation variant, a combination of calls to `PDAF_get_state` and `put_state_PDAF` (which calls `PDAFomi_put_state_X` or `PDAF_put_state_X` for a specific DA-method 'X') is used. In this case, `put_state_PDAF` is called after the full integration of an ensemble member state. Then `PDAFomi_put_state_X` counts the number of ensemble members for which the forecast is complete. If all members were integrated, the analysis step is executed to compute the assimilation update. This structure does not allow to perform additional operations during the time stepping like apply incremental analysis updates. In contrast the [wiki:ImplementationConceptOnline recommended implementation introduced with PDAF V3.0], performs a call to PDAF at each time step.
    88
    99The ''flexible'' parallelization requires that the model can jump back in time. Jumping back in time will be required if the number of model tasks used to evolve the ensemble states is smaller than the number of ensemble members. In this case a model task has integrate more than one model state and will have to jump back in time after the integration of each ensemble member.