Changes between Version 4 and Version 5 of OnlineAdaptParallelization_PDAF3


Ignore:
Timestamp:
Apr 17, 2026, 11:22:33 AM (14 hours ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OnlineAdaptParallelization_PDAF3

    v4 v5  
    3737 * In this case we use PDAF to add parallelization
    3838
     39We first describe here the initialization as it is recommended in PDAF V3.1 and later. In this case, PDAF will perform the configuration of the parallelization (i.e. the communicators). There is also the possibility to setup the communicators in the user code, as was standard in PDAF V3.0 and before. This is [wiki:OnlineAdaptParallelization_PDAF3#Setupofparallelizationinusercode explained below in the Section 'Setup of Parallelization in user code'].
     40
    3941== Adaptions for a parallelized model ==
    4042
     
    106108If the program is executed with these extensions using multiple model tasks, the issues discussed in '[#Compilingtheextendedprogram Compiling the extended program]' can occur. This one has to take care about which processes will perform output to the screen or to files.
    107109
     110
     111== Setup of parallelization in user code ==
     112
     113The configuration of the parallelization using `PDAF3_init_parallel` is convenient because it is performed by PDAF. Thus on the user side, one is not concerned with how to implement this configuration, which involves the creating of MPI communicator (see below about the required communicators). However, there can be cases where it is not possible or convenient to let PDAF do the parallel configuration. For example, there can be cases where the ensemble setup of the parallelization was already done in the model code and one want to use this configuration to be used by PDAF.
     114
     115In PDAF V3.0 and before, the configuration of the parallelization was performed in the user code and then provided by PDAF. This possibility is still present. the template code file `templates/online/init_parallel_pdaf.F90.PDAF3_set_parallel' show an example for this approach. In this example, the necessary communicators are generated in the user code and then the routine `PDAF_set_parallel` is called to provide the parallelization variables to PDAF. The required communicators are explained below.  Further, see the [wiki:PDAF3_set_parallel Page on PDAF_set_parallel] for documention on this routine.
    108116
    109117== Further Information ==