/[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.1 - (show annotations) (download)
Fri Dec 15 18:11:58 2006 UTC (17 years, 5 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint58u_post, checkpoint58w_post, checkpoint58x_post, checkpoint58t_post, checkpoint59d, checkpoint59a, checkpoint59c, checkpoint59b, checkpoint59, checkpoint58y_post, checkpoint58v_post
File MIME type: text/plain
Initial check-in of lab_sea adjoint
(very similar to natl_box_adjoint/code_seaice)
* used C-grid and EVP solver
* used KPP, GM/Redi
* uses inAdExact=.TRUE.
* gradient checks fail for both ADM and TLM
  due to sensitive snow melt code in seaice_grwoth (look for "JZ")
  f.d. gradients actually seem more problematic than ADM, TLM gradients;
  issue is related to forward mismatch between g77 an ifort

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 #define 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 extend to 4-level checkpointing
42 #undef AUTODIFF_4_LEVEL_CHECKPOINT
43 C
44 C >>> Extract adjoint state
45 #define ALLOW_AUTODIFF_MONITOR
46 C
47 C o use divided adjoint to split adjoint computations
48 #undef ALLOW_DIVIDED_ADJOINT
49
50 C ********************************************************************
51 C *** Calendar Package ***
52 C ********************************************************************
53 C
54 C CPP flags controlling which code is included in the files that
55 C will be compiled.
56
57 CPH >>>>>> THERE ARE NO MORE CAL OPTIONS TO BE SET <<<<<<
58
59 C ********************************************************************
60 C *** Cost function Package ***
61 C ********************************************************************
62 C
63 #define ALLOW_COST
64 #ifdef ALLOW_COST
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_THETA_COST_CONTRIBUTION
90 # define ALLOW_SALT_COST_CONTRIBUTION
91 # define ALLOW_SST_COST_CONTRIBUTION
92 # undef ALLOW_SSS_COST_CONTRIBUTION
93
94 # define ALLOW_SSH_MEAN_COST_CONTRIBUTION
95 # define ALLOW_SSH_TPANOM_COST_CONTRIBUTION
96 # define ALLOW_SSH_ERSANOM_COST_CONTRIBUTION
97 # undef ALLOW_SPH_PROJECTION
98 # if (defined (ALLOW_SSH_MEAN_COST_CONTRIBUTION) || \
99 defined (ALLOW_SSH_TPANOM_COST_CONTRIBUTION) || \
100 defined (ALLOW_SSH_ERSANOM_COST_CONTRIBUTION))
101 # define ALLOW_SSH_COST_CONTRIBUTION
102 # endif
103
104 # undef ALLOW_CTDT_COST_CONTRIBUTION
105 # undef ALLOW_CTDS_COST_CONTRIBUTION
106 # undef ALLOW_XBT_COST_CONTRIBUTION
107 # undef ALLOW_COST_ATLANTIC
108
109 c >>> Open boundaries
110 c >>> Make sure that ALLOW_OBCS is defined
111 # undef ALLOW_OBCSN_COST_CONTRIBUTION
112 # undef ALLOW_OBCSS_COST_CONTRIBUTION
113 # undef ALLOW_OBCSW_COST_CONTRIBUTION
114 # undef ALLOW_OBCSE_COST_CONTRIBUTION
115 # if (defined (ALLOW_OBCSN_COST_CONTRIBUTION) || \
116 defined (ALLOW_OBCSS_COST_CONTRIBUTION) || \
117 defined (ALLOW_OBCSW_COST_CONTRIBUTION) || \
118 defined (ALLOW_OBCSE_COST_CONTRIBUTION))
119 # define ALLOW_OBCS_COST_CONTRIBUTION
120 # endif
121
122 c >>> Sea-ice volume
123 # define ALLOW_COST_ICE
124
125 c >>> Sea-ice misfit to obs
126 # define ALLOW_SEAICE_COST_SMR_AREA
127
128 #endif /* ALLOW_COST */
129
130 C ********************************************************************
131 C *** Control vector Package ***
132 C ********************************************************************
133 C
134 #define ALLOW_NONDIMENSIONAL_CONTROL_IO
135
136 C >>> Initial values.
137 #define ALLOW_THETA0_CONTROL
138 #define ALLOW_SALT0_CONTROL
139
140 C >>> Surface fluxes.
141 #undef ALLOW_HFLUX_CONTROL
142 #undef ALLOW_SFLUX_CONTROL
143 #undef ALLOW_USTRESS_CONTROL
144 #undef ALLOW_VSTRESS_CONTROL
145
146 C >>> Atmospheric state.
147 #define ALLOW_ATEMP_CONTROL
148 #define ALLOW_AQH_CONTROL
149 #define ALLOW_PRECIP_CONTROL
150 #define ALLOW_SNOWPRECIP_CONTROL
151 #define ALLOW_SWDOWN_CONTROL
152 #define ALLOW_LWDOWN_CONTROL
153 #define ALLOW_UWIND_CONTROL
154 #define ALLOW_VWIND_CONTROL
155 #undef ALLOW_EVAP_CONTROL
156 #define ALLOW_APRESSURE_CONTROL
157 #undef ALLOW_RUNOFF_CONTROL
158
159 C >>> Radiation
160 #undef ALLOW_SWFLUX_CONTROL
161 #undef ALLOW_LWFLUX_CONTROL
162
163 C >>> Open boundaries
164 c >>> Make sure that ALLOW_OBCS is defined
165 #undef ALLOW_OBCSN_CONTROL
166 #undef ALLOW_OBCSS_CONTROL
167 #undef ALLOW_OBCSW_CONTROL
168 #undef ALLOW_OBCSE_CONTROL
169 #if (defined (ALLOW_OBCSN_CONTROL) || \
170 defined (ALLOW_OBCSS_CONTROL) || \
171 defined (ALLOW_OBCSW_CONTROL) || \
172 defined (ALLOW_OBCSE_CONTROL))
173 # define ALLOW_OBCS_CONTROL
174 #endif
175
176 C ********************************************************************
177 C *** External forcing Package ***
178 C ********************************************************************
179 C
180 C o Include/exclude the external forcing package. To use this package,
181 C you have to include the calendar tool as well. KPP can be switched
182 C on or off. The implementation automatically takes care of this.
183 #define INCLUDE_EXTERNAL_FORCING_PACKAGE
184
185 C Do more printout for the protocol file than usual.
186 #undef EXF_VERBOSE
187
188 C Bulk formulae related flags.
189 #define ALLOW_ATM_TEMP
190 #define ALLOW_ATM_WIND
191 #define ALLOW_BULKFORMULAE
192 #define ALLOW_DOWNWARD_RADIATION
193 #define ALLOW_RUNOFF
194 #undef EXF_READ_EVAP
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