/[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.20 by cnh, Sun Feb 4 14:38:48 2001 UTC revision 1.21 by jmc, Tue Feb 20 15:06:21 2001 UTC
# Line 7  C     /================================= Line 7  C     /=================================
7  C     | S/R TIMESTEP                                             |  C     | S/R TIMESTEP                                             |
8  C     | o Step model fields forward in time                      |  C     | o Step model fields forward in time                      |
9  C     \==========================================================/  C     \==========================================================/
10        SUBROUTINE TIMESTEP( bi, bj, iMin, iMax, jMin, jMax,        SUBROUTINE TIMESTEP( bi, bj, iMin, iMax, jMin, jMax, K,
11       I                     K, phiHyd,       I                     phiHyd, phiSurfX, phiSurfY,
12       I                     myIter, myThid )       I                     myIter, myThid )
13        implicit none        IMPLICIT NONE
14    
15  C     == Global variables ==  C     == Global variables ==
16  #include "SIZE.h"  #include "SIZE.h"
# Line 18  C     == Global variables == Line 18  C     == Global variables ==
18  #include "EEPARAMS.h"  #include "EEPARAMS.h"
19  #include "PARAMS.h"  #include "PARAMS.h"
20  #include "GRID.h"  #include "GRID.h"
21    #include "CG2D.h"
22    
23  C     == Routine Arguments ==  C     == Routine Arguments ==
24  C     phiHyd - Hydrostatic pressure (ocean) or geopotentiel (atmos)  C     phiHyd    - Hydrostatic pressure (ocean) or geopotentiel (atmos)
25    C     phiSurfX, - gradient of Surface potentiel (Pressure/rho, ocean)
26    C     phiSurfY             or geopotentiel (atmos) in X and Y direction
27        INTEGER bi,bj,iMin,iMax,jMin,jMax        INTEGER bi,bj,iMin,iMax,jMin,jMax
28        INTEGER K        INTEGER K
29        _RL     phiHyd(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL     phiHyd(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
30          _RL     phiSurfX(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
31          _RL     phiSurfY(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
32        INTEGER myIter, myThid        INTEGER myIter, myThid
33    
34  C     == Local variables ==  C     == Local variables ==
35        INTEGER i,j        INTEGER i,j
36        _RL ab15,ab05        _RL ab15,ab05
37        _RL phxFac,phyFac        _RL phxFac,phyFac, psFac
38    
39  C     Adams-Bashforth timestepping weights  C     Adams-Bashforth timestepping weights
40  Caja  IF (myIter .EQ. 0) THEN  Caja  IF (myIter .EQ. 0) THEN
# Line 41  Caja  ELSE Line 46  Caja  ELSE
46  Caja  ENDIF  Caja  ENDIF
47    
48  C     Step forward zonal velocity (store in Gu)  C     Step forward zonal velocity (store in Gu)
49          psFac = pfFacMom*(1. _d 0 - implicSurfPress)
50        DO j=jMin,jMax        DO j=jMin,jMax
51          DO i=iMin,iMax          DO i=iMin,iMax
52            gUNm1(i,j,k,bi,bj)=uVel(i,j,k,bi,bj)            gUNm1(i,j,k,bi,bj)=uVel(i,j,k,bi,bj) + deltaTmom * (
53       &    +deltaTmom*(ab15*gU(i,j,k,bi,bj)+ab05*gUNm1(i,j,k,bi,bj)       &       ab15*gU(i,j,k,bi,bj)+ab05*gUNm1(i,j,k,bi,bj)
54         &     - psFac*phiSurfX(i,j)
55  #ifdef INCLUDE_CD_CODE  #ifdef INCLUDE_CD_CODE
56       &    +guCD(i,j,k,bi,bj)       &     + guCD(i,j,k,bi,bj)
57  #endif  #endif
58       &        )*_maskW(i,j,k,bi,bj)       &        )*_maskW(i,j,k,bi,bj)
59          ENDDO          ENDDO
# Line 66  C--   -grad Phi_Hyd has not been incorpo Line 73  C--   -grad Phi_Hyd has not been incorpo
73        ENDIF        ENDIF
74    
75  C     Step forward meridional velocity (store in Gv)  C     Step forward meridional velocity (store in Gv)
76          psFac = pfFacMom*(1. _d 0 - implicSurfPress)
77        DO j=jMin,jMax        DO j=jMin,jMax
78          DO i=iMin,iMax          DO i=iMin,iMax
79            gVNm1(i,j,k,bi,bj)=vVel(i,j,k,bi,bj)            gVNm1(i,j,k,bi,bj)=vVel(i,j,k,bi,bj) + deltaTmom * (
80       &    +deltaTmom*(ab15*gV(i,j,k,bi,bj)+ab05*gVNm1(i,j,k,bi,bj)       &       ab15*gV(i,j,k,bi,bj)+ab05*gVNm1(i,j,k,bi,bj)
81         &     - psFac*phiSurfY(i,j)
82  #ifdef INCLUDE_CD_CODE  #ifdef INCLUDE_CD_CODE
83       &    +gvCD(i,j,k,bi,bj)       &     + gvCD(i,j,k,bi,bj)
84  #endif  #endif
85       &        )*_maskS(i,j,k,bi,bj)       &        )*_maskS(i,j,k,bi,bj)
86          ENDDO          ENDDO

Legend:
Removed from v.1.20  
changed lines
  Added in v.1.21

  ViewVC Help
Powered by ViewVC 1.1.22