Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mp_comm_type), | intent(in) | :: | comm | |||
logical, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | rdim | ||
type(mp_comm_type), | intent(out) | :: | sub_comm |
SUBROUTINE mp_cart_sub(comm, rdim, sub_comm) TYPE(mp_comm_type), INTENT(IN) :: comm LOGICAL, DIMENSION(:), CONTIGUOUS, INTENT(IN) :: rdim TYPE(mp_comm_type), INTENT(OUT) :: sub_comm CHARACTER(LEN=*), PARAMETER :: routineN = 'mp_cart_sub' INTEGER :: handle, ierr ierr = 0 CALL timeset(routineN, handle) sub_comm = comm #if defined(__parallel) CALL mpi_cart_sub(comm%handle, rdim, sub_comm%handle, ierr) IF (ierr /= 0) CALL mp_stop(ierr, "mpi_cart_sub @ "//routineN) debug_comm_count = debug_comm_count + 1 #else MARK_USED(comm) MARK_USED(rdim) #endif CALL timestop(handle) END SUBROUTINE mp_cart_sub