C $Header: /u/gcmpack/MITgcm/pkg/seaice/seaice_exch.F,v 1.4 2004/12/27 20:34:11 dimitri Exp $
C $Name: $
#include "SEAICE_OPTIONS.h"
CStartOfInterface
SUBROUTINE SEAICE_EXCH ( fld, myThid )
C /==========================================================\
C | SUBROUTINE SEAICE_EXCH |
C | o RL exchange routine with k=3 |
C |==========================================================|
C \==========================================================/
IMPLICIT NONE
C == Global variables ===
#include "SIZE.h"
#include "EEPARAMS.h"
C == Routine arguments ==
C myThid - Thread number for this instance of the routine.
_RL fld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,3,nSx,nSy)
INTEGER myThid
CEndofinterface
C == Local variables ==
INTEGER i,j,k,bi,bj
_RL tempVar(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
C-- Update overlap regions
DO k=1,3
DO bj=myByLo(myThid),myByHi(myThid)
DO bi=myBxLo(myThid),myBxHi(myThid)
DO j=1-Oly,sNy+OLy
DO i=1-OLx,sNx+OLx
tempVar(i,j,bi,bj)=fld(i,j,k,bi,bj)
ENDDO
ENDDO
ENDDO
ENDDO
_EXCH_XY_R8(tempVar , myThid )
DO bj=myByLo(myThid),myByHi(myThid)
DO bi=myBxLo(myThid),myBxHi(myThid)
DO j=1-Oly,sNy+OLy
DO i=1-OLx,sNx+OLx
fld(i,j,k,bi,bj)=tempVar(i,j,bi,bj)
ENDDO
ENDDO
ENDDO
ENDDO
ENDDO
RETURN
END