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

Annotation 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.11 - (hide annotations) (download)
Fri Mar 23 15:03:42 2012 UTC (12 years, 1 month ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint63l
Changes since 1.10: +7 -3 lines
File MIME type: text/plain
* #undef SEAICE_EXCLUDE_FOR_EXACT_AD_TESTING
* #define ALLOW_SST_CONTROL & ALLOW_SST_CONTROL
* nTimeSteps 3 -> 4

1 heimbach 1.11 C $Header: /u/gcmpack/MITgcm/verification/lab_sea/code_ad/ECCO_CPPOPTIONS.h,v 1.10 2012/01/17 15:36:46 jmc Exp $
2 jmc 1.5 C $Name: $
3 heimbach 1.1
4 jmc 1.5 C
5 heimbach 1.1 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 heimbach 1.4
13     cph >>>>>> !!!!!! SPECIAL SEAICE FLAG FOR TESTING !!!!!! <<<<<<
14 heimbach 1.11 cph#define SEAICE_EXCLUDE_FOR_EXACT_AD_TESTING
15 heimbach 1.4 cph >>>>>> !!!!!! SPECIAL SEAICE FLAG FOR TESTING !!!!!! <<<<<<
16 heimbach 1.1
17 heimbach 1.7 cph#define ALLOW_ECCO_FORWARD_RUN
18     #define ALLOW_ECCO_OPTIMIZATION
19 heimbach 1.1
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 heimbach 1.8 C
43     C o TAMC compatible subroutine parameter list
44     #undef AUTODIFF_TAMC_COMPATIBILITY
45 heimbach 1.1
46     C ********************************************************************
47     C *** Calendar Package ***
48     C ********************************************************************
49 jmc 1.5 C
50 heimbach 1.1 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 heimbach 1.6 # define ALLOW_THETA0_COST_CONTRIBUTION
86     # define ALLOW_SALT0_COST_CONTRIBUTION
87 heimbach 1.1 # define ALLOW_THETA_COST_CONTRIBUTION
88     # define ALLOW_SALT_COST_CONTRIBUTION
89     # define ALLOW_SST_COST_CONTRIBUTION
90 heimbach 1.11 # define ALLOW_SSS_COST_CONTRIBUTION
91 heimbach 1.1
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 heimbach 1.7 # undef ALLOW_COST_ICE
122 heimbach 1.1
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 jmc 1.5 C
132 heimbach 1.1 #define ALLOW_NONDIMENSIONAL_CONTROL_IO
133 heimbach 1.9 #undef ALLOW_TAMC_SINGLEPREC_COMLEV
134 heimbach 1.1
135     C >>> Initial values.
136     #define ALLOW_THETA0_CONTROL
137     #define ALLOW_SALT0_CONTROL
138    
139 heimbach 1.3 C >>> Initial seaice
140     #define ALLOW_SIAREA_CONTROL
141     #define ALLOW_SIHEFF_CONTROL
142    
143 heimbach 1.1 C >>> Surface fluxes.
144     #undef ALLOW_HFLUX_CONTROL
145     #undef ALLOW_SFLUX_CONTROL
146     #undef ALLOW_USTRESS_CONTROL
147     #undef ALLOW_VSTRESS_CONTROL
148    
149     C >>> Atmospheric state.
150     #define ALLOW_ATEMP_CONTROL
151     #define ALLOW_AQH_CONTROL
152     #define ALLOW_PRECIP_CONTROL
153     #define ALLOW_SNOWPRECIP_CONTROL
154     #define ALLOW_SWDOWN_CONTROL
155     #define ALLOW_LWDOWN_CONTROL
156     #define ALLOW_UWIND_CONTROL
157     #define ALLOW_VWIND_CONTROL
158     #undef ALLOW_EVAP_CONTROL
159     #define ALLOW_APRESSURE_CONTROL
160     #undef ALLOW_RUNOFF_CONTROL
161    
162     C >>> Radiation
163     #undef ALLOW_SWFLUX_CONTROL
164     #undef ALLOW_LWFLUX_CONTROL
165    
166 heimbach 1.2 C >>> seaice init. conditions
167     #define ALLOW_SIAREA_CONTROL
168     #define ALLOW_SIHEFF_CONTROL
169     #undef ALLOW_SIHSNOW_CONTROL
170    
171 heimbach 1.11 C >>> relaxation terms
172     #define ALLOW_SST_CONTROL
173     #define ALLOW_SSS_CONTROL
174    
175 heimbach 1.1 C >>> Open boundaries
176     c >>> Make sure that ALLOW_OBCS is defined
177     #undef ALLOW_OBCSN_CONTROL
178     #undef ALLOW_OBCSS_CONTROL
179     #undef ALLOW_OBCSW_CONTROL
180     #undef ALLOW_OBCSE_CONTROL
181     #if (defined (ALLOW_OBCSN_CONTROL) || \
182     defined (ALLOW_OBCSS_CONTROL) || \
183     defined (ALLOW_OBCSW_CONTROL) || \
184     defined (ALLOW_OBCSE_CONTROL))
185     # define ALLOW_OBCS_CONTROL
186     #endif
187    
188     C ********************************************************************
189     C *** External forcing Package ***
190     C ********************************************************************
191 jmc 1.5 C
192 heimbach 1.1 C o Include/exclude the external forcing package. To use this package,
193     C you have to include the calendar tool as well. KPP can be switched
194     C on or off. The implementation automatically takes care of this.
195     #define INCLUDE_EXTERNAL_FORCING_PACKAGE
196    
197     C Bulk formulae related flags.
198 heimbach 1.3 #undef ALLOW_BULK_LARGYEAG04
199 heimbach 1.1 #define ALLOW_ATM_TEMP
200     #define ALLOW_ATM_WIND
201     #define ALLOW_BULKFORMULAE
202     #define ALLOW_DOWNWARD_RADIATION
203     #define ALLOW_RUNOFF
204     #undef EXF_READ_EVAP
205    
206 jmc 1.10 C Use ocean_emissivity*lwdwon in lwFlux. This flag should be define
207     C unless to reproduce old results (obtained with inconsistent old code)
208     #ifdef ALLOW_DOWNWARD_RADIATION
209     # define EXF_LWDOWN_WITH_EMISSIVITY
210     #endif
211    
212 heimbach 1.1 C Relaxation to monthly climatologies.
213     #define ALLOW_CLIMSST_RELAXATION
214     #define ALLOW_CLIMSSS_RELAXATION

  ViewVC Help
Powered by ViewVC 1.1.22