/[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.3 by adcroft, Tue Jul 31 15:01:33 2001 UTC revision 1.4 by adcroft, Wed Aug 15 18:40:57 2001 UTC
# Line 4  C $Name$ Line 4  C $Name$
4  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
5    
6        SUBROUTINE TIMESTEP_TRACER(        SUBROUTINE TIMESTEP_TRACER(
7       I                     bi, bj, iMin, iMax, jMin, jMax, K, tauAB,       I                     bi, bj, iMin, iMax, jMin, jMax, K,
8       U                     tracer, gTracer, gTrNm1,       I                     advection_scheme,
9         I                     tracer, gTracer,
10         O                     gTrNm1,
11       I                     myIter, myThid )       I                     myIter, myThid )
12  C     /==========================================================\  C     /==========================================================\
13  C     | S/R TIMESTEP_TRACER                                      |  C     | S/R TIMESTEP_TRACER                                      |
# Line 17  C     == Global variables === Line 19  C     == Global variables ===
19  #include "SIZE.h"  #include "SIZE.h"
20  #include "EEPARAMS.h"  #include "EEPARAMS.h"
21  #include "PARAMS.h"  #include "PARAMS.h"
22    #include "GAD.h"
23    
24  C     == Routine Arguments ==  C     == Routine Arguments ==
 C     tauAB - Adams-Bashforth timestepping weight: 0=forward ; 1/2=Adams-Bashf.  
25        INTEGER bi,bj,iMin,iMax,jMin,jMax,K        INTEGER bi,bj,iMin,iMax,jMin,jMax,K
26        _RL  tauAB        INTEGER advection_scheme
27        _RL  tracer (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)        _RL  tracer (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
28        _RL  gTracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)        _RL  gTracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
29        _RL  gTrNm1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)        _RL  gTrNm1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
# Line 35  C     Adams-Bashforth timestepping weigh Line 37  C     Adams-Bashforth timestepping weigh
37         ab15=1.0         ab15=1.0
38         ab05=0.0         ab05=0.0
39        ELSE        ELSE
40         ab15=1.+tauAB         ab15=1.5+abEps
41         ab05=-tauAB         ab05=-(0.5+abEps)
42        ENDIF        ENDIF
43    
44  C     Step forward temperature  C     Step forward temperature
45        DO j=jMin,jMax        IF ( advection_scheme.EQ.ENUM_CENTERED_2ND
46         & .OR.advection_scheme.EQ.ENUM_UPWIND_3RD
47         & .OR.advection_scheme.EQ.ENUM_CENTERED_4TH ) THEN
48           DO j=jMin,jMax
49          DO i=iMin,iMax          DO i=iMin,iMax
50            gTrNm1(i,j,k,bi,bj)=tracer(i,j,k,bi,bj)            gTrNm1(i,j,k,bi,bj)=tracer(i,j,k,bi,bj)
51       &             +deltaTtracer*(       &             +deltaTtracer*(
52       &                              ab15*gTracer(i,j,k,bi,bj)       &                              ab15*gTracer(i,j,k,bi,bj)
53       &                             +ab05*gTrNm1(i,j,k,bi,bj)  )       &                             +ab05*gTrNm1(i,j,k,bi,bj)  )
54          ENDDO          ENDDO
55        ENDDO         ENDDO
56          ELSEIF (advection_scheme.EQ.ENUM_FLUX_LIMIT) THEN
57           DO j=jMin,jMax
58            DO i=iMin,iMax
59              gTrNm1(i,j,k,bi,bj)=tracer(i,j,k,bi,bj)
60         &             +deltaTtracer*gTracer(i,j,k,bi,bj)
61            ENDDO
62           ENDDO
63          ELSE
64           STOP 'TIMESTEP_TRACER: Bad advection_scheme'
65          ENDIF
66    
67        RETURN        RETURN
68        END        END

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.22