/[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.8 - (show annotations) (download)
Mon Jun 1 22:27:14 1998 UTC (26 years ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint5
Changes since 1.7: +3 -2 lines
Implemented implicit vertical diffusion (tracers only).
Involved introducing a "total" diffusivity array (local 3D)
calculated by calc_diffusivity().
Made some small changes to time-stepping algorithm.
Switched on by setting implicitZdiffusion.
(note: *Not* fully tested with topography. But when switched off
this does produce identical results)

1 C $Header: /u/gcmpack/models/MITgcmUV/model/src/timestep.F,v 1.7 1998/06/01 20:36:13 adcroft Exp $
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,
10 I K,
11 I myThid )
12 implicit none
13 ! Common
14 #include "SIZE.h"
15 #include "DYNVARS.h"
16 #include "PARAMS.h"
17 #include "GRID.h"
18 C == Routine Arguments ==
19 INTEGER bi,bj,iMin,iMax,jMin,jMax
20 INTEGER K
21 INTEGER myThid
22 C == Local variables ==
23 INTEGER i,j
24 _RL ab15,ab05
25
26 C Adams-Bashforth timestepping weights
27 ab15=1.5+abeps
28 ab05=-0.5-abeps
29
30 C Step forward zonal velocity (store in Gu)
31 DO j=jMin,jMax
32 DO i=iMin,iMax
33 gUNm1(i,j,k,bi,bj)=uVel(i,j,k,bi,bj)
34 & +deltaTmom*(ab15*gU(i,j,k,bi,bj)+ab05*gUNm1(i,j,k,bi,bj)
35 & )*_maskW(i,j,k,bi,bj)
36 ENDDO
37 ENDDO
38 C Step forward meridional velocity (store in Gv)
39 DO j=jMin,jMax
40 DO i=iMin,iMax
41 gVNm1(i,j,k,bi,bj)=vVel(i,j,k,bi,bj)
42 & +deltaTmom*(ab15*gV(i,j,k,bi,bj)+ab05*gVNm1(i,j,k,bi,bj)
43 & )*_maskS(i,j,k,bi,bj)
44 ENDDO
45 ENDDO
46 C Step forward temperature
47 DO j=jMin,jMax
48 DO i=iMin,iMax
49 theta(i,j,k,bi,bj)=theta(i,j,k,bi,bj)
50 & +deltaTtracer*(ab15*gT(i,j,k,bi,bj)+ab05*gTNm1(i,j,k,bi,bj))
51 gTNm1(i,j,k,bi,bj)=gT(i,j,k,bi,bj)
52 ENDDO
53 ENDDO
54
55 RETURN
56 END

  ViewVC Help
Powered by ViewVC 1.1.22