| 1 |
C $Header: /u/gcmpack/MITgcm/pkg/generic_advdiff/GAD.h,v 1.14 2005/11/06 22:14:02 jmc 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 |
#include "GAD_OPTIONS.h" |
| 20 |
|
| 21 |
C !DEFINED PARAMETERS: |
| 22 |
|
| 23 |
C ENUM_UPWIND_1RST :: 1rst Order Upwind |
| 24 |
INTEGER ENUM_UPWIND_1RST |
| 25 |
PARAMETER(ENUM_UPWIND_1RST=1) |
| 26 |
|
| 27 |
C ENUM_CENTERED_2ND :: Centered 2nd order |
| 28 |
INTEGER ENUM_CENTERED_2ND |
| 29 |
PARAMETER(ENUM_CENTERED_2ND=2) |
| 30 |
|
| 31 |
C ENUM_UPWIND_3RD :: 3rd order upwind |
| 32 |
INTEGER ENUM_UPWIND_3RD |
| 33 |
PARAMETER(ENUM_UPWIND_3RD=3) |
| 34 |
|
| 35 |
C ENUM_CENTERED_4TH :: Centered 4th order |
| 36 |
INTEGER ENUM_CENTERED_4TH |
| 37 |
PARAMETER(ENUM_CENTERED_4TH=4) |
| 38 |
|
| 39 |
C ENUM_DST2 :: 2nd Order Direct Space and Time (= Lax-Wendroff) |
| 40 |
INTEGER ENUM_DST2 |
| 41 |
PARAMETER(ENUM_DST2=20) |
| 42 |
|
| 43 |
C ENUM_FLUX_LIMIT :: Non-linear flux limiter |
| 44 |
INTEGER ENUM_FLUX_LIMIT |
| 45 |
PARAMETER(ENUM_FLUX_LIMIT=77) |
| 46 |
|
| 47 |
C ENUM_DST3 :: 3rd Order Direst Space and Time |
| 48 |
INTEGER ENUM_DST3 |
| 49 |
PARAMETER(ENUM_DST3=30) |
| 50 |
|
| 51 |
C ENUM_DST3_FLUX_LIMIT :: 3-DST flux limited |
| 52 |
INTEGER ENUM_DST3_FLUX_LIMIT |
| 53 |
PARAMETER(ENUM_DST3_FLUX_LIMIT=33) |
| 54 |
|
| 55 |
C oneSixth :: Third/fourth order interpolation factor |
| 56 |
_RL oneSixth |
| 57 |
PARAMETER(oneSixth=1.D0/6.D0) |
| 58 |
|
| 59 |
C Differentiate between tracers (needed for KPP - arrgh!!!) |
| 60 |
cph and GMRedi arrgh*arrgh!!!) |
| 61 |
cph indices are used for TAF key computations, so need to |
| 62 |
cph running from 1, 2, ... |
| 63 |
c |
| 64 |
C GAD_TEMPERATURE :: temperature |
| 65 |
INTEGER GAD_TEMPERATURE |
| 66 |
PARAMETER(GAD_TEMPERATURE=1) |
| 67 |
C GAD_SALINITY :: salinity |
| 68 |
INTEGER GAD_SALINITY |
| 69 |
PARAMETER(GAD_SALINITY=2) |
| 70 |
C GAD_TR1 :: passive tracer 1 |
| 71 |
INTEGER GAD_TR1 |
| 72 |
PARAMETER(GAD_TR1=3) |
| 73 |
CEOP |
| 74 |
|
| 75 |
C-- COMMON /GAD_PARM_L/ Logical parameters for GAD pkg routines |
| 76 |
C tempMultiDimAdvec :: set to T if using multi-dim advection for Temp |
| 77 |
C saltMultiDimAdvec :: set to T if using multi-dim advection for Salt |
| 78 |
C AdamsBashforthGt :: apply Adams-Bashforth extrapolation on T tendency (=Gt) |
| 79 |
C AdamsBashforthGs :: apply Adams-Bashforth extrapolation on S tendency (=Gs) |
| 80 |
C AdamsBashforth_T :: apply Adams-Bashforth extrapolation on Pot.Temp. |
| 81 |
C AdamsBashforth_S :: apply Adams-Bashforth extrapolation on Salinity |
| 82 |
C tempStartAB :: start this run (or restart) without previous gT/Temp |
| 83 |
C saltStartAB :: start this run (or restart) without previous gS/Salt |
| 84 |
LOGICAL tempMultiDimAdvec |
| 85 |
LOGICAL saltMultiDimAdvec |
| 86 |
LOGICAL AdamsBashforthGt |
| 87 |
LOGICAL AdamsBashforthGs |
| 88 |
LOGICAL AdamsBashforth_T |
| 89 |
LOGICAL AdamsBashforth_S |
| 90 |
LOGICAL tempStartAB |
| 91 |
LOGICAL saltStartAB |
| 92 |
COMMON /GAD_PARM_L/ |
| 93 |
& tempMultiDimAdvec, saltMultiDimAdvec, |
| 94 |
& AdamsBashforthGt, AdamsBashforthGs, |
| 95 |
& AdamsBashforth_T, AdamsBashforth_S, |
| 96 |
& tempStartAB, saltStartAB |
| 97 |
|
| 98 |
C GAD_iolabel :: Sequence of two character io labels used to identify |
| 99 |
C :: different tracers for GAD io and diagnostics. Size |
| 100 |
C :: limit needs to be consistent with label generation |
| 101 |
C :: algorithm (usually make_default_dlabel_list). |
| 102 |
INTEGER GAD_iolabel_nmax |
| 103 |
PARAMETER ( GAD_iolabel_nmax = 3843 ) |
| 104 |
CHARACTER*2 GAD_iolabel(GAD_iolabel_nmax) |
| 105 |
COMMON /GAD_PARM_C/ |
| 106 |
& GAD_iolabel |
| 107 |
CEH3 ;;; Local Variables: *** |
| 108 |
CEH3 ;;; mode:fortran *** |
| 109 |
CEH3 ;;; End: *** |