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

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

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


Revision 1.1 - (show annotations) (download)
Wed Apr 22 19:15:30 1998 UTC (26 years, 1 month ago) by cnh
Branch: MAIN
Branch point for: cnh
Initial revision

1 C $Id$
2
3 #include "CPP_EEOPTIONS.h"
4
5 C /==========================================================\
6 C | S/R TIMESTEP |
7 C | o Step model fields forward in time |
8 C \==========================================================/
9 SUBROUTINE TIMESTEP( bi, bj, iMin, iMax, jMin, jMax, myThid )
10 implicit none
11 ! Common
12 #include "SIZE.h"
13 #include "DYNVARS.h"
14 #include "PARAMS.h"
15 #include "GRID.h"
16 #include "EEPARAMS.h"
17 #include "CG2D.h"
18 C == Routine Arguments ==
19 INTEGER bi,bj,iMin,iMax,jMin,jMax
20 INTEGER myThid
21 C == Local variables ==
22 C pg - Pressure gradient terms. Note cg2d_x
23 C holds term in units so that lateral
24 C gradient is all that is needed.
25 INTEGER i,j,k
26 REAL ab15,ab05
27 _RL pg(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
28
29 C Adams-Bashforth timestepping weights
30 ab15=1.5+abeps
31 ab05=-0.5-abeps
32
33 C Zonal pressure term
34 DO j=jMin,jMax
35 DO i=iMin,iMax
36 pg(i,j)=rDxC(i,j,bi,bj)*
37 & (cg2d_x(i,j,bi,bj)-cg2d_x(i-1,j,bi,bj))
38 & *gravity*rhonil
39 ENDDO
40 ENDDO
41 C Step forward zonal velocity
42 DO k=1,Nz
43 DO j=jMin,jMax
44 DO i=iMin,iMax
45 uVel(i,j,k,bi,bj)=uVel(i,j,k,bi,bj)
46 & +deltaTmom*(ab15*gU(i,j,k,bi,bj)+ab05*gUNm1(i,j,k,bi,bj)
47 & -pg(i,j)/rhonil
48 CcnhDebugStarts
49 Cdbg & -rdxC(i,j,bi,bj)*
50 Cdbg & (pHSave(i,j,k,bi,bj)-pHSave(i-1,j,k,bi,bj))/rhonil
51 CcnhDebugEnds
52 & )*maskW(i,j,k,bi,bj)
53 gUNm1(i,j,k,bi,bj)=gU(i,j,k,bi,bj)
54 ENDDO
55 ENDDO
56 ENDDO
57 C Meridional pressure term
58 DO j=jMin,jMax
59 DO i=iMin,iMax
60 pg(i,j)=rDyC(i,j,bi,bj)*
61 & (cg2d_x(i,j,bi,bj)-cg2d_x(i,j-1,bi,bj))
62 & *gravity*rhonil
63 ENDDO
64 ENDDO
65 C Step forward meridional velocity
66 DO k=1,Nz
67 DO j=jMin,jMax
68 DO i=iMin,iMax
69 vVel(i,j,k,bi,bj)=vVel(i,j,k,bi,bj)
70 & +deltaTmom*(ab15*gV(i,j,k,bi,bj)+ab05*gVNm1(i,j,k,bi,bj)
71 & -pg(i,j)/rhonil
72 CcnhDebugStarts
73 Cdbg & -rdyC(i,j,bi,bj)*
74 Cdbg & (pHSave(i,j,k,bi,bj)-pHSave(i,j-1,k,bi,bj))/rhonil
75 CcnhDebugEnds
76 & )*maskS(i,j,k,bi,bj)
77 gVNm1(i,j,k,bi,bj)=gV(i,j,k,bi,bj)
78 ENDDO
79 ENDDO
80 ENDDO
81 C Step forward temperature
82 DO k=1,Nz
83 DO j=jMin,jMax
84 DO i=iMin,iMax
85 theta(i,j,k,bi,bj)=theta(i,j,k,bi,bj)
86 & +deltaTtracer*(ab15*gT(i,j,k,bi,bj)+ab05*gTNm1(i,j,k,bi,bj))
87 gTNm1(i,j,k,bi,bj)=gT(i,j,k,bi,bj)
88 ENDDO
89 ENDDO
90 ENDDO
91
92 _BARRIER
93 C CALL PLOT_FIELD_XYZR8( uVel, 'TIEMSTEP.1 uVel',Nz,1,myThid)
94 C CALL PLOT_FIELD_XYZR8( vVel, 'TIEMSTEP.1 vVel',Nz,1,myThid)
95 C CALL PLOT_FIELD_XYZR8( theta, 'TIEMSTEP.1 theta',Nz,1,myThid)
96
97
98 RETURN
99 END

  ViewVC Help
Powered by ViewVC 1.1.22