/[MITgcm]/MITgcm_contrib/verification_other/global_oce_cs32/code/ECCO_CPPOPTIONS.h
ViewVC logotype

Annotation of /MITgcm_contrib/verification_other/global_oce_cs32/code/ECCO_CPPOPTIONS.h

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


Revision 1.2 - (hide annotations) (download)
Tue Oct 2 13:43:14 2012 UTC (14 years, 1 month ago) by gforget
Branch: MAIN
Changes since 1.1: +43 -5 lines
File MIME type: text/plain
- ecco_cost.h : removed
  (no more needed after recent revision)
- ECCO_CPPOPTIONS.h : add full list of ecco cost terms
  (it is possible since MITgcm rev to omit ecco obs files, so)
  (the newly compiled cost terms remain switched off at run time)

1 gforget 1.2 C $Header: /u/gcmpack/MITgcm_contrib/gael/verification/global_oce_cs32/code/ECCO_CPPOPTIONS.h,v 1.1 2012/08/24 16:27:28 gforget Exp $
2 gforget 1.1 C $Name: $
3    
4     #ifndef ECCO_CPPOPTIONS_H
5     #define ECCO_CPPOPTIONS_H
6     #include "AD_CONFIG.h"
7     #include "PACKAGES_CONFIG.h"
8     #include "CPP_OPTIONS.h"
9    
10     #ifdef ALLOW_ECCO
11    
12     C CPP flags controlling which code is included in the files that
13     C will be compiled.
14     C
15     C ********************************************************************
16     C *** ECCO Package ***
17     C ********************************************************************
18     C
19     C >>> Do a long protocol.
20     #undef ECCO_VERBOSE
21     C >>> use model/src/forward_step.F
22     #define ALLOW_ECCO_EVOLUTION
23    
24     C ********************************************************************
25     C *** Adjoint Support Package ***
26     C ********************************************************************
27    
28     #define ALLOW_AUTODIFF_TAMC
29     C
30     C >>> Checkpointing as handled by TAMC
31     #define ALLOW_TAMC_CHECKPOINTING
32     # undef AUTODIFF_2_LEVEL_CHECKPOINT
33     C
34     C >>> Extract adjoint state
35     #define ALLOW_AUTODIFF_MONITOR
36     C
37     C o use divided adjoint to split adjoint computations
38     #undef ALLOW_DIVIDED_ADJOINT
39     #undef ALLOW_DIVIDED_ADJOINT_MPI
40    
41     #define ALLOW_AUTODIFF_WHTAPEIO
42     #define ALLOW_PACKUNPACK_METHOD2
43     #define AUTODIFF_USE_OLDSTORE_2D
44     #define AUTODIFF_USE_OLDSTORE_3D
45     #define EXCLUDE_WHIO_GLOBUFF_2D
46     #define ALLOW_INIT_WHTAPEIO
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    
65     C >>> Cost function contributions
66     #define ALLOW_ECCO_OLD_FC_PRINT
67    
68     C >>> Initial values.
69     #define ALLOW_THETA0_COST_CONTRIBUTION
70     #define ALLOW_SALT0_COST_CONTRIBUTION
71     c so that the uncertainty fieldss are read in regardless:
72     #define ALLOW_WTHETALEV
73     #define ALLOW_WSALTLEV
74    
75     C >>> Surface fluxes.
76     # undef ALLOW_HFLUX_COST_CONTRIBUTION
77     # undef ALLOW_SFLUX_COST_CONTRIBUTION
78 gforget 1.2 #define ALLOW_USTRESS_COST_CONTRIBUTION
79     #define ALLOW_VSTRESS_COST_CONTRIBUTION
80 gforget 1.1
81     C >>> Atmospheric state and radiation.
82     #define ALLOW_ATEMP_COST_CONTRIBUTION
83     #define ALLOW_AQH_COST_CONTRIBUTION
84     #define ALLOW_UWIND_COST_CONTRIBUTION
85     #define ALLOW_VWIND_COST_CONTRIBUTION
86     #define ALLOW_PRECIP_COST_CONTRIBUTION
87     # undef ALLOW_SWFLUX_COST_CONTRIBUTION
88     #define ALLOW_SWDOWN_COST_CONTRIBUTION
89     # undef ALLOW_LWFLUX_COST_CONTRIBUTION
90     #define ALLOW_LWDOWN_COST_CONTRIBUTION
91    
92     C >>> Ocean Parameters.
93     # undef ALLOW_EDDYPSI_COST_CONTRIBUTION
94     #define ALLOW_DIFFKR_COST_CONTRIBUTION
95     #define ALLOW_KAPGM_COST_CONTRIBUTION
96     # undef ALLOW_BOTTOMDRAG_COST_CONTRIBUTION
97     #define ALLOW_KAPREDI_COST_CONTRIBUTION
98    
99     C >>> Ocean Hydro. Atlas.
100     # undef GENERIC_BAR_MONTH
101     #define ALLOW_THETA_COST_CONTRIBUTION
102     #define ALLOW_SALT_COST_CONTRIBUTION
103    
104     C >>> ALLOW_GENCOST_CONTRIBUTION: interactive way to add basic 2D cost function terms.
105     C > In data.ecco, this requires the specification of data file (name, frequency,
106     C etc.), bar file name for corresp. model average, standard error file name, etc.
107     C > In addition, adding such cost terms requires editing ecco_cost.h to increase
108     C NGENCOST, and editing cost_gencost_customize.F to implement the actual
109     C model average (i.e. the bar file content).
110     #define ALLOW_GENCOST_CONTRIBUTION
111     C >>> free form version of GENCOST: allows one to use otherwise defined elements (e.g.
112     C psbar and and topex data) while taking advantage of the cost function/namelist slots
113     C that can be made available using ALLOW_GENCOST_CONTRIBUTION. To this end
114     C ALLOW_GENCOST_CONTRIBUTION simply switches off tests that check whether all of the
115     C gencost elements (e.g. gencost_barfile and gencost_datafile) are specified in data.ecco.
116     C > While this option increases flexibility within the gencost framework, it implies more room
117     C for error, so it should be used cautiously, and with good knowledge of the rest of pkg/ecco.
118     C > It requires providing a specific cost function routine, and editing cost_gencost_all.F accordingly.
119     #define ALLOW_GENCOST_FREEFORM
120    
121     #define COST_GENERIC_ASSUME_CYCLIC
122    
123 gforget 1.2 #define ALLOW_GENCOST_SSHV4
124     #define ALLOW_GENCOST_SSHV4_OUTPUT
125     # undef ALLOW_PSBAR_MEAN
126     #define ALLOW_GENCOST_SSTV4
127     #define ALLOW_GENCOST_SSTV4_OUTPUT
128    
129     #define ALLOW_GENCOST_SEAICE
130    
131 gforget 1.1 C >>> User Cost Function Terms.
132     #define ALLOW_USERCOST_CONTRIBUTION
133     # undef ALLOW_USERCOST_TSUV_CONTRIBUTION
134     # undef ALLOW_USERCOST_TSdrift_CONTRIBUTION
135    
136     C >>> In-Situ Profiles.
137     #define ALLOW_PROFILES_CONTRIBUTION
138    
139 gforget 1.2 C >>> GRACE Bottom Pressure.
140     #define ALLOW_BP_COST_CONTRIBUTION
141     #define ALLOW_BP_COST_OUTPUT
142    
143     C >>> Surface Observations.
144     # undef ALLOW_DRIFTER_COST_CONTRIBUTION
145     #define ALLOW_SST_COST_CONTRIBUTION
146     #define ALLOW_TMI_SST_COST_CONTRIBUTION
147     #define ALLOW_DAILYSST_COST_CONTRIBUTION
148     # undef ALLOW_SSS_COST_CONTRIBUTION
149     # undef ALLOW_SEAICE_COST_SMR_AREA
150     #define ALLOW_DAILYSCAT_COST_CONTRIBUTION
151    
152     C >>> Sea Surface Height Observation/Estimates.
153     #define ALLOW_EGM96_ERROR_DIAG
154     #define ALLOW_SSH_MEAN_COST_CONTRIBUTION
155     #define ALLOW_SSH_TPANOM_COST_CONTRIBUTION
156     #define ALLOW_SSH_ERSANOM_COST_CONTRIBUTION
157     #define ALLOW_SSH_GFOANOM_COST_CONTRIBUTION
158     # if (defined (ALLOW_SSH_MEAN_COST_CONTRIBUTION) || \
159     defined (ALLOW_SSH_TPANOM_COST_CONTRIBUTION) || \
160     defined (ALLOW_SSH_ERSANOM_COST_CONTRIBUTION))
161     # define ALLOW_SSH_COST_CONTRIBUTION
162     # endif
163     # undef ALLOW_NEW_SSH_COST
164     #define ALLOW_SSH_TOT
165     # ifndef ALLOW_EGM96_ERROR_DIAG
166     # undef ALLOW_SSH_TOT
167     # endif
168    
169 gforget 1.1 c
170     #endif /* ALLOW_COST */
171    
172    
173     C ********************************************************************
174     C *** Control vector Package ***
175     C ********************************************************************
176     C
177     # undef CTRL_SET_OLD_MAXCVARS_30
178     #define CTRL_SET_PREC_32
179     #define ALLOW_NONDIMENSIONAL_CONTROL_IO
180     # undef CTRL_UNPACK_PRECISE
181     # undef CTRL_PACK_PRECISE
182    
183     C >>> Spatial Correlation Operator.
184     #define ALLOW_SMOOTH_CORREL3D
185     #define ALLOW_SMOOTH3D
186     #define ALLOW_SMOOTH_CORREL2D
187     #define ALLOW_SMOOTH2D
188     #define ALLOW_ADCTRLBOUND
189    
190     C >>> Initial values.
191     #define ALLOW_THETA0_CONTROL
192     #define ALLOW_SALT0_CONTROL
193    
194     C >>> Surface fluxes.
195     # undef ALLOW_HFLUX_CONTROL
196     # undef ALLOW_SFLUX_CONTROL
197 gforget 1.2 #define ALLOW_USTRESS_CONTROL
198     #define ALLOW_VSTRESS_CONTROL
199 gforget 1.1
200     C >>> Atmospheric state and radiation.
201     #define ALLOW_ATEMP_CONTROL
202     #define ALLOW_AQH_CONTROL
203     #define ALLOW_UWIND_CONTROL
204     #define ALLOW_VWIND_CONTROL
205     #define ALLOW_PRECIP_CONTROL
206     # undef ALLOW_SWFLUX_CONTROL
207     #define ALLOW_SWDOWN_CONTROL
208     # undef ALLOW_LWFLUX_CONTROL
209     #define ALLOW_LWDOWN_CONTROL
210    
211     C >>> Ocean Parameters.
212     # undef ALLOW_EDDYPSI_CONTROL
213     #define ALLOW_DIFFKR_CONTROL
214     #define ALLOW_KAPGM_CONTROL
215     # undef ALLOW_BOTTOMDRAG_CONTROL
216     #define ALLOW_KAPREDI_CONTROL
217    
218     C >>> rotation of xx for wind
219     #define ALLOW_ROTATE_UV_CONTROLS
220    
221    
222    
223     C Specific relaxation strategy
224     # undef ALLOW_RBCS_SPIN
225    
226     #endif /* ALLOW_ECCO */
227     #endif /* ECCO_CPPOPTIONS_H */
228    

  ViewVC Help
Powered by ViewVC 1.1.22