/[MITgcm]/MITgcm_contrib/arctic40km/code_ad/ECCO_CPPOPTIONS.h
ViewVC logotype

Annotation of /MITgcm_contrib/arctic40km/code_ad/ECCO_CPPOPTIONS.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (hide annotations) (download)
Mon Jun 5 17:58:14 2006 UTC (19 years, 1 month ago) by heimbach
Branch: MAIN
Changes since 1.1: +2 -2 lines
File MIME type: text/plain
Use seaice in adjoint, only exclude seaice dynamics.

1 heimbach 1.1
2     C
3     C CPP flags controlling which code is included in the files that
4     C will be compiled.
5     C
6     C ********************************************************************
7     C *** ECCO Package ***
8     C ********************************************************************
9     C
10     C o include dump of snap shots for checks
11     #undef ALLOW_SNAPSHOTS
12    
13     #undef ALLOW_ECCO_FORWARD_RUN
14     #undef ALLOW_ECCO_DIAGNOSTICS_RUN
15     #define ALLOW_ECCO_OPTIMIZATION
16    
17     C >>> Do a long protocol.
18     #undef ECCO_VERBOSE
19    
20     C >>> Just do a "dry" run ( useful for testing ).
21     #undef ALLOW_NO_DYNAMICS
22     C >>> Use the Yearly-Monthly-Daily-Stepping call tree.
23     #undef ALLOW_YMDS_TREE
24     C >>> Do not call stepping
25     #define ALLOW_STEPPING_CALL
26    
27     C ********************************************************************
28     C *** Adjoint Support Package ***
29     C ********************************************************************
30    
31     C o Include/exclude code in order to be able to automatically
32     C differentiate the MITgcmUV by using the Tangent Linear and
33     C Adjoint Model Compiler (TAMC).
34     #define INCLUDE_AUTODIFF_PACKAGE
35     C
36     #define ALLOW_AUTODIFF_TAMC
37     C
38     C >>> Checkpointing as handled by TAMC
39     #define ALLOW_TAMC_CHECKPOINTING
40     C
41     C >>> Extract adjoint state
42     #define ALLOW_AUTODIFF_MONITOR
43     C
44     C o use divided adjoint to split adjoint computations
45     #undef ALLOW_DIVIDED_ADJOINT
46     #undef ALLOW_DIVIDED_ADJOINT_MPI
47    
48     C ********************************************************************
49     C *** Calender Package ***
50     C ********************************************************************
51     C
52     C CPP flags controlling which code is included in the files that
53     C will be compiled.
54    
55     CPH >>>>>> THERE ARE NO MORE CAL OPTIONS TO BE SET <<<<<<
56    
57     C ********************************************************************
58     C *** Cost function Package ***
59     c ********************************************************************
60     C
61     #define ALLOW_COST
62    
63     #ifdef ALLOW_COST
64     C >>> Use the EGM-96 geoid error covariance.
65     # undef ALLOW_EGM96_ERROR_DIAG
66     # undef ALLOW_EGM96_ERROR_COV
67     # undef ALLOW_SPH_PROJECTION
68    
69     C >>> Use NSCAT data.
70     # undef ALLOW_SCAT_COST_CONTRIBUTION
71    
72     C >>> Cost function contributions
73     # undef ALLOW_HFLUX_COST_CONTRIBUTION
74     # undef ALLOW_SFLUX_COST_CONTRIBUTION
75     # undef ALLOW_USTRESS_COST_CONTRIBUTION
76     # undef ALLOW_VSTRESS_COST_CONTRIBUTION
77     # undef ALLOW_MEAN_HFLUX_COST_CONTRIBUTION
78     # undef ALLOW_MEAN_SFLUX_COST_CONTRIBUTION
79     # undef ALLOW_STRESS_MEAN_COST_CONTRIBUTION
80    
81     # define ALLOW_ATEMP_COST_CONTRIBUTION
82     # define ALLOW_AQH_COST_CONTRIBUTION
83     # define ALLOW_UWIND_COST_CONTRIBUTION
84     # define ALLOW_VWIND_COST_CONTRIBUTION
85     # define ALLOW_PRECIP_COST_CONTRIBUTION
86     # define ALLOW_SWFLUX_COST_CONTRIBUTION
87    
88     # undef GENERIC_BAR_MONTH
89     # define ALLOW_THETA_COST_CONTRIBUTION
90     # define ALLOW_SALT_COST_CONTRIBUTION
91     # define ALLOW_THETA0_COST_CONTRIBUTION
92     # define ALLOW_SALT0_COST_CONTRIBUTION
93 heimbach 1.2 # define ALLOW_SST_COST_CONTRIBUTION
94     # define ALLOW_SSS_COST_CONTRIBUTION
95 heimbach 1.1 cph# define ALLOW_TMI_SST_COST_CONTRIBUTION
96    
97     # undef ALLOW_SSH_MEAN_COST_CONTRIBUTION
98     # undef ALLOW_SSH_TPANOM_COST_CONTRIBUTION
99     # undef ALLOW_SSH_ERSANOM_COST_CONTRIBUTION
100     # undef ALLOW_SSH_GFOANOM_COST_CONTRIBUTION
101     # if (defined (ALLOW_SSH_MEAN_COST_CONTRIBUTION) || \
102     defined (ALLOW_SSH_TPANOM_COST_CONTRIBUTION) || \
103     defined (ALLOW_SSH_ERSANOM_COST_CONTRIBUTION))
104     # define ALLOW_SSH_COST_CONTRIBUTION
105     # endif
106    
107     # undef ALLOW_XBT_COST_CONTRIBUTION
108     # undef ALLOW_CTDT_COST_CONTRIBUTION
109     # undef ALLOW_CTDS_COST_CONTRIBUTION
110     # undef ALLOW_DRIFTER_COST_CONTRIBUTION
111     # undef ALLOW_DRIFT_COST_CONTRIBUTION
112     # undef ALLOW_DRIFTW_COST_CONTRIBUTION
113     C
114     # undef ALLOW_ARGO_THETA_COST_CONTRIBUTION
115     # undef ALLOW_ARGO_SALT_COST_CONTRIBUTION
116     C
117     c >>> Open boundaries
118     c >>> Make sure that ALLOW_OBCS is defined!
119     # undef ALLOW_OBCSN_COST_CONTRIBUTION
120     # undef ALLOW_OBCSS_COST_CONTRIBUTION
121     # undef ALLOW_OBCSW_COST_CONTRIBUTION
122     # undef ALLOW_OBCSE_COST_CONTRIBUTION
123     # if (defined (ALLOW_OBCSN_COST_CONTRIBUTION) || \
124     defined (ALLOW_OBCSS_COST_CONTRIBUTION) || \
125     defined (ALLOW_OBCSW_COST_CONTRIBUTION) || \
126     defined (ALLOW_OBCSE_COST_CONTRIBUTION))
127     # define ALLOW_OBCS_COST_CONTRIBUTION
128     # endif
129    
130     # define ALLOW_SEAICE_COST_SMR_AREA
131     c
132     #endif /* ALLOW_COST */
133    
134    
135     C ********************************************************************
136     C *** Control vector Package ***
137     C ********************************************************************
138     C
139     #undef CTRL_SET_OLD_MAXCVARS_30
140     #define CTRL_SET_PREC_32
141     #define ALLOW_NONDIMENSIONAL_CONTROL_IO
142    
143     C >>> Initial values.
144     #define ALLOW_THETA0_CONTROL
145     #define ALLOW_SALT0_CONTROL
146    
147     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 and radiation.
154     #define ALLOW_ATEMP_CONTROL
155     #define ALLOW_AQH_CONTROL
156     #define ALLOW_UWIND_CONTROL
157     #define ALLOW_VWIND_CONTROL
158     #define ALLOW_PRECIP_CONTROL
159     #define ALLOW_SWFLUX_CONTROL
160    
161     C >>> Open boundaries
162     c >>> Make sure that ALLOW_OBCS is defined
163     #undef ALLOW_OBCSN_CONTROL
164     #undef ALLOW_OBCSS_CONTROL
165     #undef ALLOW_OBCSW_CONTROL
166     #undef ALLOW_OBCSE_CONTROL
167     #if (defined (ALLOW_OBCSN_CONTROL) || \
168     defined (ALLOW_OBCSS_CONTROL) || \
169     defined (ALLOW_OBCSW_CONTROL) || \
170     defined (ALLOW_OBCSE_CONTROL))
171     # define ALLOW_OBCS_CONTROL
172     #endif
173    
174     C ********************************************************************
175     C *** External forcing Package ***
176     C ********************************************************************
177     C
178     C o Include/exclude the external forcing package. To use this package,
179     C you have to include the calendar tool as well. KPP can be switched
180     C on or off. The implementation automatically takes care of this.
181     #define INCLUDE_EXTERNAL_FORCING_PACKAGE
182    
183     C Do more printout for the protocol file than usual.
184     #undef EXF_VERBOSE
185    
186     C Bulk formulae related flags.
187     #define ALLOW_RUNOFF
188     #define ALLOW_DOWNWARD_RADIATION
189     #define ALLOW_ATM_TEMP
190     #define ALLOW_ATM_WIND
191     #if (defined (ALLOW_ATM_TEMP) || \
192     defined (ALLOW_ATM_WIND))
193     # define ALLOW_BULKFORMULAE
194     #endif
195    
196     C Relaxation to monthly climatologies.
197     #define ALLOW_CLIMSST_RELAXATION
198     #define ALLOW_CLIMSSS_RELAXATION

  ViewVC Help
Powered by ViewVC 1.1.22