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

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

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

revision 1.8.6.1 by heimbach, Fri Mar 7 03:55:23 2003 UTC revision 1.25 by jmc, Sun Mar 13 01:44:02 2016 UTC
# Line 16  C tokens in namelist input so for now we Line 16  C tokens in namelist input so for now we
16  C tokens value into "data" (ie. 2 for 2nd order etc.)  C tokens value into "data" (ie. 2 for 2nd order etc.)
17    
18  C !USES:  C !USES:
 #include "GAD_OPTIONS.h"  
19    
20  C !DEFINED PARAMETERS:  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  C ENUM_CENTERED_2ND :: Centered 2nd order
27        INTEGER ENUM_CENTERED_2ND        INTEGER ENUM_CENTERED_2ND
28        PARAMETER(ENUM_CENTERED_2ND=2)        PARAMETER(ENUM_CENTERED_2ND=2)
29    
30  C ENUM_UPWIND_3RD :: 3rd order upwind  C ENUM_UPWIND_3RD :: 3rd order upwind
31        INTEGER ENUM_UPWIND_3RD        INTEGER ENUM_UPWIND_3RD
32        PARAMETER(ENUM_UPWIND_3RD=3)        PARAMETER(ENUM_UPWIND_3RD=3)
33    
# Line 32  C ENUM_CENTERED_4TH :: Centered 4th orde Line 35  C ENUM_CENTERED_4TH :: Centered 4th orde
35        INTEGER ENUM_CENTERED_4TH        INTEGER ENUM_CENTERED_4TH
36        PARAMETER(ENUM_CENTERED_4TH=4)        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  C ENUM_FLUX_LIMIT :: Non-linear flux limiter
43        INTEGER ENUM_FLUX_LIMIT        INTEGER ENUM_FLUX_LIMIT
44        PARAMETER(ENUM_FLUX_LIMIT=77)        PARAMETER(ENUM_FLUX_LIMIT=77)
45    
46  C ENUM_DST3 :: 3-DST  C ENUM_DST3 :: 3rd Order Direst Space and Time
47        INTEGER ENUM_DST3        INTEGER ENUM_DST3
48        PARAMETER(ENUM_DST3=30)        PARAMETER(ENUM_DST3=30)
49    
# Line 44  C ENUM_DST3_FLUX_LIMIT :: 3-DST flux lim Line 51  C ENUM_DST3_FLUX_LIMIT :: 3-DST flux lim
51        INTEGER ENUM_DST3_FLUX_LIMIT        INTEGER ENUM_DST3_FLUX_LIMIT
52        PARAMETER(ENUM_DST3_FLUX_LIMIT=33)        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 ENUM_PPM_NULL :: piecewise parabolic method with "null" limiter
67          INTEGER ENUM_PPM_NULL_LIMIT
68          PARAMETER(ENUM_PPM_NULL_LIMIT=40)
69    
70    C ENUM_PPM_MONO :: piecewise parabolic method with "mono" limiter
71          INTEGER ENUM_PPM_MONO_LIMIT
72          PARAMETER(ENUM_PPM_MONO_LIMIT=41)
73    
74    C ENUM_PPM_WENO :: piecewise parabolic method with "weno" limiter
75          INTEGER ENUM_PPM_WENO_LIMIT
76          PARAMETER(ENUM_PPM_WENO_LIMIT=42)
77    
78    C ENUM_PQM_NULL :: piecewise quartic method with "null" limiter
79          INTEGER ENUM_PQM_NULL_LIMIT
80          PARAMETER(ENUM_PQM_NULL_LIMIT=50)
81    
82    C ENUM_PQM_MONO :: piecewise quartic method with "mono" limiter
83          INTEGER ENUM_PQM_MONO_LIMIT
84          PARAMETER(ENUM_PQM_MONO_LIMIT=51)
85    
86    C ENUM_PQM_WENO :: piecewise quartic method with "weno" limiter
87          INTEGER ENUM_PQM_WENO_LIMIT
88          PARAMETER(ENUM_PQM_WENO_LIMIT=52)
89    
90    C GAD_Scheme_MaxNum :: maximum possible number for an advection scheme
91          INTEGER GAD_Scheme_MaxNum
92          PARAMETER( GAD_Scheme_MaxNum = 100 )
93    
94    C nSOM :: number of 1rst & 2nd Order-Moments: 1+1 (1D), 2+3 (2D), 3+6 (3D)
95          INTEGER nSOM
96          PARAMETER( nSOM = 3+6 )
97    
98  C oneSixth :: Third/fourth order interpolation factor  C oneSixth :: Third/fourth order interpolation factor
99        _RL oneSixth        _RL oneSixth
100        PARAMETER(oneSixth=1.D0/6.D0)        PARAMETER(oneSixth=1.D0/6.D0)
101    
102  C Differentiate between tracers (only needed for KPP -  arrgh!!!)  C loop range for computing vertical advection tendency
103  cph                              and for GMRedi arrgh*arrgh!!!)  C  iMinAdvR,iMaxAdvR  :: 1rst index (X-dir) loop range for vertical advection
104    C  jMinAdvR,jMaxAdvR  :: 2nd  index (Y-dir) loop range for vertical advection
105          INTEGER iMinAdvR, iMaxAdvR, jMinAdvR, jMaxAdvR
106    c     PARAMETER ( iMinAdvR = 1-OLx , iMaxAdvR = sNx+OLx )
107    c     PARAMETER ( jMinAdvR = 1-OLy , jMaxAdvR = sNy+OLy )
108    C- note: we use to compute vertical advection tracer tendency everywhere
109    C        (overlap included) as above, but really needs valid tracer tendency
110    C        in interior only (as below):
111          PARAMETER ( iMinAdvR = 1 , iMaxAdvR = sNx )
112          PARAMETER ( jMinAdvR = 1 , jMaxAdvR = sNy )
113    
114    C Differentiate between tracers (needed for KPP - arrgh!!!)
115    cph                              and GMRedi arrgh*arrgh!!!)
116  cph  indices are used for TAF key computations, so need to  cph  indices are used for TAF key computations, so need to
117  cph  running from 1, 2, ...  cph  running from 1, 2, ...
118  c  c
# Line 59  C GAD_TEMPERATURE :: temperature Line 122  C GAD_TEMPERATURE :: temperature
122  C GAD_SALINITY :: salinity  C GAD_SALINITY :: salinity
123        INTEGER GAD_SALINITY        INTEGER GAD_SALINITY
124        PARAMETER(GAD_SALINITY=2)        PARAMETER(GAD_SALINITY=2)
125  C GAD_TR1 :: pssive tracer 1  C GAD_TR1 :: passive tracer 1
126        INTEGER GAD_TR1        INTEGER GAD_TR1
127        PARAMETER(GAD_TR1=3)        PARAMETER(GAD_TR1=3)
128  CEOP  CEOP
129    
130    C--   COMMON /GAD_PARM_C/ Character parameters for GAD pkg routines
131    C      somSfx       :: 1rst & 2nd Order moment suffix
132          CHARACTER*2 somSfx(nSOM)
133          COMMON /GAD_PARM_C/
134         & somSfx
135    
136    C--   COMMON /GAD_PARM_I/ Integer parameters for GAD pkg routines
137    C GAD_OlMinSize     :: overlap minimum size for GAD routines
138    C           1: min required; 2: to add to current min; 3: factor to apply
139          INTEGER GAD_OlMinSize(3)
140          COMMON /GAD_PARM_I/
141         &        GAD_OlMinSize
142    
143  C--   COMMON /GAD_PARM_L/ Logical parameters for GAD pkg routines  C--   COMMON /GAD_PARM_L/ Logical parameters for GAD pkg routines
144  C     tempMultiDimAdvec :: set to T if using multi-dimension advection for Temp  C tempSOM_Advection :: set to T if using 2nd-Order Moment advection for Temp
145  C     saltMultiDimAdvec :: set to T if using multi-dimension advection for Salt  C saltSOM_Advection :: set to T if using 2nd-Order Moment advection for Salt
146  C     tempAdamsBashforth :: set to T if using Adams-Bashforth stepping for Temp  C tempMultiDimAdvec :: set to T if using multi-dim advection for Temp
147  C     saltAdamsBashforth :: set to T if using Adams-Bashforth stepping for Salt  C saltMultiDimAdvec :: set to T if using multi-dim advection for Salt
148    C AdamsBashforthGt  :: apply Adams-Bashforth extrapolation on T tendency (=Gt)
149    C AdamsBashforthGs  :: apply Adams-Bashforth extrapolation on S tendency (=Gs)
150    C AdamsBashforth_T  :: apply Adams-Bashforth extrapolation on Pot.Temp.
151    C AdamsBashforth_S  :: apply Adams-Bashforth extrapolation on Salinity
152          LOGICAL tempSOM_Advection
153          LOGICAL saltSOM_Advection
154        LOGICAL tempMultiDimAdvec        LOGICAL tempMultiDimAdvec
155        LOGICAL saltMultiDimAdvec        LOGICAL saltMultiDimAdvec
156        LOGICAL tr1_MultiDimAdvec        LOGICAL AdamsBashforthGt
157        LOGICAL tempAdamsBashforth        LOGICAL AdamsBashforthGs
158        LOGICAL saltAdamsBashforth        LOGICAL AdamsBashforth_T
159        LOGICAL tr1_AdamsBashforth        LOGICAL AdamsBashforth_S
160        COMMON /GAD_PARM_L/        COMMON /GAD_PARM_L/
161       & tempMultiDimAdvec , saltMultiDimAdvec , tr1_MultiDimAdvec,       & tempSOM_Advection, saltSOM_Advection,
162       & tempAdamsBashforth, saltAdamsBashforth, tr1_AdamsBashforth       & tempMultiDimAdvec, saltMultiDimAdvec,
163         & AdamsBashforthGt, AdamsBashforthGs,
164         & AdamsBashforth_T, AdamsBashforth_S
165    
166          _RL SmolarkiewiczMaxFrac
167          COMMON /GAD_SMOL/ SmolarkiewiczMaxFrac
168    
169    CEH3 ;;; Local Variables: ***
170    CEH3 ;;; mode:fortran ***
171    CEH3 ;;; End: ***

Legend:
Removed from v.1.8.6.1  
changed lines
  Added in v.1.25

  ViewVC Help
Powered by ViewVC 1.1.22