| 1 | = PDAF3_set_parallel = |
| 2 | |
| 3 | This page documents the routine `PDAF3_set_parallel` of PDAF. This routine was introduced with PDAF V3.0. |
| 4 | |
| 5 | The routine `PDAF3_init` is called in `init_parallel_pdaf` to provide PDAF with the paralellization information. |
| 6 | |
| 7 | The call to `PDAF3_set_parallel_init` has the following structure: |
| 8 | {{{ |
| 9 | CALL PDAF_init(COMM_ensemble, COMM_model, COMM_filter, COMM_couple, & |
| 10 | task_id, n_modeltasks, filterpe, & |
| 11 | status_pdaf) |
| 12 | }}} |
| 13 | |
| 14 | The required arguments are the following: |
| 15 | |
| 16 | * `COMM_ensemble`: The communicator variable `COMM_ensemble` as initialized by `init_parallel_pdaf`. |
| 17 | * `COMM_model`: The communicator variable `COMM_model` as initialized by `init_parallel_pdaf`. |
| 18 | * `COMM_filter`: The communicator variable `COMM_filter` as initialized by `init_parallel_pdaf`. |
| 19 | * `COMM_couple`: The communicator variable `COMM_couple` as initialized by `init_parallel_pdaf`. |
| 20 | * `task_id`: The index of the model tasks as initialized by `init_parallel_pdaf`. |
| 21 | * `n_modeltasks`: The number of model tasks as defined before the call to `init_parallel_pdaf`. |
| 22 | * `filterpe`: A logical flag showing whether a process belongs to `COMM_filter` as initialized by `init_parallel_pdaf`. (Usually stored in the module `mod_assimilation`) |
| 23 | * `status_pdaf`: An integer used as status flag of PDAF. If `status_pdaf` is zero upon exit from `PDAF_init` the initialization was successful. An error occurred for non-zero values. |