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

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

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

revision 1.3 by cnh, Fri Apr 24 03:07:12 1998 UTC revision 1.4 by adcroft, Thu Apr 30 14:03:29 1998 UTC
# Line 6  C     /================================= Line 6  C     /=================================
6  C     | S/R TIMESTEP                                             |  C     | S/R TIMESTEP                                             |
7  C     | o Step model fields forward in time                      |  C     | o Step model fields forward in time                      |
8  C     \==========================================================/  C     \==========================================================/
9        SUBROUTINE TIMESTEP( bi, bj, iMin, iMax, jMin, jMax, myThid )        SUBROUTINE TIMESTEP( bi, bj, iMin, iMax, jMin, jMax,
10         I                     K, pSurfX, pSurfY,
11         I                     myThid )
12        implicit none        implicit none
13  ! Common  ! Common
14  #include "SIZE.h"  #include "SIZE.h"
# Line 17  C     \================================= Line 19  C     \=================================
19  #include "CG2D.h"  #include "CG2D.h"
20  C     == Routine Arguments ==  C     == Routine Arguments ==
21        INTEGER bi,bj,iMin,iMax,jMin,jMax        INTEGER bi,bj,iMin,iMax,jMin,jMax
22          INTEGER K
23          _RL  pSurfX(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
24          _RL  pSurfY(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
25        INTEGER myThid        INTEGER myThid
26  C     == Local variables ==  C     == Local variables ==
27  C     pg       - Pressure gradient terms. Note cg2d_x        INTEGER i,j
 C                holds term in units so that lateral  
 C                gradient is all that is needed.  
       INTEGER i,j,k  
28        REAL ab15,ab05        REAL ab15,ab05
       _RL  pg(1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
29    
30  C     Adams-Bashforth timestepping weights  C     Adams-Bashforth timestepping weights
31        ab15=1.5+abeps        ab15=1.5+abeps
32        ab05=-0.5-abeps        ab05=-0.5-abeps
33    
 C     Zonal pressure term  
       DO j=jMin,jMax  
        DO i=iMin,iMax  
         pg(i,j)=rDxC(i,j,bi,bj)*  
      &   (cg2d_x(i,j,bi,bj)-cg2d_x(i-1,j,bi,bj))  
      &   *gravity*rhonil  
        ENDDO  
       ENDDO  
34  C     Step forward zonal velocity  C     Step forward zonal velocity
       DO k=1,Nz  
35         DO j=jMin,jMax         DO j=jMin,jMax
36          DO i=iMin,iMax          DO i=iMin,iMax
37           uVel(i,j,k,bi,bj)=uVel(i,j,k,bi,bj)           uVel(i,j,k,bi,bj)=uVel(i,j,k,bi,bj)
38       &    +deltaTmom*(ab15*gU(i,j,k,bi,bj)+ab05*gUNm1(i,j,k,bi,bj)       &    +deltaTmom*(ab15*gU(i,j,k,bi,bj)+ab05*gUNm1(i,j,k,bi,bj)
39       &                -pg(i,j)/rhonil       &                -pSurfX(i,j)/rhonil
40       &    )*maskW(i,j,k,bi,bj)       &    )*maskW(i,j,k,bi,bj)
41           gUNm1(i,j,k,bi,bj)=gU(i,j,k,bi,bj)           gUNm1(i,j,k,bi,bj)=gU(i,j,k,bi,bj)
42          ENDDO          ENDDO
43         ENDDO         ENDDO
       ENDDO  
 C     Meridional pressure term  
       DO j=jMin,jMax  
        DO i=iMin,iMax  
         pg(i,j)=rDyC(i,j,bi,bj)*  
      &   (cg2d_x(i,j,bi,bj)-cg2d_x(i,j-1,bi,bj))  
      &   *gravity*rhonil  
        ENDDO  
       ENDDO  
44  C     Step forward meridional velocity  C     Step forward meridional velocity
       DO k=1,Nz  
45         DO j=jMin,jMax         DO j=jMin,jMax
46          DO i=iMin,iMax          DO i=iMin,iMax
47           vVel(i,j,k,bi,bj)=vVel(i,j,k,bi,bj)           vVel(i,j,k,bi,bj)=vVel(i,j,k,bi,bj)
48       &    +deltaTmom*(ab15*gV(i,j,k,bi,bj)+ab05*gVNm1(i,j,k,bi,bj)       &    +deltaTmom*(ab15*gV(i,j,k,bi,bj)+ab05*gVNm1(i,j,k,bi,bj)
49       &                -pg(i,j)/rhonil       &                -pSurfY(i,j)/rhonil
50       &               )*maskS(i,j,k,bi,bj)       &               )*maskS(i,j,k,bi,bj)
51           gVNm1(i,j,k,bi,bj)=gV(i,j,k,bi,bj)           gVNm1(i,j,k,bi,bj)=gV(i,j,k,bi,bj)
52          ENDDO          ENDDO
53         ENDDO         ENDDO
       ENDDO  
54  C     Step forward temperature  C     Step forward temperature
       DO k=1,Nz  
55         DO j=jMin,jMax         DO j=jMin,jMax
56          DO i=iMin,iMax          DO i=iMin,iMax
57           theta(i,j,k,bi,bj)=theta(i,j,k,bi,bj)           theta(i,j,k,bi,bj)=theta(i,j,k,bi,bj)
# Line 79  C     Step forward temperature Line 59  C     Step forward temperature
59           gTNm1(i,j,k,bi,bj)=gT(i,j,k,bi,bj)           gTNm1(i,j,k,bi,bj)=gT(i,j,k,bi,bj)
60          ENDDO          ENDDO
61         ENDDO         ENDDO
       ENDDO  
62    
63        _BARRIER        _BARRIER
64  C     CALL PLOT_FIELD_XYZR8( uVel, 'TIEMSTEP.1 uVel',Nz,1,myThid)  C     CALL PLOT_FIELD_XYZR8( uVel, 'TIEMSTEP.1 uVel',Nz,1,myThid)

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

  ViewVC Help
Powered by ViewVC 1.1.22