/[MITgcm]/MITgcm/pkg/ptracers/ptracers_advection.F
ViewVC logotype

Contents of /MITgcm/pkg/ptracers/ptracers_advection.F

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


Revision 1.5 - (show annotations) (download)
Tue Jul 13 16:47:48 2004 UTC (19 years, 11 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint56b_post, checkpoint54d_post, checkpoint54e_post, checkpoint55, checkpoint56, checkpoint54f_post, checkpoint55a_post, checkpoint55i_post, checkpoint55c_post, checkpoint55g_post, checkpoint55d_post, checkpoint55d_pre, checkpoint55j_post, checkpoint55h_post, checkpoint55b_post, checkpoint55f_post, checkpoint56a_post, checkpoint56c_post, checkpoint55e_post, checkpoint54c_post
Changes since 1.4: +2 -1 lines
max number of passive tracers is now defined in PTRACERS_SIZE.h

1 C $Header: /u/gcmpack/MITgcm/pkg/ptracers/ptracers_advection.F,v 1.4 2004/07/07 18:45:28 jmc Exp $
2 C $Name: $
3
4 #include "PTRACERS_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: PTRACERS_ADVECTION
8
9 C !INTERFACE: ==========================================================
10 SUBROUTINE PTRACERS_ADVECTION( bi,bj,myIter,myTime,myThid )
11
12 C !DESCRIPTION:
13 C Calculates tendancy for passive tracers and integrates forward
14 C in time.
15
16 C !USES: ===============================================================
17 IMPLICIT NONE
18 #include "SIZE.h"
19 #include "EEPARAMS.h"
20 #include "PARAMS.h"
21 #include "DYNVARS.h"
22 #include "PTRACERS_SIZE.h"
23 #include "PTRACERS.h"
24 #include "GAD.h"
25
26 C !INPUT PARAMETERS: ===================================================
27 C bi,bj :: tile indices
28 C myIter :: time-step number
29 C myTime :: model time
30 C myThid :: thread number
31 INTEGER bi,bj
32 INTEGER myIter
33 _RL myTime
34 INTEGER myThid
35
36 C !OUTPUT PARAMETERS: ==================================================
37 C none
38
39 #ifdef ALLOW_PTRACERS
40
41 C !LOCAL VARIABLES: ====================================================
42 C i,j,k,bi,bj,iTracer :: loop indices
43 C iMin,iMax,jMin,jMax :: loop ranges
44 C kUp,kDown :: toggle indices for even/odd level fluxes
45 C km1 :: =min(1,k-1)
46 C rFlx :: vertical flux
47 INTEGER iTracer
48 CEOP
49
50 C Loop over tracers
51 DO iTracer=1,PTRACERS_numInUse
52
53 IF (
54 & multiDimAdvection .AND.
55 & PTRACERS_advScheme(iTracer).NE.ENUM_CENTERED_2ND .AND.
56 & PTRACERS_advScheme(iTracer).NE.ENUM_UPWIND_3RD .AND.
57 & PTRACERS_advScheme(iTracer).NE.ENUM_CENTERED_4TH ) THEN
58 CALL GAD_ADVECTION(
59 I .FALSE.,
60 I PTRACERS_advScheme(iTracer),
61 I PTRACERS_advScheme(iTracer),
62 I GAD_TR1,
63 I uVel, vVel, wVel,
64 I pTracer(1-Olx,1-Oly,1,1,1,iTracer),
65 O gPtr(1-Olx,1-Oly,1,1,1,iTracer),
66 I bi,bj,myTime,myIter,myThid)
67 ENDIF
68
69
70 C end of tracer loop
71 ENDDO
72
73 #endif /* ALLOW_PTRACERS */
74
75 RETURN
76 END

  ViewVC Help
Powered by ViewVC 1.1.22