= PDAF3_set_parallel = This page documents the routine `PDAF3_set_parallel` of PDAF. This routine was introduced with PDAF V3.0. The routine `PDAF3_init` is called in `init_parallel_pdaf` to provide PDAF with the paralellization information. The call to `PDAF3_set_parallel_init` has the following structure: {{{ CALL PDAF_init(COMM_ensemble, COMM_model, COMM_filter, COMM_couple, & task_id, n_modeltasks, filterpe, & status_pdaf) }}} The required arguments are the following: * `COMM_ensemble`: The communicator variable `COMM_ensemble` as initialized by `init_parallel_pdaf`. * `COMM_model`: The communicator variable `COMM_model` as initialized by `init_parallel_pdaf`. * `COMM_filter`: The communicator variable `COMM_filter` as initialized by `init_parallel_pdaf`. * `COMM_couple`: The communicator variable `COMM_couple` as initialized by `init_parallel_pdaf`. * `task_id`: The index of the model tasks as initialized by `init_parallel_pdaf`. * `n_modeltasks`: The number of model tasks as defined before the call to `init_parallel_pdaf`. * `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`) * `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.