C$Header: /u/gcmpack/MITgcm/pkg/exch2/exch2_get_send_bounds.F,v 1.1 2004/01/09 20:46:09 afe Exp $

      SUBROUTINE EXCH2_GET_SEND_BOUNDS(
     I           fCode, eWdth,
     O           tiStride, tjStride,
     U           tIlo, tIhi, tJlo, tJhi )
C
      IMPLICIT NONE
C
      CHARACTER*2 fCode
      INTEGER     eWdth
      INTEGER     tiStride, tjStride
      INTEGER     tIlo, tIhi, tJlo, tJhi
C
      IF ( tIlo .EQ. tIhi .AND. tIlo .EQ. 0 ) THEN
C      Sending to a west edge
       tIlo=1-eWdth
       tIhi=0
       tistride=1
       IF ( tJlo .LE. tJhi ) THEN
        tJlo=tJlo-eWdth+1
        tJhi=tJhi+eWdth-1
        tjstride=1
       ELSE
        tJlo=tJlo+eWdth-1
        tJhi=tJhi-eWdth+1
        tjstride=-1
       ENDIF
      ENDIF
      IF ( tIlo .EQ. tIhi .AND. tIlo .GT. 1 ) THEN
C      Sending to an east edge
       tIhi=tIhi+eWdth-1
       tistride=1
       IF ( tJlo .LE. tJhi ) THEN
        tJlo=tJlo-eWdth+1
        tJhi=tJhi+eWdth-1
        tjstride=1
       ELSE
        tJlo=tJlo+eWdth-1
        tJhi=tJhi-eWdth+1
        tjstride=-1
       ENDIF
      ENDIF
      IF ( tJlo .EQ. tJhi .AND. tJlo .EQ. 0 ) THEN
C      Sending to a south edge
       tJlo=1-eWdth
       tJhi=0
       tjstride=1
       IF ( tIlo .LE. tIhi ) THEN
        tIlo=tIlo-eWdth+1
        tIhi=tIhi+eWdth-1
        tistride=1
       ELSE
        tIlo=tIlo+eWdth-1
        tIhi=tIhi-eWdth+1
        tistride=-1
       ENDIF
      ENDIF
      IF ( tJlo .EQ. tJhi .AND. tJlo .GT. 1 ) THEN
C      Sending to an north edge
       tJhi=tJhi+eWdth-1
       tjstride=1
       IF ( tIlo .LE. tIhi ) THEN
        tIlo=tIlo-eWdth+1
        tIhi=tIhi+eWdth-1
        tistride=1
       ELSE
        tIlo=tIlo+eWdth-1
        tIhi=tIhi-eWdth+1
        tistride=-1
       ENDIF
      ENDIF

      RETURN
      END