/[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.18 - (show annotations) (download)
Thu Oct 16 20:09:28 2014 UTC (9 years, 7 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65l, checkpoint65m, checkpoint65g
Changes since 1.17: +4 -1 lines
File MIME type: text/plain
- define ECCO_CTRL_DEPRECATED

1 C $Header: /u/gcmpack/MITgcm/verification/lab_sea/code_ad/ECCO_CPPOPTIONS.h,v 1.17 2014/10/01 16:06:24 gforget Exp $
2 C $Name: $
3
4 #ifndef ECCO_CPPOPTIONS_H
5 #define ECCO_CPPOPTIONS_H
6
7 C-- Collect here, in a single option-file, options to control which optional
8 C features to compile in packages AUTODIFF, COST, CTRL, ECCO, CAL and EXF.
9 C If used, this option-file needs to be directly included in CPP_OPTIONS.h
10 C Although this method, inherited from ECCO setup, has been traditionally
11 C used for all adjoint built, work is in progess to allow to use the
12 C standard metod (each of the above pkg get its own options from its
13 C specific option-file) also for adjoint built.
14
15 C ********************************************************************
16 C *** ECCO Package ***
17 C ********************************************************************
18
19 C allow use of legacy ecco/ctrl codes
20 #define ECCO_CTRL_DEPRECATED
21
22 cph >>>>>> !!!!!! SPECIAL SEAICE FLAG FOR TESTING !!!!!! <<<<<<
23 cph#define SEAICE_EXCLUDE_FOR_EXACT_AD_TESTING
24 cph >>>>>> !!!!!! SPECIAL SEAICE FLAG FOR TESTING !!!!!! <<<<<<
25
26 cph#define ALLOW_ECCO_FORWARD_RUN
27 #define ALLOW_ECCO_OPTIMIZATION
28
29 C >>> Do a long protocol.
30 #undef ECCO_VERBOSE
31
32 #define ALLOW_ECCO_EVOLUTION
33
34 C ********************************************************************
35 C *** Adjoint Support Package ***
36 C ********************************************************************
37
38 C o Include/exclude code in order to be able to automatically
39
40 #define ALLOW_AUTODIFF_TAMC
41
42 C >>> Checkpointing as handled by TAMC
43 #define ALLOW_TAMC_CHECKPOINTING
44
45 C extend to 4-level checkpointing
46 #undef AUTODIFF_4_LEVEL_CHECKPOINT
47
48 C >>> Extract adjoint state
49 #define ALLOW_AUTODIFF_MONITOR
50
51 C o use divided adjoint to split adjoint computations
52 #define ALLOW_DIVIDED_ADJOINT
53
54 C o TAMC compatible subroutine parameter list
55 #undef AUTODIFF_TAMC_COMPATIBILITY
56
57 C ********************************************************************
58 C *** Calendar Package ***
59 C ********************************************************************
60
61 C CPP flags controlling which code is included in the files that
62 C will be compiled.
63
64 CPH >>>>>> THERE ARE NO MORE CAL OPTIONS TO BE SET <<<<<<
65
66 C ********************************************************************
67 C *** Cost function Package ***
68 C ********************************************************************
69
70 C >>> Use the EGM-96 geoid error covariance.
71 # undef ALLOW_EGM96_ERROR_COV
72 # undef ALLOW_READ_EGM_DATA
73 C >>> Use NSCAT data.
74 # undef ALLOW_NSCAT_DATA
75 C >>> Cost function contributions
76
77 # undef ALLOW_HFLUX_COST_CONTRIBUTION
78 # undef ALLOW_SFLUX_COST_CONTRIBUTION
79 # undef ALLOW_USTRESS_COST_CONTRIBUTION
80 # undef ALLOW_VSTRESS_COST_CONTRIBUTION
81
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 # define ALLOW_SNOWPRECIP_COST_CONTRIBUTION
88 # define ALLOW_SWDOWN_COST_CONTRIBUTION
89 # define ALLOW_LWDOWN_COST_CONTRIBUTION
90 # undef ALLOW_EVAP_COST_CONTRIBUTION
91 # define ALLOW_APRESSURE_COST_CONTRIBUTION
92 # undef ALLOW_RUNOFF_COST_CONTRIBUTION
93
94 # define ALLOW_THETA0_COST_CONTRIBUTION
95 # define ALLOW_SALT0_COST_CONTRIBUTION
96 # define ALLOW_THETA_COST_CONTRIBUTION
97 # define ALLOW_SALT_COST_CONTRIBUTION
98 # define ALLOW_SST_COST_CONTRIBUTION
99 # define ALLOW_SSS_COST_CONTRIBUTION
100
101 # define ALLOW_SSH_MEAN_COST_CONTRIBUTION
102 # define ALLOW_SSH_TPANOM_COST_CONTRIBUTION
103 # define ALLOW_SSH_ERSANOM_COST_CONTRIBUTION
104 # undef ALLOW_SPH_PROJECTION
105 # if (defined (ALLOW_SSH_MEAN_COST_CONTRIBUTION) || \
106 defined (ALLOW_SSH_TPANOM_COST_CONTRIBUTION) || \
107 defined (ALLOW_SSH_ERSANOM_COST_CONTRIBUTION))
108 # define ALLOW_SSH_COST_CONTRIBUTION
109 # endif
110
111 # undef ALLOW_CTDT_COST_CONTRIBUTION
112 # undef ALLOW_CTDS_COST_CONTRIBUTION
113 # undef ALLOW_XBT_COST_CONTRIBUTION
114 # undef ALLOW_COST_ATLANTIC
115
116 c >>> Open boundaries
117 c >>> Make sure that ALLOW_OBCS is defined
118 # undef ALLOW_OBCSN_COST_CONTRIBUTION
119 # undef ALLOW_OBCSS_COST_CONTRIBUTION
120 # undef ALLOW_OBCSW_COST_CONTRIBUTION
121 # undef ALLOW_OBCSE_COST_CONTRIBUTION
122 # if (defined (ALLOW_OBCSN_COST_CONTRIBUTION) || \
123 defined (ALLOW_OBCSS_COST_CONTRIBUTION) || \
124 defined (ALLOW_OBCSW_COST_CONTRIBUTION) || \
125 defined (ALLOW_OBCSE_COST_CONTRIBUTION))
126 # define ALLOW_OBCS_COST_CONTRIBUTION
127 # endif
128
129 C ********************************************************************
130 C *** Control vector Package ***
131 C ********************************************************************
132
133 #define ALLOW_NONDIMENSIONAL_CONTROL_IO
134 #undef ALLOW_TAMC_SINGLEPREC_COMLEV
135
136 C >>> Initial values.
137 #define ALLOW_THETA0_CONTROL
138 #define ALLOW_SALT0_CONTROL
139
140 C >>> Initial seaice
141 #define ALLOW_SIAREA_CONTROL
142 #define ALLOW_SIHEFF_CONTROL
143
144 C >>> Surface fluxes.
145 #undef ALLOW_HFLUX_CONTROL
146 #undef ALLOW_SFLUX_CONTROL
147 #undef ALLOW_USTRESS_CONTROL
148 #undef ALLOW_VSTRESS_CONTROL
149
150 C >>> Atmospheric state.
151 #define ALLOW_ATEMP_CONTROL
152 #define ALLOW_AQH_CONTROL
153 #define ALLOW_PRECIP_CONTROL
154 #define ALLOW_SNOWPRECIP_CONTROL
155 #define ALLOW_SWDOWN_CONTROL
156 #define ALLOW_LWDOWN_CONTROL
157 #define ALLOW_UWIND_CONTROL
158 #define ALLOW_VWIND_CONTROL
159 #undef ALLOW_EVAP_CONTROL
160 #define ALLOW_APRESSURE_CONTROL
161 #undef ALLOW_RUNOFF_CONTROL
162
163 C >>> Radiation
164 #undef ALLOW_SWFLUX_CONTROL
165 #undef ALLOW_LWFLUX_CONTROL
166
167 C >>> seaice init. conditions
168 #define ALLOW_SIAREA_CONTROL
169 #define ALLOW_SIHEFF_CONTROL
170 #undef ALLOW_SIHSNOW_CONTROL
171
172 C >>> relaxation terms
173 #define ALLOW_SST_CONTROL
174 #define ALLOW_SSS_CONTROL
175
176 C >>> Open boundaries
177 c >>> Make sure that ALLOW_OBCS is defined
178 #undef ALLOW_OBCSN_CONTROL
179 #undef ALLOW_OBCSS_CONTROL
180 #undef ALLOW_OBCSW_CONTROL
181 #undef ALLOW_OBCSE_CONTROL
182 #if (defined (ALLOW_OBCSN_CONTROL) || \
183 defined (ALLOW_OBCSS_CONTROL) || \
184 defined (ALLOW_OBCSW_CONTROL) || \
185 defined (ALLOW_OBCSE_CONTROL))
186 # define ALLOW_OBCS_CONTROL
187 #endif
188
189 C ********************************************************************
190 C *** External forcing Package ***
191 C ********************************************************************
192
193 C Bulk formulae related flags.
194 #undef ALLOW_BULK_LARGYEAG04
195 #define ALLOW_ATM_TEMP
196 #define ALLOW_ATM_WIND
197 #define ALLOW_BULKFORMULAE
198 #define ALLOW_DOWNWARD_RADIATION
199 #define ALLOW_RUNOFF
200 #undef EXF_READ_EVAP
201
202 C Use ocean_emissivity*lwdwon in lwFlux. This flag should be define
203 C unless to reproduce old results (obtained with inconsistent old code)
204 #ifdef ALLOW_DOWNWARD_RADIATION
205 # define EXF_LWDOWN_WITH_EMISSIVITY
206 #endif
207
208 C Relaxation to monthly climatologies.
209 #define ALLOW_CLIMSST_RELAXATION
210 #define ALLOW_CLIMSSS_RELAXATION
211
212 C Seaice area relaxation code
213 #define EXF_SEAICE_FRACTION
214
215 C ********************************************************************
216 #endif /* ECCO_CPPOPTIONS_H */

  ViewVC Help
Powered by ViewVC 1.1.22