/[MITgcm]/MITgcm_contrib/ifenty/ECCO_v4/code_ad/ECCO_CPPOPTIONS.h_itXX
ViewVC logotype

Contents of /MITgcm_contrib/ifenty/ECCO_v4/code_ad/ECCO_CPPOPTIONS.h_itXX

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


Revision 1.1 - (show annotations) (download)
Tue Apr 29 21:56:11 2014 UTC (11 years, 3 months ago) by ifenty
Branch: MAIN
CVS Tags: HEAD
ECCO v4 code and input directories

1 C $Header: /u/gcmpack/MITgcm_contrib/gael/verification/global_oce_llc90/code/ECCO_CPPOPTIONS.h_itXX,v 1.3 2014/02/05 15:22:50 gforget Exp $
2 C $Name: $
3
4 #ifndef ECCO_CPPOPTIONS_H
5 #define ECCO_CPPOPTIONS_H
6 #include "AD_CONFIG.h"
7 #include "PACKAGES_CONFIG.h"
8 #include "CPP_OPTIONS.h"
9
10 #ifdef ALLOW_ECCO
11
12 C CPP flags controlling which code is included in the files that
13 C will be compiled.
14 C
15 C ********************************************************************
16 C *** ECCO Package ***
17 C ********************************************************************
18 C
19 C >>> Do a long protocol.
20 #undef ECCO_VERBOSE
21 C >>> use model/src/forward_step.F
22 #define ALLOW_ECCO_EVOLUTION
23
24 C ********************************************************************
25 C *** Adjoint Support Package ***
26 C ********************************************************************
27
28 #define ALLOW_AUTODIFF_TAMC
29 C
30 C >>> Checkpointing as handled by TAMC
31 #define ALLOW_TAMC_CHECKPOINTING
32 # undef AUTODIFF_2_LEVEL_CHECKPOINT
33 C
34 C >>> Extract adjoint state
35 #define ALLOW_AUTODIFF_MONITOR
36 C
37 C o use divided adjoint to split adjoint computations
38 #undef ALLOW_DIVIDED_ADJOINT
39 #undef ALLOW_DIVIDED_ADJOINT_MPI
40
41 #define ALLOW_AUTODIFF_WHTAPEIO
42 #define ALLOW_PACKUNPACK_METHOD2
43 #define AUTODIFF_USE_OLDSTORE_2D
44 #define AUTODIFF_USE_OLDSTORE_3D
45 #define EXCLUDE_WHIO_GLOBUFF_2D
46 #define ALLOW_INIT_WHTAPEIO
47
48 C ********************************************************************
49 C *** Calender Package ***
50 C ********************************************************************
51 C
52 C CPP flags controlling which code is included in the files that
53 C will be compiled.
54
55 CPH >>>>>> THERE ARE NO MORE CAL OPTIONS TO BE SET <<<<<<
56
57 C ********************************************************************
58 C *** Cost function Package ***
59 c ********************************************************************
60 C
61 #define ALLOW_COST_FULL
62
63 #ifdef ALLOW_COST_FULL
64
65 C >>> Cost function contributions
66 #define ALLOW_ECCO_OLD_FC_PRINT
67
68 C >>> Initial values.
69 #define ALLOW_THETA0_COST_CONTRIBUTION
70 #define ALLOW_SALT0_COST_CONTRIBUTION
71 c so that the uncertainty fieldss are read in regardless:
72 #define ALLOW_WTHETALEV
73 #define ALLOW_WSALTLEV
74
75 C >>> Surface fluxes.
76 # undef ALLOW_HFLUX_COST_CONTRIBUTION
77 # undef ALLOW_SFLUX_COST_CONTRIBUTION
78 #define ALLOW_USTRESS_COST_CONTRIBUTION
79 #define ALLOW_VSTRESS_COST_CONTRIBUTION
80
81 C >>> Atmospheric state and radiation.
82 #define ALLOW_ATEMP_COST_CONTRIBUTION
83 #define ALLOW_AQH_COST_CONTRIBUTION
84 #define ALLOW_UWIND_COST_CONTRIBUTION
85 #define ALLOW_VWIND_COST_CONTRIBUTION
86 #define ALLOW_PRECIP_COST_CONTRIBUTION
87 # undef ALLOW_SWFLUX_COST_CONTRIBUTION
88 #define ALLOW_SWDOWN_COST_CONTRIBUTION
89 # undef ALLOW_LWFLUX_COST_CONTRIBUTION
90 #define ALLOW_LWDOWN_COST_CONTRIBUTION
91
92 C >>> Ocean Parameters.
93 # undef ALLOW_EDDYPSI_COST_CONTRIBUTION
94 #define ALLOW_DIFFKR_COST_CONTRIBUTION
95 #define ALLOW_KAPGM_COST_CONTRIBUTION
96 # undef ALLOW_BOTTOMDRAG_COST_CONTRIBUTION
97 #define ALLOW_KAPREDI_COST_CONTRIBUTION
98
99 C >>> Ocean Hydro. Atlas.
100 # undef GENERIC_BAR_MONTH
101 #define ALLOW_THETA_COST_CONTRIBUTION
102 #define ALLOW_SALT_COST_CONTRIBUTION
103
104 C >>> ALLOW_GENCOST_CONTRIBUTION: interactive way to add basic 2D cost function terms.
105 C > In data.ecco, this requires the specification of data file (name, frequency,
106 C etc.), bar file name for corresp. model average, standard error file name, etc.
107 C > In addition, adding such cost terms requires editing ecco_cost.h to increase
108 C NGENCOST, and editing cost_gencost_customize.F to implement the actual
109 C model average (i.e. the bar file content).
110 #define ALLOW_GENCOST_CONTRIBUTION
111 C >>> free form version of GENCOST: allows one to use otherwise defined elements (e.g.
112 C psbar and and topex data) while taking advantage of the cost function/namelist slots
113 C that can be made available using ALLOW_GENCOST_CONTRIBUTION. To this end
114 C ALLOW_GENCOST_CONTRIBUTION simply switches off tests that check whether all of the
115 C gencost elements (e.g. gencost_barfile and gencost_datafile) are specified in data.ecco.
116 C > While this option increases flexibility within the gencost framework, it implies more room
117 C for error, so it should be used cautiously, and with good knowledge of the rest of pkg/ecco.
118 C > It requires providing a specific cost function routine, and editing cost_gencost_all.F accordingly.
119 #define ALLOW_GENCOST_FREEFORM
120
121 #define COST_GENERIC_ASSUME_CYCLIC
122
123 #define ALLOW_GENCOST_SSHV4
124 #define ALLOW_GENCOST_SSHV4_OUTPUT
125 #define ALLOW_SHALLOW_ALTIMETRY
126 #define ALLOW_HIGHLAT_ALTIMETRY
127 #define ALLOW_PSBAR_MEAN
128 #define ALLOW_PSBAR_STERIC
129 # undef ALLOW_PSBAR_GENPRECIP
130 # undef ALLOW_GENTIM2D_CONTROL
131
132 # undef ALLOW_GENCOST_SSTV4
133 # undef ALLOW_GENCOST_SSTV4_OUTPUT
134
135 #define ALLOW_SEAICE_COST_CONTRIBUTION
136 #define ALLOW_GENCOST_SEAICEV4
137
138 C >>> User Cost Function Terms.
139 #define ALLOW_USERCOST_CONTRIBUTION
140 # undef ALLOW_USERCOST_TSUV_CONTRIBUTION
141 # undef ALLOW_USERCOST_TSdrift_CONTRIBUTION
142
143 C >>> In-Situ Profiles.
144 #define ALLOW_PROFILES_CONTRIBUTION
145
146 C >>> GRACE Bottom Pressure.
147 #define ALLOW_BP_COST_CONTRIBUTION
148 #define ALLOW_BP_COST_OUTPUT
149
150 C >>> Surface Observations.
151 # undef ALLOW_DRIFTER_COST_CONTRIBUTION
152 #define ALLOW_SST_COST_CONTRIBUTION
153 #define ALLOW_TMI_SST_COST_CONTRIBUTION
154 #define ALLOW_DAILYSST_COST_CONTRIBUTION
155 # undef ALLOW_SSS_COST_CONTRIBUTION
156 # undef ALLOW_SEAICE_COST_SMR_AREA
157 #define ALLOW_DAILYSCAT_COST_CONTRIBUTION
158
159 C >>> Sea Surface Height Observation/Estimates.
160 #define ALLOW_EGM96_ERROR_DIAG
161 #define ALLOW_SSH_MEAN_COST_CONTRIBUTION
162 #define ALLOW_SSH_TPANOM_COST_CONTRIBUTION
163 #define ALLOW_SSH_ERSANOM_COST_CONTRIBUTION
164 #define ALLOW_SSH_GFOANOM_COST_CONTRIBUTION
165 # if (defined (ALLOW_SSH_MEAN_COST_CONTRIBUTION) || \
166 defined (ALLOW_SSH_TPANOM_COST_CONTRIBUTION) || \
167 defined (ALLOW_SSH_ERSANOM_COST_CONTRIBUTION))
168 # define ALLOW_SSH_COST_CONTRIBUTION
169 # endif
170 # undef ALLOW_NEW_SSH_COST
171 #define ALLOW_SSH_TOT
172 # ifndef ALLOW_EGM96_ERROR_DIAG
173 # undef ALLOW_SSH_TOT
174 # endif
175
176 c
177 #endif /* ALLOW_COST_FULL */
178
179
180 C ********************************************************************
181 C *** Control vector Package ***
182 C ********************************************************************
183 C
184 # undef CTRL_SET_OLD_MAXCVARS_30
185 #define CTRL_SET_PREC_32
186 #define ALLOW_NONDIMENSIONAL_CONTROL_IO
187 # undef CTRL_UNPACK_PRECISE
188 # undef CTRL_PACK_PRECISE
189
190 C >>> Spatial Correlation Operator.
191 #define ALLOW_SMOOTH_CORREL3D
192 #define ALLOW_SMOOTH3D
193 #define ALLOW_SMOOTH_CORREL2D
194 #define ALLOW_SMOOTH2D
195 #define ALLOW_ADCTRLBOUND
196
197 C >>> Initial values.
198 #define ALLOW_THETA0_CONTROL
199 #define ALLOW_SALT0_CONTROL
200
201 C >>> Surface fluxes.
202 # undef ALLOW_HFLUX_CONTROL
203 # undef ALLOW_SFLUX_CONTROL
204 #define ALLOW_USTRESS_CONTROL
205 #define ALLOW_VSTRESS_CONTROL
206
207 C >>> Atmospheric state and radiation.
208 #define ALLOW_ATEMP_CONTROL
209 #define ALLOW_AQH_CONTROL
210 #define ALLOW_UWIND_CONTROL
211 #define ALLOW_VWIND_CONTROL
212 #define ALLOW_PRECIP_CONTROL
213 # undef ALLOW_SWFLUX_CONTROL
214 #define ALLOW_SWDOWN_CONTROL
215 # undef ALLOW_LWFLUX_CONTROL
216 #define ALLOW_LWDOWN_CONTROL
217
218 C >>> Ocean Parameters.
219 # undef ALLOW_EDDYPSI_CONTROL
220 #define ALLOW_DIFFKR_CONTROL
221 #define ALLOW_KAPGM_CONTROL
222 # undef ALLOW_BOTTOMDRAG_CONTROL
223 #define ALLOW_KAPREDI_CONTROL
224
225 C >>> rotation of xx for wind
226 #define ALLOW_ROTATE_UV_CONTROLS
227
228
229
230 C Specific relaxation strategy
231 # undef ALLOW_RBCS_SPIN
232
233 #endif /* ALLOW_ECCO */
234 #endif /* ECCO_CPPOPTIONS_H */

  ViewVC Help
Powered by ViewVC 1.1.22