      !***********************************************************************!
      SUBROUTINE  erreur(  u,  u_exact,  gerr,  comm3d  )
      !***********************************************************************!
!
      USE numerics
!
      USE MPI
!
      IMPLICIT  NONE
!
!Erreur
      REAL(rp),  INTENT(OUT)   ::  gerr
!
!Solution  u
      REAL(rp),  DIMENSION(  sx-1:ex+1,  sy-1:ey+1,  sz-1:ez+1),  INTENT(IN)  ::  u
!
!Solution  exacte
      REAL(rp),  DIMENSION(  sx-1:ex+1,  sy-1:ey+1,  sz-1:ez+1),  INTENT(IN)  ::  u_exact
!
!Communicateur
      INTEGER,  INTENT(IN)  ::  comm3d
!
!--Declaration des variales locales
!
!Compteurs
      INTEGER   ::  i,  j,  k
!
!Erreur locale
      REAL(rp)  ::  lerr
!
      !***********************************************************************!
!
!Calcul  de  l'erreur
      lerr = zero
      DO  k  =  sz,  ez
         DO  j  =  sy,  ey
            DO  i  =  sx,  ex
               lerr = MAX( lerr, ABS( u(i,j,k) - u_exact(i,j,k) ) )
            END  DO
         END  DO
      END  DO
!
      CALL  MPI_ALLREDUCE( lerr,  gerr,  1,  ITYPE_REAL,  &
                           MPI_MAX,  comm3d,  ierr )
!
      RETURN
      END  SUBROUTINE  erreur
