/[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.19 - (hide annotations) (download)
Thu Aug 6 20:35:15 2015 UTC (8 years, 9 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65o, HEAD
Changes since 1.18: +1 -3 lines
File MIME type: text/plain
- all: remove ALLOW_ECCO_EVOLUTION switch
- offline_exf_seaice: remove unused ECCO CPP switches

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

  ViewVC Help
Powered by ViewVC 1.1.22