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

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

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


Revision 1.7 - (show annotations) (download)
Wed Sep 19 02:43:27 2001 UTC (22 years, 8 months ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint40
Changes since 1.6: +3 -43 lines
Re-arranged sequence of operations for Adams-Bashforth
 o this does not change numbers
 o this makes it very easy to extract forcing/diffusion out of ABII
   by changing calling sequence in calc_gt, calc_gs,...

Key modifications:
 o new s/r: ADAMS_BASHFORTH2  gT=3/2*gT-1/2*gTnm1
 o changed TIMESTEP_TRACER from gTnm1=t+dt*(3/2*gT-1/2*gTnm1)
   to  gT=T+dt*gT
 o changed CALC_GT,CALC_GS & CALC_GTR1 to calcuate "gT" defined
   by new timestep_tracer (ie. including forcing, ABII, N-L F-S, etc...)
   now calls ADAMS_BASHFORTH2 and FREESURF_RESCALE_G
 o changed CYCLE_TRACER appropriately  T=gT only

Other associated mods:
 o new s/r: FREESURF_RESCALE_G applies non-linear free-surface term
   this used to be in TIMESTEP_TRACER
 o added myIter as argument to CALC_GS,CALC_GT,CALC_GTR1

1 C $Header: /u/gcmpack/models/MITgcmUV/model/src/timestep_tracer.F,v 1.6 2001/09/04 14:53:10 adcroft Exp $
2 C $Name: $
3
4 #include "CPP_OPTIONS.h"
5
6 SUBROUTINE TIMESTEP_TRACER(
7 I bi, bj, iMin, iMax, jMin, jMax, K,
8 I advection_scheme,
9 I tracer, gTracer,
10 O gTrNm1,
11 I myIter, myThid )
12 C /==========================================================\
13 C | S/R TIMESTEP_TRACER |
14 C | o Step model tracer field forward in time |
15 C \==========================================================/
16 IMPLICIT NONE
17
18 C == Global variables ===
19 #include "SIZE.h"
20 #include "EEPARAMS.h"
21 #include "PARAMS.h"
22 #include "GAD.h"
23 #include "GRID.h"
24 #include "SURFACE.h"
25
26 C == Routine Arguments ==
27 INTEGER bi,bj,iMin,iMax,jMin,jMax,K
28 INTEGER advection_scheme
29 _RL tracer (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
30 _RL gTracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
31 _RL gTrNm1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
32 INTEGER myIter, myThid
33 C == Local variables ==
34 INTEGER i,j
35 _RL ab15,ab05
36 _RL gTrtmp(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
37
38 C Adams-Bashforth timestepping weights
39 IF (myIter .EQ. 0) THEN
40 ab15=1.0
41 ab05=0.0
42 ELSE
43 ab15=1.5+abEps
44 ab05=-(0.5+abEps)
45 ENDIF
46
47 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
48
49 C- Step forward tracer
50 DO j=jMin,jMax
51 DO i=iMin,iMax
52 gTracer(i,j,k,bi,bj)=tracer(i,j,k,bi,bj)
53 & +deltaTtracer*gTracer(i,j,k,bi,bj)
54 ENDDO
55 ENDDO
56
57 RETURN
58 END

  ViewVC Help
Powered by ViewVC 1.1.22