9#include "test_macros.inc"
20 integer :: npes, mype, couple_npes, comp_npes
22 integer :: couple_communicator, comp_communicator
28 call mpi_comm_rank(mpi_comm_world, mype, ierror)
29 call mpi_comm_size(mpi_comm_world, npes, ierror)
34 call mpi_comm_split(mpi_comm_world, 0, 0, couple_communicator, ierror)
36 call mpi_comm_size(couple_communicator, couple_npes, ierror)
37 call test(couple_npes == 5)
44 call mpi_comm_size(comp_communicator, comp_npes, ierror)
45 call test(comp_npes ==
merge(3, 2, mype < 3))
46 call mpi_comm_free(comp_communicator, ierror)
53 call mpi_comm_split(mpi_comm_world, 1, 0, couple_communicator, ierror)
55 call mpi_comm_size(couple_communicator, couple_npes, ierror)
56 call test(couple_npes == 1)
59 call mpi_comm_free(couple_communicator, ierror)
60 call mpi_finalize(ierror)
Fortran interface for invoking the end of the definition phase.
Fortran interface for the coupler termination.
Fortran interface for getting back a local MPI communicator.
Fortran interface for the coupler initialisation.
static void merge(char *base_a, size_t num_a, int a_ascending, char *base_b, size_t num_b, int b_ascending, size_t size, int(*compar)(const void *, const void *), char *target)
subroutine, public start_test(name)
subroutine, public stop_test()
subroutine, public exit_tests()
program test_init_comm_finalize