/[MITgcm]/MITgcm/model/src/timestep_tracer.F
ViewVC logotype

Diff of /MITgcm/model/src/timestep_tracer.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.17 by mlosch, Tue Dec 13 15:12:53 2011 UTC revision 1.18 by jmc, Fri Aug 8 19:55:52 2014 UTC
# Line 8  CBOP Line 8  CBOP
8  C     !ROUTINE: TIMESTEP_TRACER  C     !ROUTINE: TIMESTEP_TRACER
9  C     !INTERFACE:  C     !INTERFACE:
10        SUBROUTINE TIMESTEP_TRACER(        SUBROUTINE TIMESTEP_TRACER(
11       I                     bi, bj, k, deltaTloc,       I                     bi, bj, deltaTLev,
12       I                     tracer,       I                     tracer,
13       U                     gTracer,       U                     gTracer,
14       I                     myIter, myThid )       I                     myTime, myIter, myThid )
15  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
16  C     *==========================================================*  C     *==========================================================*
17  C     | S/R TIMESTEP_TRACER  C     | S/R TIMESTEP_TRACER
# Line 29  C     == Global variables === Line 29  C     == Global variables ===
29    
30  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
31  C     == Routine Arguments ==  C     == Routine Arguments ==
32        INTEGER bi, bj, k  C     bi, bj     :: current tile indices
33        _RL     deltaTloc  C     deltaTLev  :: time-step [s] (vertical dimension vector)
34        _RL  tracer (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)  C     tracer     :: tracer field
35        _RL  gTracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)  C     gTracer    :: input: tracer tendency ; output: updated tracer
36    C     myTime     :: current time in simulation
37    C     myIter     :: current iteration number
38    C     myThid     :: my Thread Id number
39          INTEGER bi, bj
40          _RL     deltaTLev(Nr)
41          _RL     tracer (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
42          _RL     gTracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
43          _RL     myTime
44        INTEGER myIter, myThid        INTEGER myIter, myThid
45    
46  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
47  C     == Local variables ==  C     == Local variables ==
48        INTEGER i,j        INTEGER i, j, k
49  CEOP  CEOP
50    
51  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
52    
53  C-    Step tracer forward in time and store provisional value in gTracer array  C-    Step tracer forward in time and store provisional value in gTracer array
54        DO j=1-Oly,sNy+Oly        DO k=1,Nr
55         DO i=1-Olx,sNx+Olx         DO j=1-OLy,sNy+OLy
56           gTracer(i,j,k,bi,bj)=tracer(i,j,k,bi,bj)          DO i=1-OLx,sNx+OLx
57       &            +deltaTloc*gTracer(i,j,k,bi,bj)            gTracer(i,j,k) = tracer(i,j,k)
58         &                   + deltaTLev(k)*gTracer(i,j,k)
59  #ifdef ALLOW_OBCS  #ifdef ALLOW_OBCS
60  CML   For the Stevens open boundary conditions, we need to step forward  CML   For the Stevens open boundary conditions, we need to step forward
61  CML   the tracer even on the boundary in order to include surface  CML   the tracer even on the boundary in order to include surface
# Line 55  CML   this mask was meant to avoid unrea Line 64  CML   this mask was meant to avoid unrea
64  CML   Lets hope that we can live without this safety net.  CML   Lets hope that we can live without this safety net.
65  C    &                      *maskInC(i,j,bi,bj)  C    &                      *maskInC(i,j,bi,bj)
66  #endif  #endif
67            ENDDO
68         ENDDO         ENDDO
69        ENDDO        ENDDO
70    

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18

  ViewVC Help
Powered by ViewVC 1.1.22