/[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.13 - (show annotations) (download)
Thu Aug 9 18:15:57 2012 UTC (11 years, 9 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64d, checkpoint63r, checkpoint63s, checkpoint64
Changes since 1.12: +23 -24 lines
File MIME type: text/plain
- reccord when this file is included (define ECCO_CPPOPTIONS_H)
- remove the most obvious obsolete features (e.g., #define ALLOW_COST not
  allowed since Oct 2003 in any option-file except in PACKAGES_CONFIG.h)

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

  ViewVC Help
Powered by ViewVC 1.1.22