This routine returns the value of a local communicator gathering only the tasks of the component (i.e. the tasks that called oasis_init_comp with the same comp_name argument).
This may be needed as all executables of the coupled system are started in a pseudo-MPMD mode with MPI1 and therefore share automatically the same MPI_COMM_WORLD communicator. Another communicator has to be used for the internal parallelisation of each component. OASIS3-MCT creates this local communicator local_comm based on the value of the comp_name argument in the oasis_init_comp call.
Retrieving a local communicator local_comm is also needed if oasis_create_couplcomm is called, as local_comm is an argument of this routine (see below).
This routine creates a coupling communicator for a subset of processes. It is mandatory to call this routine if only a subset of the component processes participate in the coupling (e.g. comp3 in figure 2.2); in that case, the processes involved in the coupling have to call it with icpl=1 while the other have to call it with icpl = MPI_UNDEFINED. Argument local_comm is the MPI communicator associated with all processes of the component returned by oasis_get_localcomm. The new coupling communicator is returned in coupl_comm.
This routine allows users to provide a local coupling communicator to OASIS3-MCT, given that it already exists in the code. The value of coupl_comm must be the value of this local coupling communicator for the processes participating to the coupling and it must be MPI_COMM_NULL for processes not involved in the coupling.