SUBROUTINE mp_comm_compare(comm1, comm2, res)
INTEGER, INTENT(IN) :: comm1, comm2
INTEGER, INTENT(OUT) :: res
CHARACTER(LEN=*), PARAMETER :: routineN = 'mp_comm_compare'
INTEGER :: handle, ierr, iout
ierr = 0
CALL timeset(routineN, handle)
iout = 0
res = 0
#if defined(__parallel)
CALL mpi_comm_compare(comm1, comm2, iout, ierr)
IF (ierr /= 0) CALL mp_stop(ierr, "mpi_comm_compare @ "//routineN)
SELECT CASE (iout)
CASE (MPI_IDENT)
res = 0
CASE (MPI_CONGRUENT)
res = 1
CASE (MPI_SIMILAR)
res = 2
CASE (MPI_UNEQUAL)
res = 3
CASE default
res = 4
END SELECT
#else
MARK_USED(comm1)
MARK_USED(comm2)
#endif
CALL timestop(handle)
END SUBROUTINE mp_comm_compare