C $Header: /u/gcmpack/MITgcm/model/src/cycle_ab_tracer.F,v 1.3 2014/08/18 12:24:16 jmc Exp $ C $Name: $ #include "CPP_OPTIONS.h" CBOP C !ROUTINE: CYCLE_AB_TRACER C !INTERFACE: SUBROUTINE CYCLE_AB_TRACER( I bi, bj, I tracNew, U tracer, O tracNm1, I myTime, myIter, myThid ) C !DESCRIPTION: \bv C *==========================================================* C | S/R CYCLE_AB_TRACER C *==========================================================* C | o Cycles the time-stepping arrays for a tracer field C *==========================================================* C \ev C !USES: IMPLICIT NONE C Common #include "SIZE.h" #include "EEPARAMS.h" #include "PARAMS.h" C !INPUT/OUTPUT PARAMETERS: C bi, bj :: current tile indices C tracNew :: next time-step tracer field C tracer :: current time-step tracer field C tracNm1 :: previous time-step tracer field C myTime :: Current simulation time C myIter :: Current time-step number C myThid :: my Thread Id number INTEGER bi,bj _RL tracNew(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) _RL tracer (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) _RL tracNm1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) _RL myTime INTEGER myIter, myThid C !LOCAL VARIABLES: INTEGER i,j,k CEOP C Rotate tracNew/tracer/tracNm1 DO k=1,Nr DO j=1-OLy,sNy+OLy DO i=1-OLx,sNx+OLx tracNm1(i,j,k) = tracer(i,j,k) tracer(i,j,k) = tracNew(i,j,k) ENDDO ENDDO ENDDO RETURN END