/[MITgcm]/MITgcm_contrib/llc_hires/llc_270/code_ad/CPP_OPTIONS.h
ViewVC logotype

Contents of /MITgcm_contrib/llc_hires/llc_270/code_ad/CPP_OPTIONS.h

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


Revision 1.2 - (show annotations) (download)
Thu Jun 19 21:58:16 2014 UTC (11 years, 1 month ago) by zhc
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +4 -4 lines
File MIME type: text/plain
UPDATE

1 C $Header: /u/gcmpack/MITgcm_contrib/gael/verification/global_oce_llc90/code/CPP_OPTIONS.h,v 1.1 2012/10/03 20:27:37 gforget Exp $
2 C $Name: $
3
4 #ifndef CPP_OPTIONS_H
5 #define CPP_OPTIONS_H
6
7 #include "PACKAGES_CONFIG.h"
8 #include "AD_CONFIG.h"
9
10 C CPP flags controlling particular source code features
11
12 C o Shortwave heating as extra term in external_forcing.F
13 C Note: this should be a run-time option
14 #define SHORTWAVE_HEATING
15
16 C o Include/exclude phi_hyd calculation code
17 #define INCLUDE_PHIHYD_CALCULATION_CODE
18
19 C o Include/exclude call to S/R CONVECT
20 #define INCLUDE_CONVECT_CALL
21
22 C o Include/exclude call to S/R CALC_DIFFUSIVITY
23 #define INCLUDE_CALC_DIFFUSIVITY_CALL
24
25 C o Allow latitudinally varying BryanLewis79 vertical diffusivity
26 #undef ALLOW_BL79_LAT_VARY
27
28 C o Include/exclude Implicit vertical advection code
29 #define INCLUDE_IMPLVERTADV_CODE
30
31 C o Include/exclude AdamsBashforth-3rd-Order code
32 #define ALLOW_ADAMSBASHFORTH_3
33
34 C o Include/exclude code for single reduction cg-solver
35 #undef ALLOW_SRCG
36
37 C o Include/exclude nonHydrostatic code
38 #undef ALLOW_NONHYDROSTATIC
39
40 C o Include pressure loading code
41 #define ATMOSPHERIC_LOADING
42
43 C o exclude/allow external forcing-fields load
44 C this allows to read & do simple linear time interpolation of oceanic
45 C forcing fields, if no specific pkg (e.g., EXF) is used to compute them.
46 #undef EXCLUDE_FFIELDS_LOAD
47
48 C o Include/exclude balancing surface forcing fluxes code
49 #define ALLOW_BALANCE_FLUXES
50
51 C o Include/exclude balancing surface forcing relaxation code
52 #define ALLOW_BALANCE_RELAX
53
54 C o Include/exclude GM-like eddy stress in momentum code
55 #undef ALLOW_EDDYPSI
56
57 C o Use "Exact Convervation" of fluid in Free-Surface formulation
58 C so that d/dt(eta) is exactly equal to - Div.Transport
59 #define EXACT_CONSERV
60
61 C o Allow the use of Non-Linear Free-Surface formulation
62 C this implies that surface thickness (hFactors) vary with time
63 #define NONLIN_FRSURF
64 # undef DISABLE_RSTAR_CODE
65 #define DISABLE_SIGMA_CODE
66
67 C o Allow mass source or sink of Fluid in the interior
68 C (3-D generalisation of oceanic real-fresh water flux)
69 #undef ALLOW_ADDFLUID
70
71 C o Choices for implicit solver routines solve_*diagonal.F
72 C The following has low memory footprint, but not suitable for AD
73 #undef SOLVE_DIAGONAL_LOWMEMORY
74 C The following one suitable for AD but does not vectorize
75 #define SOLVE_DIAGONAL_KINNER
76
77 C o ALLOW isotropic scaling of harmonic and bi-harmonic terms when
78 C using an locally isotropic spherical grid with (dlambda) x (dphi*cos(phi))
79 C *only for use on a lat-lon grid*
80 C Setting this flag here affects both momentum and tracer equation unless
81 C it is set/unset again in other header fields (e.g., GAD_OPTIONS.h).
82 C The definition of the flag is commented to avoid interference with
83 C such other header files.
84 C The preferred method is specifying a value for viscAhGrid or viscA4Grid
85 C in data which is then automatically scaled by the grid size;
86 C the old method of specifying viscAh/viscA4 and this flag is provided
87 C for completeness only (and for use with the adjoint).
88 C#define ISOTROPIC_COS_SCALING
89
90 C o This flag selects the form of COSINE(lat) scaling of bi-harmonic term.
91 C *only for use on a lat-lon grid*
92 C Has no effect if ISOTROPIC_COS_SCALING is undefined.
93 C Has no effect on vector invariant momentum equations.
94 C Setting this flag here affects both momentum and tracer equation unless
95 C it is set/unset again in other header fields (e.g., GAD_OPTIONS.h).
96 C The definition of the flag is commented to avoid interference with
97 C such other header files.
98 C#define COSINEMETH_III
99
100 C o Use "OLD" UV discretisation near boundaries (*not* recommended)
101 C Note - only works with #undef NO_SLIP_LATERAL in calc_mom_rhs.F
102 C because the old code did not have no-slip BCs
103 #undef OLD_ADV_BCS
104
105 C o Use LONG.bin, LATG.bin, etc., initialization for ini_curviliear_grid.F
106 C Default is to use "new" grid files (OLD_GRID_IO undef) but OLD_GRID_IO
107 C is still useful with, e.g., single-domain curvilinear configurations.
108 #undef OLD_GRID_IO
109
110 C o Execution environment support options
111 #include "CPP_EEOPTIONS.h"
112
113 C o Include/exclude code specific to the ECCO/SEALION version.
114 C AUTODIFF or EXF package.
115 C Currently controled by a single header file
116 C For this to work, PACKAGES_CONFIG.h needs to be included!
117 #if (defined (ALLOW_AUTODIFF) || \
118 defined (ALLOW_ECCO) || \
119 defined (ALLOW_EXF))
120 # include "ECCO_CPPOPTIONS.h"
121 #endif
122
123 C o Allow full 3D specification of vertical diffusivity
124 #ifdef ALLOW_DIFFKR_CONTROL
125 C - Need to be defined if using DIFFKR_CONTROL
126 C (alternatively, could have put this in ECCO_CPPOPTIONS)
127 #define ALLOW_3D_DIFFKR
128 #else
129 C - otherwise, can be turned on or off hereafter:
130 #undef ALLOW_3D_DIFFKR
131 #endif /* ALLOW_DIFFKR_CONTROL */
132
133 #endif /* CPP_OPTIONS_H */
134

  ViewVC Help
Powered by ViewVC 1.1.22