/[MITgcm]/MITgcm/verification/lab_sea/code_ad/ECCO_CPPOPTIONS.h
ViewVC logotype

Contents of /MITgcm/verification/lab_sea/code_ad/ECCO_CPPOPTIONS.h

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


Revision 1.8 - (show annotations) (download)
Fri Jun 20 21:43:19 2008 UTC (15 years, 10 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint61, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61h, checkpoint61i
Changes since 1.7: +4 -1 lines
File MIME type: text/plain
o autodiff
  Change default for TAF usage by removing argument '-nonew_arg'
  This changes TAF subroutine argument list (ordering of active var.)
  Omission of this flag leads to incompatibility w.r.t. TAMC
  To restore TAMC-compatibility, need following modifs:
  * use adoptfile tools/adjoint_options/adjoint_tamc_compatibility
  * use CPP option #define AUTODIFF_TAMC_COMPATIBILITY
  Tested TAF version is 1.9.22
  N.B.: exch2 hand-written adjoint code currently not TAMC compatible

1 C $Header: /u/gcmpack/MITgcm/verification/lab_sea/code_ad/ECCO_CPPOPTIONS.h,v 1.7 2008/05/01 23:55:12 heimbach Exp $
2 C $Name: $
3
4 C
5 C CPP flags controlling which code is included in the files that
6 C will be compiled.
7 C
8 C ********************************************************************
9 C *** ECCO Package ***
10 C ********************************************************************
11 C
12
13 cph >>>>>> !!!!!! SPECIAL SEAICE FLAG FOR TESTING !!!!!! <<<<<<
14 #define SEAICE_EXCLUDE_FOR_EXACT_AD_TESTING
15 cph >>>>>> !!!!!! SPECIAL SEAICE FLAG FOR TESTING !!!!!! <<<<<<
16
17 cph#define ALLOW_ECCO_FORWARD_RUN
18 #define ALLOW_ECCO_OPTIMIZATION
19
20 C >>> Do a long protocol.
21 #undef ECCO_VERBOSE
22
23 C ********************************************************************
24 C *** Adjoint Support Package ***
25 C ********************************************************************
26
27 C o Include/exclude code in order to be able to automatically
28 C
29 #define ALLOW_AUTODIFF_TAMC
30 C
31 C >>> Checkpointing as handled by TAMC
32 #define ALLOW_TAMC_CHECKPOINTING
33 C
34 C extend to 4-level checkpointing
35 #undef AUTODIFF_4_LEVEL_CHECKPOINT
36 C
37 C >>> Extract adjoint state
38 #define ALLOW_AUTODIFF_MONITOR
39 C
40 C o use divided adjoint to split adjoint computations
41 #undef ALLOW_DIVIDED_ADJOINT
42 C
43 C o TAMC compatible subroutine parameter list
44 #undef AUTODIFF_TAMC_COMPATIBILITY
45
46 C ********************************************************************
47 C *** Calendar Package ***
48 C ********************************************************************
49 C
50 C CPP flags controlling which code is included in the files that
51 C will be compiled.
52
53 CPH >>>>>> THERE ARE NO MORE CAL OPTIONS TO BE SET <<<<<<
54
55 C ********************************************************************
56 C *** Cost function Package ***
57 C ********************************************************************
58 C
59 #define ALLOW_COST
60 #ifdef ALLOW_COST
61 C >>> Use the EGM-96 geoid error covariance.
62 # undef ALLOW_EGM96_ERROR_COV
63 # undef ALLOW_READ_EGM_DATA
64 C >>> Use NSCAT data.
65 # undef ALLOW_NSCAT_DATA
66 C >>> Cost function contributions
67
68 # undef ALLOW_HFLUX_COST_CONTRIBUTION
69 # undef ALLOW_SFLUX_COST_CONTRIBUTION
70 # undef ALLOW_USTRESS_COST_CONTRIBUTION
71 # undef ALLOW_VSTRESS_COST_CONTRIBUTION
72
73 # define ALLOW_ATEMP_COST_CONTRIBUTION
74 # define ALLOW_AQH_COST_CONTRIBUTION
75 # define ALLOW_UWIND_COST_CONTRIBUTION
76 # define ALLOW_VWIND_COST_CONTRIBUTION
77 # define ALLOW_PRECIP_COST_CONTRIBUTION
78 # define ALLOW_SNOWPRECIP_COST_CONTRIBUTION
79 # define ALLOW_SWDOWN_COST_CONTRIBUTION
80 # define ALLOW_LWDOWN_COST_CONTRIBUTION
81 # undef ALLOW_EVAP_COST_CONTRIBUTION
82 # define ALLOW_APRESSURE_COST_CONTRIBUTION
83 # undef ALLOW_RUNOFF_COST_CONTRIBUTION
84
85 # define ALLOW_THETA0_COST_CONTRIBUTION
86 # define ALLOW_SALT0_COST_CONTRIBUTION
87 # define ALLOW_THETA_COST_CONTRIBUTION
88 # define ALLOW_SALT_COST_CONTRIBUTION
89 # define ALLOW_SST_COST_CONTRIBUTION
90 # undef ALLOW_SSS_COST_CONTRIBUTION
91
92 # define ALLOW_SSH_MEAN_COST_CONTRIBUTION
93 # define ALLOW_SSH_TPANOM_COST_CONTRIBUTION
94 # define ALLOW_SSH_ERSANOM_COST_CONTRIBUTION
95 # undef ALLOW_SPH_PROJECTION
96 # if (defined (ALLOW_SSH_MEAN_COST_CONTRIBUTION) || \
97 defined (ALLOW_SSH_TPANOM_COST_CONTRIBUTION) || \
98 defined (ALLOW_SSH_ERSANOM_COST_CONTRIBUTION))
99 # define ALLOW_SSH_COST_CONTRIBUTION
100 # endif
101
102 # undef ALLOW_CTDT_COST_CONTRIBUTION
103 # undef ALLOW_CTDS_COST_CONTRIBUTION
104 # undef ALLOW_XBT_COST_CONTRIBUTION
105 # undef ALLOW_COST_ATLANTIC
106
107 c >>> Open boundaries
108 c >>> Make sure that ALLOW_OBCS is defined
109 # undef ALLOW_OBCSN_COST_CONTRIBUTION
110 # undef ALLOW_OBCSS_COST_CONTRIBUTION
111 # undef ALLOW_OBCSW_COST_CONTRIBUTION
112 # undef ALLOW_OBCSE_COST_CONTRIBUTION
113 # if (defined (ALLOW_OBCSN_COST_CONTRIBUTION) || \
114 defined (ALLOW_OBCSS_COST_CONTRIBUTION) || \
115 defined (ALLOW_OBCSW_COST_CONTRIBUTION) || \
116 defined (ALLOW_OBCSE_COST_CONTRIBUTION))
117 # define ALLOW_OBCS_COST_CONTRIBUTION
118 # endif
119
120 c >>> Sea-ice volume
121 # undef ALLOW_COST_ICE
122
123 c >>> Sea-ice misfit to obs
124 # define ALLOW_SEAICE_COST_SMR_AREA
125
126 #endif /* ALLOW_COST */
127
128 C ********************************************************************
129 C *** Control vector Package ***
130 C ********************************************************************
131 C
132 #define ALLOW_NONDIMENSIONAL_CONTROL_IO
133
134 C >>> Initial values.
135 #define ALLOW_THETA0_CONTROL
136 #define ALLOW_SALT0_CONTROL
137
138 C >>> Initial seaice
139 #define ALLOW_SIAREA_CONTROL
140 #define ALLOW_SIHEFF_CONTROL
141
142 C >>> Surface fluxes.
143 #undef ALLOW_HFLUX_CONTROL
144 #undef ALLOW_SFLUX_CONTROL
145 #undef ALLOW_USTRESS_CONTROL
146 #undef ALLOW_VSTRESS_CONTROL
147
148 C >>> Atmospheric state.
149 #define ALLOW_ATEMP_CONTROL
150 #define ALLOW_AQH_CONTROL
151 #define ALLOW_PRECIP_CONTROL
152 #define ALLOW_SNOWPRECIP_CONTROL
153 #define ALLOW_SWDOWN_CONTROL
154 #define ALLOW_LWDOWN_CONTROL
155 #define ALLOW_UWIND_CONTROL
156 #define ALLOW_VWIND_CONTROL
157 #undef ALLOW_EVAP_CONTROL
158 #define ALLOW_APRESSURE_CONTROL
159 #undef ALLOW_RUNOFF_CONTROL
160
161 C >>> Radiation
162 #undef ALLOW_SWFLUX_CONTROL
163 #undef ALLOW_LWFLUX_CONTROL
164
165 C >>> seaice init. conditions
166 #define ALLOW_SIAREA_CONTROL
167 #define ALLOW_SIHEFF_CONTROL
168 #undef ALLOW_SIHSNOW_CONTROL
169
170 C >>> Open boundaries
171 c >>> Make sure that ALLOW_OBCS is defined
172 #undef ALLOW_OBCSN_CONTROL
173 #undef ALLOW_OBCSS_CONTROL
174 #undef ALLOW_OBCSW_CONTROL
175 #undef ALLOW_OBCSE_CONTROL
176 #if (defined (ALLOW_OBCSN_CONTROL) || \
177 defined (ALLOW_OBCSS_CONTROL) || \
178 defined (ALLOW_OBCSW_CONTROL) || \
179 defined (ALLOW_OBCSE_CONTROL))
180 # define ALLOW_OBCS_CONTROL
181 #endif
182
183 C ********************************************************************
184 C *** External forcing Package ***
185 C ********************************************************************
186 C
187 C o Include/exclude the external forcing package. To use this package,
188 C you have to include the calendar tool as well. KPP can be switched
189 C on or off. The implementation automatically takes care of this.
190 #define INCLUDE_EXTERNAL_FORCING_PACKAGE
191
192 C Do more printout for the protocol file than usual.
193 #undef EXF_VERBOSE
194
195 C Bulk formulae related flags.
196 #undef ALLOW_BULK_LARGYEAG04
197 #define ALLOW_ATM_TEMP
198 #define ALLOW_ATM_WIND
199 #define ALLOW_BULKFORMULAE
200 #define ALLOW_DOWNWARD_RADIATION
201 #define ALLOW_RUNOFF
202 #undef EXF_READ_EVAP
203
204 C Relaxation to monthly climatologies.
205 #define ALLOW_CLIMSST_RELAXATION
206 #define ALLOW_CLIMSSS_RELAXATION

  ViewVC Help
Powered by ViewVC 1.1.22