/[MITgcm]/MITgcm_contrib/heimbach/SO4x2/code_ad_nodiva/ECCO_CPPOPTIONS.h
ViewVC logotype

Contents of /MITgcm_contrib/heimbach/SO4x2/code_ad_nodiva/ECCO_CPPOPTIONS.h

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


Revision 1.1 - (show annotations) (download)
Thu Jan 26 06:27:12 2006 UTC (19 years, 6 months ago) by heimbach
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
Setup for Southern Ocean on coarse grid. Test-bed for high-res. adjoint.

1
2 C
3 C CPP flags controlling which code is included in the files that
4 C will be compiled.
5 C
6 C ********************************************************************
7 C *** ECCO Package ***
8 C ********************************************************************
9 C
10 C o include dump of snap shots for checks
11 #undef ALLOW_SNAPSHOTS
12
13 #undef ALLOW_ECCO_FORWARD_RUN
14 #undef ALLOW_ECCO_DIAGNOSTICS_RUN
15 #define ALLOW_ECCO_OPTIMIZATION
16
17 C >>> Do a long protocol.
18 #undef ECCO_VERBOSE
19
20 C >>> Just do a "dry" run ( useful for testing ).
21 #undef ALLOW_NO_DYNAMICS
22 C >>> Use the Yearly-Monthly-Daily-Stepping call tree.
23 #undef ALLOW_YMDS_TREE
24 C >>> Do not call stepping
25 #define ALLOW_STEPPING_CALL
26
27 C ********************************************************************
28 C *** Adjoint Support Package ***
29 C ********************************************************************
30
31 C o Include/exclude code in order to be able to automatically
32 C differentiate the MITgcmUV by using the Tangent Linear and
33 C Adjoint Model Compiler (TAMC).
34 #define INCLUDE_AUTODIFF_PACKAGE
35 C
36 #define ALLOW_AUTODIFF_TAMC
37 C
38 C >>> Checkpointing as handled by TAMC
39 #define ALLOW_TAMC_CHECKPOINTING
40 C
41 C >>> Extract adjoint state
42 #define ALLOW_AUTODIFF_MONITOR
43 C
44 C extend to 4-level checkpointing
45 #define AUTODIFF_4_LEVEL_CHECKPOINT
46 C
47 C o use divided adjoint to split adjoint computations
48 #undef ALLOW_DIVIDED_ADJOINT
49 #undef ALLOW_DIVIDED_ADJOINT_MPI
50
51 C ********************************************************************
52 C *** Calender Package ***
53 C ********************************************************************
54 C
55 C CPP flags controlling which code is included in the files that
56 C will be compiled.
57
58 CPH >>>>>> THERE ARE NO MORE CAL OPTIONS TO BE SET <<<<<<
59
60 C ********************************************************************
61 C *** Cost function Package ***
62 c ********************************************************************
63 C
64 #define ALLOW_COST
65
66 #ifdef ALLOW_COST
67 C >>> Use the EGM-96 geoid error covariance.
68 # undef ALLOW_EGM96_ERROR_DIAG
69 # undef ALLOW_EGM96_ERROR_COV
70 # undef ALLOW_SPH_PROJECTION
71
72 C >>> Use NSCAT data.
73 # undef ALLOW_SCAT_COST_CONTRIBUTION
74
75 C >>> Cost function contributions
76 # undef ALLOW_HFLUX_COST_CONTRIBUTION
77 # undef ALLOW_SFLUX_COST_CONTRIBUTION
78 # undef ALLOW_MEAN_HFLUX_COST_CONTRIBUTION
79 # undef ALLOW_MEAN_SFLUX_COST_CONTRIBUTION
80 # undef ALLOW_USTRESS_COST_CONTRIBUTION
81 # undef ALLOW_VSTRESS_COST_CONTRIBUTION
82 # undef ALLOW_STRESS_MEAN_COST_CONTRIBUTION
83
84 # define ALLOW_ATEMP_COST_CONTRIBUTION
85 # define ALLOW_AQH_COST_CONTRIBUTION
86 # define ALLOW_PRECIP_COST_CONTRIBUTION
87 # define ALLOW_SWFLUX_COST_CONTRIBUTION
88 # define ALLOW_UWIND_COST_CONTRIBUTION
89 # define ALLOW_VWIND_COST_CONTRIBUTION
90
91 # undef GENERIC_BAR_MONTH
92 # define ALLOW_THETA_COST_CONTRIBUTION
93 # define ALLOW_SALT_COST_CONTRIBUTION
94 # define ALLOW_THETA0_COST_CONTRIBUTION
95 # define ALLOW_SALT0_COST_CONTRIBUTION
96 # undef ALLOW_SST_COST_CONTRIBUTION
97 # undef ALLOW_SSS_COST_CONTRIBUTION
98 # undef ALLOW_TMI_SST_COST_CONTRIBUTION
99
100 # define ALLOW_SSH_MEAN_COST_CONTRIBUTION
101 # define ALLOW_SSH_TPANOM_COST_CONTRIBUTION
102 # undef ALLOW_SSH_ERSANOM_COST_CONTRIBUTION
103 # if (defined (ALLOW_SSH_MEAN_COST_CONTRIBUTION) || \
104 defined (ALLOW_SSH_TPANOM_COST_CONTRIBUTION) || \
105 defined (ALLOW_SSH_ERSANOM_COST_CONTRIBUTION))
106 # define ALLOW_SSH_COST_CONTRIBUTION
107 # endif
108
109 # undef ALLOW_XBT_COST_CONTRIBUTION
110 # undef ALLOW_CTDT_COST_CONTRIBUTION
111 # undef ALLOW_CTDS_COST_CONTRIBUTION
112 # undef ALLOW_DRIFTER_COST_CONTRIBUTION
113 # undef ALLOW_DRIFT_COST_CONTRIBUTION
114 # undef ALLOW_DRIFTW_COST_CONTRIBUTION
115 C
116 # undef ALLOW_ARGO_THETA_COST_CONTRIBUTION
117 # undef ALLOW_ARGO_SALT_COST_CONTRIBUTION
118 C
119 c >>> Open boundaries
120 c >>> Make sure that ALLOW_OBCS is defined!
121 # undef ALLOW_OBCSN_COST_CONTRIBUTION
122 # undef ALLOW_OBCSS_COST_CONTRIBUTION
123 # undef ALLOW_OBCSW_COST_CONTRIBUTION
124 # undef ALLOW_OBCSE_COST_CONTRIBUTION
125 # if (defined (ALLOW_OBCSN_COST_CONTRIBUTION) || \
126 defined (ALLOW_OBCSS_COST_CONTRIBUTION) || \
127 defined (ALLOW_OBCSW_COST_CONTRIBUTION) || \
128 defined (ALLOW_OBCSE_COST_CONTRIBUTION))
129 # define ALLOW_OBCS_COST_CONTRIBUTION
130 # endif
131
132 # undef ALLOW_COST_ATLANTIC
133 c
134 #endif /* ALLOW_COST */
135
136
137 C ********************************************************************
138 C *** Control vector Package ***
139 C ********************************************************************
140 C
141 #define CTRL_SET_PREC_32
142 cph(
143 #define ALLOW_NONDIMENSIONAL_CONTROL_IO
144 #undef EXCLUDE_CTRL_PACK
145 cph)
146 C >>> Initial values.
147 #define ALLOW_THETA0_CONTROL
148 #define ALLOW_SALT0_CONTROL
149
150 C >>> Surface fluxes.
151 #undef ALLOW_HFLUX_CONTROL
152 #undef ALLOW_SFLUX_CONTROL
153 #undef ALLOW_USTRESS_CONTROL
154 #undef ALLOW_VSTRESS_CONTROL
155
156 C >>> Atmospheric state.
157 #define ALLOW_ATEMP_CONTROL
158 #define ALLOW_AQH_CONTROL
159 #define ALLOW_PRECIP_CONTROL
160 #define ALLOW_SWFLUX_CONTROL
161 #define ALLOW_UWIND_CONTROL
162 #define ALLOW_VWIND_CONTROL
163
164 C >>> Open boundaries
165 c >>> Make sure that ALLOW_OBCS is defined
166 #undef ALLOW_OBCSN_CONTROL
167 #undef ALLOW_OBCSS_CONTROL
168 #undef ALLOW_OBCSW_CONTROL
169 #undef ALLOW_OBCSE_CONTROL
170 #if (defined (ALLOW_OBCSN_CONTROL) || \
171 defined (ALLOW_OBCSS_CONTROL) || \
172 defined (ALLOW_OBCSW_CONTROL) || \
173 defined (ALLOW_OBCSE_CONTROL))
174 # define ALLOW_OBCS_CONTROL
175 #endif
176
177 C ********************************************************************
178 C *** External forcing Package ***
179 C ********************************************************************
180 C
181 C o Include/exclude the external forcing package. To use this package,
182 C you have to include the calendar tool as well. KPP can be switched
183 C on or off. The implementation automatically takes care of this.
184 #define INCLUDE_EXTERNAL_FORCING_PACKAGE
185
186 C Do more printout for the protocol file than usual.
187 #undef EXF_VERBOSE
188
189 C Bulk formulae related flags.
190 #define ALLOW_RUNOFF
191 #undef ALLOW_DOWNWARD_RADIATION
192 #define ALLOW_ATM_TEMP
193 #define ALLOW_ATM_WIND
194 #if (defined (ALLOW_ATM_TEMP) || \
195 defined (ALLOW_ATM_WIND))
196 # define ALLOW_BULKFORMULAE
197 #endif
198
199 C Relaxation to monthly climatologies.
200 #undef ALLOW_CLIMTEMP_RELAXATION
201 #undef ALLOW_CLIMSALT_RELAXATION
202 #undef ALLOW_CLIMSST_RELAXATION
203 #undef ALLOW_CLIMSSS_RELAXATION
204
205 #undef USE_EXF_INTERPOLATION
206

  ViewVC Help
Powered by ViewVC 1.1.22