SUBROUTINE mp_cart_sub(comm, rdim, sub_comm)
INTEGER, INTENT(IN) :: comm
LOGICAL, DIMENSION(:), CONTIGUOUS, INTENT(IN) :: rdim
INTEGER, INTENT(OUT) :: sub_comm
CHARACTER(LEN=*), PARAMETER :: routineN = 'mp_cart_sub'
INTEGER :: handle, ierr
ierr = 0
CALL timeset(routineN, handle)
sub_comm = 0
#if defined(__parallel)
CALL mpi_cart_sub(comm, rdim, sub_comm, 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