/[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.16 - (hide annotations) (download)
Sat Oct 5 19:40:12 2013 UTC (10 years, 7 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint65, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65d, checkpoint65e
Changes since 1.15: +2 -2 lines
File MIME type: text/plain
rename CPP option EXF_ALLOW_SEAICE_RELAX to EXF_SEAICE_FRACTION

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

  ViewVC Help
Powered by ViewVC 1.1.22