/[MITgcm]/MITgcm/pkg/generic_advdiff/GAD.h
ViewVC logotype

Contents of /MITgcm/pkg/generic_advdiff/GAD.h

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


Revision 1.23 - (show annotations) (download)
Tue Nov 16 17:39:13 2010 UTC (13 years, 6 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62v, checkpoint62u, checkpoint62t, checkpoint65a, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62o, checkpoint62w, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint63g, checkpoint64, checkpoint65, checkpoint63, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f
Changes since 1.22: +15 -1 lines
File MIME type: text/plain
-record overlap minimum size for each advection scheme
-add function GAD_VALID_ADVSCHEME to check for valid advection scheme
-check and stop (in gad_check) if overlap size is too small.

1 C $Header: /u/gcmpack/MITgcm/pkg/generic_advdiff/GAD.h,v 1.22 2009/06/26 23:10:09 jahn Exp $
2 C $Name: $
3
4 CBOP
5 C !ROUTINE: GAD.h
6
7 C !INTERFACE:
8 C #include "GAD.h"
9
10 C !DESCRIPTION:
11 C Contains enumerated constants for distinguishing between different
12 C advection schemes and tracers.
13 C
14 C Unfortunately, there is no easy way to make use of the
15 C tokens in namelist input so for now we have to enter the
16 C tokens value into "data" (ie. 2 for 2nd order etc.)
17
18 C !USES:
19
20 C !DEFINED PARAMETERS:
21
22 C ENUM_UPWIND_1RST :: 1rst Order Upwind
23 INTEGER ENUM_UPWIND_1RST
24 PARAMETER(ENUM_UPWIND_1RST=1)
25
26 C ENUM_CENTERED_2ND :: Centered 2nd order
27 INTEGER ENUM_CENTERED_2ND
28 PARAMETER(ENUM_CENTERED_2ND=2)
29
30 C ENUM_UPWIND_3RD :: 3rd order upwind
31 INTEGER ENUM_UPWIND_3RD
32 PARAMETER(ENUM_UPWIND_3RD=3)
33
34 C ENUM_CENTERED_4TH :: Centered 4th order
35 INTEGER ENUM_CENTERED_4TH
36 PARAMETER(ENUM_CENTERED_4TH=4)
37
38 C ENUM_DST2 :: 2nd Order Direct Space and Time (= Lax-Wendroff)
39 INTEGER ENUM_DST2
40 PARAMETER(ENUM_DST2=20)
41
42 C ENUM_FLUX_LIMIT :: Non-linear flux limiter
43 INTEGER ENUM_FLUX_LIMIT
44 PARAMETER(ENUM_FLUX_LIMIT=77)
45
46 C ENUM_DST3 :: 3rd Order Direst Space and Time
47 INTEGER ENUM_DST3
48 PARAMETER(ENUM_DST3=30)
49
50 C ENUM_DST3_FLUX_LIMIT :: 3-DST flux limited
51 INTEGER ENUM_DST3_FLUX_LIMIT
52 PARAMETER(ENUM_DST3_FLUX_LIMIT=33)
53
54 C ENUM_OS7MP :: 7th Order One Step method with Monotonicity Preserving Limiter
55 INTEGER ENUM_OS7MP
56 PARAMETER(ENUM_OS7MP=7)
57
58 C ENUM_SOM_PRATHER :: 2nd Order-Moment Advection Scheme, Prather, 1986
59 INTEGER ENUM_SOM_PRATHER
60 PARAMETER(ENUM_SOM_PRATHER=80)
61
62 C ENUM_SOM_LIMITER :: 2nd Order-Moment Advection Scheme, Prather Limiter
63 INTEGER ENUM_SOM_LIMITER
64 PARAMETER(ENUM_SOM_LIMITER=81)
65
66 C GAD_Scheme_MaxNum :: maximum possible number for an advection scheme
67 INTEGER GAD_Scheme_MaxNum
68 PARAMETER( GAD_Scheme_MaxNum = 100 )
69
70 C nSOM :: number of 1rst & 2nd Order-Moments: 1+1 (1D), 2+3 (2D), 3+6 (3D)
71 INTEGER nSOM
72 PARAMETER( nSOM = 3+6 )
73
74 C oneSixth :: Third/fourth order interpolation factor
75 _RL oneSixth
76 PARAMETER(oneSixth=1.D0/6.D0)
77
78 C loop range for computing vertical advection tendency
79 C iMinAdvR,iMaxAdvR :: 1rst index (X-dir) loop range for vertical advection
80 C jMinAdvR,jMaxAdvR :: 2nd index (Y-dir) loop range for vertical advection
81 INTEGER iMinAdvR, iMaxAdvR, jMinAdvR, jMaxAdvR
82 c PARAMETER ( iMinAdvR = 1-OLx , iMaxAdvR = sNx+OLx )
83 c PARAMETER ( jMinAdvR = 1-OLy , jMaxAdvR = sNy+OLy )
84 C- note: we use to compute vertical advection tracer tendency everywhere
85 C (overlap included) as above, but really needs valid tracer tendency
86 C in interior only (as below):
87 PARAMETER ( iMinAdvR = 1 , iMaxAdvR = sNx )
88 PARAMETER ( jMinAdvR = 1 , jMaxAdvR = sNy )
89
90 C Differentiate between tracers (needed for KPP - arrgh!!!)
91 cph and GMRedi arrgh*arrgh!!!)
92 cph indices are used for TAF key computations, so need to
93 cph running from 1, 2, ...
94 c
95 C GAD_TEMPERATURE :: temperature
96 INTEGER GAD_TEMPERATURE
97 PARAMETER(GAD_TEMPERATURE=1)
98 C GAD_SALINITY :: salinity
99 INTEGER GAD_SALINITY
100 PARAMETER(GAD_SALINITY=2)
101 C GAD_TR1 :: passive tracer 1
102 INTEGER GAD_TR1
103 PARAMETER(GAD_TR1=3)
104 CEOP
105
106 C-- COMMON /GAD_PARM_C/ Character parameters for GAD pkg routines
107 C somSfx :: 1rst & 2nd Order moment suffix
108 CHARACTER*2 somSfx(nSOM)
109 COMMON /GAD_PARM_C/
110 & somSfx
111
112 C-- COMMON /GAD_PARM_I/ Integer parameters for GAD pkg routines
113 C GAD_Scheme_olSize :: overlap minimum size for this advection scheme
114 C GAD_OlMinSize :: overlap minimum size for GAD routines
115 C 1: min required; 2: to add to current min; 3: factor to apply
116 INTEGER GAD_Scheme_olSize(GAD_Scheme_MaxNum)
117 INTEGER GAD_OlMinSize(3)
118 COMMON /GAD_PARM_I/
119 & GAD_Scheme_olSize,
120 & GAD_OlMinSize
121
122 C-- COMMON /GAD_PARM_L/ Logical parameters for GAD pkg routines
123 C tempSOM_Advection :: set to T if using 2nd-Order Moment advection for Temp
124 C saltSOM_Advection :: set to T if using 2nd-Order Moment advection for Salt
125 C tempMultiDimAdvec :: set to T if using multi-dim advection for Temp
126 C saltMultiDimAdvec :: set to T if using multi-dim advection for Salt
127 C AdamsBashforthGt :: apply Adams-Bashforth extrapolation on T tendency (=Gt)
128 C AdamsBashforthGs :: apply Adams-Bashforth extrapolation on S tendency (=Gs)
129 C AdamsBashforth_T :: apply Adams-Bashforth extrapolation on Pot.Temp.
130 C AdamsBashforth_S :: apply Adams-Bashforth extrapolation on Salinity
131 LOGICAL tempSOM_Advection
132 LOGICAL saltSOM_Advection
133 LOGICAL tempMultiDimAdvec
134 LOGICAL saltMultiDimAdvec
135 LOGICAL AdamsBashforthGt
136 LOGICAL AdamsBashforthGs
137 LOGICAL AdamsBashforth_T
138 LOGICAL AdamsBashforth_S
139 COMMON /GAD_PARM_L/
140 & tempSOM_Advection, saltSOM_Advection,
141 & tempMultiDimAdvec, saltMultiDimAdvec,
142 & AdamsBashforthGt, AdamsBashforthGs,
143 & AdamsBashforth_T, AdamsBashforth_S
144
145 _RL SmolarkiewiczMaxFrac
146 COMMON /GAD_SMOL/ SmolarkiewiczMaxFrac
147
148 CEH3 ;;; Local Variables: ***
149 CEH3 ;;; mode:fortran ***
150 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22