/[MITgcm]/MITgcm/pkg/generic_advdiff/timestep_tracer.F
ViewVC logotype

Diff of /MITgcm/pkg/generic_advdiff/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 15:51:46 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         I                     advection_scheme,
9       U                     tracer, gTracer, gTrNm1,       U                     tracer, gTracer, gTrNm1,
10       I                     myIter, myThid )       I                     myIter, myThid )
11  C     /==========================================================\  C     /==========================================================\
# Line 20  C     == Global variables === Line 21  C     == Global variables ===
21  #include "GAD.h"  #include "GAD.h"
22    
23  C     == Routine Arguments ==  C     == Routine Arguments ==
 C     tauAB - Adams-Bashforth timestepping weight: 0=forward ; 1/2=Adams-Bashf.  
24        INTEGER bi,bj,iMin,iMax,jMin,jMax,K        INTEGER bi,bj,iMin,iMax,jMin,jMax,K
25        _RL  tauAB        INTEGER advection_scheme
26        _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)
27        _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)
28        _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 36  C     Adams-Bashforth timestepping weigh Line 36  C     Adams-Bashforth timestepping weigh
36         ab15=1.0         ab15=1.0
37         ab05=0.0         ab05=0.0
38        ELSE        ELSE
39         ab15=1.+tauAB         ab15=1.5+abEps
40         ab05=-tauAB         ab05=-(0.5+abEps)
41        ENDIF        ENDIF
42    
43  C     Step forward temperature  C     Step forward temperature
44        IF ( gad_advection_scheme.EQ.ENUM_CENTERED_2ND        IF ( advection_scheme.EQ.ENUM_CENTERED_2ND
45       & .OR.gad_advection_scheme.EQ.ENUM_UPWIND_3RD       & .OR.advection_scheme.EQ.ENUM_UPWIND_3RD
46       & .OR.gad_advection_scheme.EQ.ENUM_CENTERED_4TH ) THEN       & .OR.advection_scheme.EQ.ENUM_CENTERED_4TH ) THEN
47         DO j=jMin,jMax         DO j=jMin,jMax
48          DO i=iMin,iMax          DO i=iMin,iMax
49            gTrNm1(i,j,k,bi,bj)=tracer(i,j,k,bi,bj)            gTrNm1(i,j,k,bi,bj)=tracer(i,j,k,bi,bj)
# Line 52  C     Step forward temperature Line 52  C     Step forward temperature
52       &                             +ab05*gTrNm1(i,j,k,bi,bj)  )       &                             +ab05*gTrNm1(i,j,k,bi,bj)  )
53          ENDDO          ENDDO
54         ENDDO         ENDDO
55        ELSEIF (gad_advection_scheme.EQ.ENUM_FLUX_LIMIT) THEN        ELSEIF (advection_scheme.EQ.ENUM_FLUX_LIMIT) THEN
56         DO j=jMin,jMax         DO j=jMin,jMax
57          DO i=iMin,iMax          DO i=iMin,iMax
58            gTrNm1(i,j,k,bi,bj)=tracer(i,j,k,bi,bj)            gTrNm1(i,j,k,bi,bj)=tracer(i,j,k,bi,bj)
# Line 60  C     Step forward temperature Line 60  C     Step forward temperature
60          ENDDO          ENDDO
61         ENDDO         ENDDO
62        ELSE        ELSE
63         STOP 'TIMESTEP_TRACER: Bad gad_advection_scheme'         STOP 'TIMESTEP_TRACER: Bad advection_scheme'
64        ENDIF        ENDIF
65    
66        RETURN        RETURN

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

  ViewVC Help
Powered by ViewVC 1.1.22