/[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.6 by adcroft, Tue Sep 4 14:53:10 2001 UTC revision 1.7 by adcroft, Wed Sep 19 02:43:27 2001 UTC
# Line 45  C     Adams-Bashforth timestepping weigh Line 45  C     Adams-Bashforth timestepping weigh
45        ENDIF        ENDIF
46    
47  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
 C     Compute effective G-term:  
       IF ( advection_scheme.EQ.ENUM_CENTERED_2ND  
      & .OR.advection_scheme.EQ.ENUM_UPWIND_3RD  
      & .OR.advection_scheme.EQ.ENUM_CENTERED_4TH ) THEN  
   
 C-    with Adams-Bashforth weights:  
        DO j=jMin,jMax  
         DO i=iMin,iMax  
          gTrtmp(i,j) = ab15*gTracer(i,j,k,bi,bj)  
      &               + ab05*gTrNm1(i,j,k,bi,bj)  
         ENDDO  
        ENDDO  
   
       ELSEIF (advection_scheme.EQ.ENUM_FLUX_LIMIT  
      &    .OR.advection_scheme.EQ.ENUM_DST3  
      &    .OR.advection_scheme.EQ.ENUM_DST3_FLUX_LIMIT ) THEN  
   
 C-    with no Adams-Bashforth weights:  
        DO j=jMin,jMax  
         DO i=iMin,iMax  
          gTrtmp(i,j) = gTracer(i,j,k,bi,bj)  
         ENDDO  
        ENDDO  
   
       ELSE  
        STOP 'TIMESTEP_TRACER: Bad advection_scheme'  
       ENDIF  
   
 #ifdef NONLIN_FRSURF  
       IF (nonlinFreeSurf.GT.0) THEN  
        DO j=jMin,jMax  
         DO i=iMin,iMax  
          IF (k.EQ.ksurfC(i,j,bi,bj)) THEN  
           gTrtmp(i,j) = gTrtmp(i,j)  
      &          *hFacC(i,j,k,bi,bj)/hFac_surfC(i,j,bi,bj)  
          ENDIF  
         ENDDO  
        ENDDO  
       ENDIF  
 #endif /* NONLIN_FRSURF */  
48    
49  C-    Step forward tracer  C-    Step forward tracer
50        DO j=jMin,jMax        DO j=jMin,jMax
51         DO i=iMin,iMax         DO i=iMin,iMax
52           gTrNm1(i,j,k,bi,bj)=tracer(i,j,k,bi,bj)           gTracer(i,j,k,bi,bj)=tracer(i,j,k,bi,bj)
53       &            +deltaTtracer*gTrtmp(i,j)       &            +deltaTtracer*gTracer(i,j,k,bi,bj)
54         ENDDO         ENDDO
55        ENDDO        ENDDO
56    

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.22