1 |
C $Header: /u/u3/gcmpack/MITgcm/verification/vero/code/CPP_OPTIONS.h,v 1.3 2001/05/14 21:59:44 heimbach Exp $ |
2 |
C |
3 |
|
4 |
C |
5 |
C CPP flags controlling which code in included in the files that |
6 |
C will be compiled. |
7 |
C |
8 |
C o Include/exclude code for GM/Redi parameterization |
9 |
#undef ALLOW_GMREDI |
10 |
|
11 |
C o Include/exclude code for KPP mixing scheme |
12 |
#undef ALLOW_KPP |
13 |
|
14 |
C o Shortwave heating as extra term in external_forcing.F |
15 |
#ifdef ALLOW_KPP |
16 |
#define SHORTWAVE_HEATING |
17 |
#endif |
18 |
|
19 |
C o Include/exclude code for C-D grid method of integrating the |
20 |
C coriolis terms |
21 |
#define INCLUDE_CD_CODE |
22 |
|
23 |
C o Include/exclude code for open-boundary conditions |
24 |
#undef ALLOW_OBCS |
25 |
|
26 |
C o Include/exclude diagnostics package interface code |
27 |
cph |
28 |
#define INCLUDE_DIAGNOSTICS_INTERFACE_CODE |
29 |
|
30 |
C o Include/exclude latitude circle FFT filter |
31 |
#undef INCLUDE_LAT_CIRC_FFT_FILTER_CODE |
32 |
|
33 |
C o Include/exclude temperature advection code |
34 |
cph |
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 |
cph |
56 |
#define INCLUDE_T_FORCING_CODE |
57 |
|
58 |
C o Include/exclude momentum advection code |
59 |
cph |
60 |
#define INCLUDE_MOMENTUM_ADVECTION_CODE |
61 |
#ifdef INCLUDE_MOMENTUM_ADVECTION_CODE |
62 |
#define _ADM(a)a |
63 |
#endif |
64 |
#ifndef INCLUDE_MOMENTUM_ADVECTION_CODE |
65 |
#define _ADM(a) |
66 |
#endif |
67 |
|
68 |
C o Include/exclude laplacian viscosity code |
69 |
#define INCLUDE_LP_MOMENTUM_DIFFUSION_CODE |
70 |
#ifdef INCLUDE_LP_MOMENTUM_DIFFUSION_CODE |
71 |
#define _LPM(a)a |
72 |
#endif |
73 |
#ifndef INCLUDE_LP_MOMENTUM_DIFFUSION_CODE |
74 |
#define _LPM(a) |
75 |
#endif |
76 |
|
77 |
C o Include/exclude biharmonic viscosity code |
78 |
#define INCLUDE_BH_MOMENTUM_DIFFUSION_CODE |
79 |
#ifdef INCLUDE_BH_MOMENTUM_DIFFUSION_CODE |
80 |
#define _BHM(a)a |
81 |
#endif |
82 |
|
83 |
C o Include/exclude gradient of phy_hyd code |
84 |
#define INCLUDE_GRADPH_CODE |
85 |
#ifdef INCLUDE_GRADPH_CODE |
86 |
#define _PHM(a)a |
87 |
#endif |
88 |
#ifndef INCLUDE_GRADPH_CODE |
89 |
#define _PHM(a) |
90 |
#endif |
91 |
|
92 |
C o Include/exclude momentum forcing code |
93 |
cph |
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 Read/write of checkpoint files for restarting. |
148 |
#undef OLD_STYLE_WITH_MANY_FILES |
149 |
|
150 |
C o |
151 |
#define ALLOW_TIMEAVE |
152 |
|
153 |
C o Execution environment support options |
154 |
#include "CPP_EEOPTIONS.h" |
155 |
|
156 |
C o Include/exclude code specific to the ECCO/SEALION version. |
157 |
#undef INCLUDE_ECCO_PACKAGE |
158 |
#define ALLOW_MIT_ADJOINT_RUN |
159 |
|
160 |
#if (defined (INCLUDE_ECCO_PACKAGE) || defined (ALLOW_MIT_ADJOINT_RUN)) |
161 |
#include "ECCO_CPPOPTIONS.h" |
162 |
#endif |
163 |
|
164 |
|
165 |
|