1 |
C $Header: /u/gcmpack/models/MITgcmUV/model/inc/CPP_OPTIONS.h,v 1.13 2000/11/13 16:32:57 heimbach Exp $ |
2 |
C $Name: $ |
3 |
C |
4 |
|
5 |
C |
6 |
C CPP flags controlling which code in included in the files that |
7 |
C will be compiled. |
8 |
C |
9 |
|
10 |
C o Include/exclude code for GM/Redi parameterization |
11 |
#undef ALLOW_GMREDI |
12 |
|
13 |
C o Include/exclude code for KPP mixing scheme |
14 |
#define ALLOW_KPP |
15 |
|
16 |
C o Shortwave heating as extra term in external_forcing.F |
17 |
#ifdef ALLOW_KPP |
18 |
#define SHORTWAVE_HEATING |
19 |
#endif |
20 |
|
21 |
C o Include/exclude code for C-D grid method of integrating the |
22 |
C coriolis terms |
23 |
#define INCLUDE_CD_CODE |
24 |
|
25 |
C o Include/exclude code for open-boundary conditions |
26 |
#undef ALLOW_OBCS |
27 |
|
28 |
C o Include/exclude diagnostics package interface code |
29 |
#define INCLUDE_DIAGNOSTICS_INTERFACE_CODE |
30 |
|
31 |
C o Include/exclude latitude circle FFT filter |
32 |
#undef INCLUDE_LAT_CIRC_FFT_FILTER_CODE |
33 |
|
34 |
C o Include/exclude temperature advection code |
35 |
#define INCLUDE_T_ADVECTION_CODE |
36 |
#ifdef INCLUDE_T_ADVECTION_CODE |
37 |
#define _ADT(a)a |
38 |
#endif |
39 |
#ifndef INCLUDE_T_ADVECTION_CODE |
40 |
#define _ADT(a) |
41 |
#endif |
42 |
|
43 |
C o Include/exclude temperature diffusion code |
44 |
#define INCLUDE_T_DIFFUSION_CODE |
45 |
#ifdef INCLUDE_T_DIFFUSION_CODE |
46 |
#define _LPT(a)a |
47 |
#define _BHT(a)a |
48 |
#endif |
49 |
#ifndef INCLUDE_T_DIFFUSION_CODE |
50 |
#define _LPT(a) |
51 |
#define _BHT(a) |
52 |
#endif |
53 |
|
54 |
C o Include/exclude temperature forcing code |
55 |
#define INCLUDE_T_FORCING_CODE |
56 |
|
57 |
C o Include/exclude momentum advection code |
58 |
#define INCLUDE_MOMENTUM_ADVECTION_CODE |
59 |
#ifdef INCLUDE_MOMENTUM_ADVECTION_CODE |
60 |
#define _ADM(a)a |
61 |
#endif |
62 |
#ifndef INCLUDE_MOMENTUM_ADVECTION_CODE |
63 |
#define _ADM(a) |
64 |
#endif |
65 |
|
66 |
C o Include/exclude laplacian viscosity code |
67 |
#define INCLUDE_LP_MOMENTUM_DIFFUSION_CODE |
68 |
#ifdef INCLUDE_LP_MOMENTUM_DIFFUSION_CODE |
69 |
#define _LPM(a)a |
70 |
#endif |
71 |
#ifndef INCLUDE_LP_MOMENTUM_DIFFUSION_CODE |
72 |
#define _LPM(a) |
73 |
#endif |
74 |
|
75 |
C o Include/exclude biharmonic viscosity code |
76 |
#define INCLUDE_BH_MOMENTUM_DIFFUSION_CODE |
77 |
#ifdef INCLUDE_BH_MOMENTUM_DIFFUSION_CODE |
78 |
#define _BHM(a)a |
79 |
#endif |
80 |
#ifndef INCLUDE_BH_MOMENTUM_DIFFUSION_CODE |
81 |
#define _BHM(a) |
82 |
#endif |
83 |
|
84 |
C o Include/exclude gradient of phy_hyd code |
85 |
#define INCLUDE_GRADPH_CODE |
86 |
#ifdef INCLUDE_GRADPH_CODE |
87 |
#define _PHM(a)a |
88 |
#endif |
89 |
#ifndef INCLUDE_GRADPH_CODE |
90 |
#define _PHM(a) |
91 |
#endif |
92 |
|
93 |
C o Include/exclude momentum forcing code |
94 |
#define INCLUDE_MOMENTUM_FORCING_CODE |
95 |
|
96 |
C o Include/exclude momentum eqn metric terms code |
97 |
#define INCLUDE_MOMENTUM_METRIC_TERM_CODE |
98 |
|
99 |
C o Include/exclude phi_hyd calculation code |
100 |
#define INCLUDE_PHIHYD_CALCULATION_CODE |
101 |
|
102 |
C o Include/exclude prognostic variable shapiro filter code |
103 |
C Note - Shapiro filter of prognostics variables requires the |
104 |
C three steps "step forward including edges", filter, |
105 |
C "communicate edges". |
106 |
C If the filtering code is included then we do not use the |
107 |
C pipelined "step forward including edges" in S/R DYNAMICS. |
108 |
C Instead the three steps are performed before DYNAMICS one |
109 |
C after another in an un-pipelined fashion. |
110 |
#undef INCLUDE_SHAPIRO_FILTER_CODE |
111 |
#ifdef INCLUDE_SHAPIRO_FILTER_CODE |
112 |
#undef DO_PIPELINED_CORRECTION_STEP |
113 |
#endif |
114 |
#ifndef INCLUDE_SHAPIRO_FILTER_CODE |
115 |
#define DO_PIPELINED_CORRECTION_STEP |
116 |
#endif |
117 |
|
118 |
C o Include/exclude call to S/R FIND_RHO |
119 |
#define INCLUDE_FIND_RHO_CALL |
120 |
|
121 |
C o Include/exclude call to S/R CONVECT |
122 |
#define INCLUDE_CONVECT_CALL |
123 |
|
124 |
C o Include/exclude call to S/R CALC_ISOSLOPES |
125 |
#define INCLUDE_CALC_ISOSLOPES_CALL |
126 |
|
127 |
C o Include/exclude call to S/R CALC_DIFFUSIVITY |
128 |
#define INCLUDE_CALC_DIFFUSIVITY_CALL |
129 |
|
130 |
C o Allow nonHydrostatic code |
131 |
#undef ALLOW_NONHYDROSTATIC |
132 |
|
133 |
C o Use "natural" boundary conditions for salinity |
134 |
C instead of the "virtual salt flux" |
135 |
#undef USE_NATURAL_BCS |
136 |
|
137 |
C o Use "OLD" UV discretisation near boundaries (*not* recommended) |
138 |
C Note - only works with #undef NO_SLIP_LATERAL in calc_mom_rhs.F |
139 |
C because the old code did not have no-slip BCs |
140 |
#undef OLD_ADV_BCS |
141 |
|
142 |
C o Use "OLD" UV geometry on sphere (definately *NOT* recommended) |
143 |
C Note - only works with #undef NO_SLIP_LATERAL in calc_mom_rhs.F |
144 |
C because the old code did not have no-slip BCs |
145 |
#undef OLD_UV_GEOMETRY |
146 |
|
147 |
C o Execution environment support options |
148 |
#include "CPP_EEOPTIONS.h" |
149 |
|
150 |
C o Include/exclude code specific to the ECCO/SEALION version. |
151 |
#undef INCLUDE_ECCO_PACKAGE |
152 |
#ifdef INCLUDE_ECCO_PACKAGE |
153 |
#include "ECCO_CPPOPTIONS.h" |
154 |
#endif |
155 |
|
156 |
|
157 |
|