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

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

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


Revision 1.3 - (show annotations) (download)
Thu Mar 2 20:09:11 2017 UTC (8 years, 5 months ago) by zhc
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +9 -6 lines
File MIME type: text/plain
llc270 iter33

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 # undef ALLOW_USTRESS_COST_CONTRIBUTION
79 # undef 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 chzh# undef ALLOW_GENCOST_SSTV4
133 chzh# undef ALLOW_GENCOST_SSTV4_OUTPUT
134 #define ALLOW_GENCOST_SSTV4
135 #define ALLOW_GENCOST_SSTV4_OUTPUT
136
137
138 #define ALLOW_SEAICE_COST_CONTRIBUTION
139 #define ALLOW_GENCOST_SEAICEV4
140
141 C >>> User Cost Function Terms.
142 #define ALLOW_USERCOST_CONTRIBUTION
143 # undef ALLOW_USERCOST_TSUV_CONTRIBUTION
144 # undef ALLOW_USERCOST_TSdrift_CONTRIBUTION
145
146 C >>> In-Situ Profiles.
147 #define ALLOW_PROFILES_CONTRIBUTION
148
149 C >>> GRACE Bottom Pressure.
150 #define ALLOW_BP_COST_CONTRIBUTION
151 #define ALLOW_BP_COST_OUTPUT
152
153 C >>> Surface Observations.
154 # undef ALLOW_DRIFTER_COST_CONTRIBUTION
155 chzh#define ALLOW_SST_COST_CONTRIBUTION
156 chzh#define ALLOW_TMI_SST_COST_CONTRIBUTION
157 #define ALLOW_DAILYSST_COST_CONTRIBUTION
158 # undef ALLOW_SSS_COST_CONTRIBUTION
159 # undef ALLOW_SEAICE_COST_SMR_AREA
160 chzh#define ALLOW_DAILYSCAT_COST_CONTRIBUTION
161
162 C >>> Sea Surface Height Observation/Estimates.
163 #define ALLOW_EGM96_ERROR_DIAG
164 #define ALLOW_SSH_MEAN_COST_CONTRIBUTION
165 #define ALLOW_SSH_TPANOM_COST_CONTRIBUTION
166 #define ALLOW_SSH_ERSANOM_COST_CONTRIBUTION
167 chzh#define ALLOW_SSH_GFOANOM_COST_CONTRIBUTION
168 # if (defined (ALLOW_SSH_MEAN_COST_CONTRIBUTION) || \
169 defined (ALLOW_SSH_TPANOM_COST_CONTRIBUTION) || \
170 defined (ALLOW_SSH_ERSANOM_COST_CONTRIBUTION))
171 # define ALLOW_SSH_COST_CONTRIBUTION
172 # endif
173 # undef ALLOW_NEW_SSH_COST
174 #define ALLOW_SSH_TOT
175 # ifndef ALLOW_EGM96_ERROR_DIAG
176 # undef ALLOW_SSH_TOT
177 # endif
178
179 c
180 #endif /* ALLOW_COST_FULL */
181
182
183 C ********************************************************************
184 C *** Control vector Package ***
185 C ********************************************************************
186 C
187 #define EXCLUDE_CTRL_PACK
188 # undef CTRL_SET_OLD_MAXCVARS_30
189 #define CTRL_SET_PREC_32
190 # undef ALLOW_NONDIMENSIONAL_CONTROL_IO
191 # undef CTRL_UNPACK_PRECISE
192 # undef CTRL_PACK_PRECISE
193
194 C >>> Spatial Correlation Operator.
195 #define ALLOW_SMOOTH_CORREL3D
196 #define ALLOW_SMOOTH3D
197 #define ALLOW_SMOOTH_CORREL2D
198 #define ALLOW_SMOOTH2D
199 #define ALLOW_ADCTRLBOUND
200
201 C >>> Initial values.
202 #define ALLOW_THETA0_CONTROL
203 #define ALLOW_SALT0_CONTROL
204
205 C >>> Surface fluxes.
206 # undef ALLOW_HFLUX_CONTROL
207 # undef ALLOW_SFLUX_CONTROL
208 # undef ALLOW_USTRESS_CONTROL
209 # undef ALLOW_VSTRESS_CONTROL
210
211 C >>> Atmospheric state and radiation.
212 #define ALLOW_ATEMP_CONTROL
213 #define ALLOW_AQH_CONTROL
214 #define ALLOW_UWIND_CONTROL
215 #define ALLOW_VWIND_CONTROL
216 #define ALLOW_PRECIP_CONTROL
217 # undef ALLOW_SWFLUX_CONTROL
218 #define ALLOW_SWDOWN_CONTROL
219 # undef ALLOW_LWFLUX_CONTROL
220 #define ALLOW_LWDOWN_CONTROL
221
222 C >>> Ocean Parameters.
223 # undef ALLOW_EDDYPSI_CONTROL
224 #define ALLOW_DIFFKR_CONTROL
225 #define ALLOW_KAPGM_CONTROL
226 # undef ALLOW_BOTTOMDRAG_CONTROL
227 #define ALLOW_KAPREDI_CONTROL
228
229 C >>> rotation of xx for wind
230 #define ALLOW_ROTATE_UV_CONTROLS
231
232
233
234 C Specific relaxation strategy
235 # undef ALLOW_RBCS_SPIN
236
237 #endif /* ALLOW_ECCO */
238 #endif /* ECCO_CPPOPTIONS_H */
239

  ViewVC Help
Powered by ViewVC 1.1.22