| 1 | cnh | 1.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 |  |  | CEH3 ;;; Local Variables: *** | 
| 99 |  |  | CEH3 ;;; mode:fortran *** | 
| 100 |  |  | CEH3 ;;; End: *** |