/[MITgcm]/MITgcm/pkg/ecco/ecco.h
ViewVC logotype

Contents of /MITgcm/pkg/ecco/ecco.h

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


Revision 1.13 - (show annotations) (download)
Tue Nov 10 08:05:06 2015 UTC (8 years, 7 months ago) by atn
Branch: MAIN
Changes since 1.12: +33 -1 lines
File MIME type: text/plain
add ALLOW_GENCOST_TRANSPORT block

1 C $Header: /u/gcmpack/MITgcm/pkg/ecco/ecco.h,v 1.12 2015/10/26 14:10:18 gforget Exp $
2 C $Name: $
3
4 c ==================================================================
5 c HEADER ECCO
6 c ==================================================================
7 c
8 c o Header for the ECCO project.
9 c
10 c started: Christian Eckert eckert@mit.edu 23-Feb-1999
11 c
12 c changed: Christian Eckert eckert@mit.edu
13 c
14 c
15 c ==================================================================
16 c HEADER ECCO
17 c ==================================================================
18
19 c Version of the release and versions of used packages:
20 c =====================================================
21 c
22 c eccoVersion - ecco release version.
23 c usesCalendarVersion - version of the calendar that has to
24 c be used.
25 c usesExternalForcingVersion - version of the external forcing that
26 c has to be used.
27 c usesAdjointSupportVersion - version of the adjoint support routines
28 c that have to be used.
29 c usesOptimizationVersion - version of the oof-line optimization
30 c that has to be used.
31
32 character*(5) eccoVersion
33 character*(5) eccoUsesCalVersion
34 character*(5) eccoUsesExfVersion
35 character*(5) eccoUsesAdsuppVersion
36 character*(5) eccoUsesOptimVersion
37
38 parameter( eccoVersion = '0.1.0' )
39 parameter( eccoUsesCalVersion = '0.1.4' )
40 parameter( eccoUsesExfVersion = '0.1.1' )
41 parameter( eccoUsesAdsuppVersion = '0.1.0' )
42 parameter( eccoUsesOptimVersion = '2.1.0' )
43
44
45 c Experiment name:
46 c ================
47
48 common /ecco_c/
49 & expId
50 character*(10) expId
51
52
53 c Integration information:
54 c ========================
55 c
56 c nyears - number of calendar years that are affected by the
57 c current integration.
58
59 common /ecco_i/
60 & nyears, nmonths, ndays, numsteps,
61 & eccoiter, ecco_prevcall
62 integer nyears
63 integer nmonths
64 integer ndays
65 integer numsteps
66 integer eccoiter
67 integer ecco_prevcall
68
69 c Averaging counters:
70 c ===================
71 c
72 c sum1day - counter for the daily averaging
73 c sum1mon - counter for the monthly averaging
74 c dayrec - number of averaged surface pressure records.
75 c monrec - number of averaged theta and salinity records.
76
77 common /average_i/
78 & sum1day,sum1mon,sum1year,
79 & dayrec,monrec,yearrec
80 integer sum1day
81 integer sum1mon
82 integer sum1year
83 integer dayrec
84 integer monrec
85 integer yearrec
86
87 c Flags used in the model-data comparison:
88 c ========================================
89 c
90 c using_ers - flag that indicates the use of ERS data
91
92 common /ecco_cost_data_flags/
93 & using_mdt,
94 & using_tpj,
95 & using_topex,
96 & using_ers,
97 & using_gfo,
98 & using_cost_altim,
99 & using_cost_bp,
100 & using_cost_sst,
101 & using_cost_scat,
102 & using_cost_seaice
103 logical using_mdt
104 logical using_tpj
105 logical using_topex
106 logical using_ers
107 logical using_gfo
108 logical using_cost_altim
109 logical using_cost_bp
110 logical using_cost_sst
111 logical using_cost_scat
112 logical using_cost_seaice
113
114 c Record counters relevant for the cost function evaluation.
115 c ==========================================================
116 c
117 c nyearsrec - number of yearly records that will be generated by
118 c the current model integration.
119 c nmonsrec - number of monthly records that will be generated by
120 c the current model integration.
121 c ndaysrec - number of daily records that will be generated by
122 c the current model integration.
123
124 common /ecco_i/
125 & nyearsrec,
126 & nmonsrec,
127 & ndaysrec
128 integer nyearsrec
129 integer nmonsrec
130 integer ndaysrec
131
132 common /ecco_r/
133 & m_eta,m_UE,m_VN,
134 #ifdef ALLOW_GENCOST_TRANSPORT
135 & trVolW, trVolS,
136 & trHeatW, trHeatS,
137 & trSaltW, trSaltS,
138 #endif /* ALLOW_GENCOST_TRANSPORT */
139 & VOLsumGlob_0, VOLsumGlob,
140 & RHOsumGlob_0, RHOsumGlob,
141 & frame, cosphi
142 _RL VOLsumGlob_0, VOLsumGlob, RHOsumGlob_0, RHOsumGlob
143 _RL frame (1-olx:snx+olx,1-oly:sny+oly )
144 _RL cosphi (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
145 _RL m_eta(1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
146 _RL m_UE (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
147 _RL m_VN (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
148 #ifdef ALLOW_GENCOST_TRANSPORT
149 _RL trVolW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
150 _RL trVolS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
151 _RL trHeatW(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
152 _RL trHeatS(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
153 _RL trSaltW(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
154 _RL trSaltS(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
155 #endif /* ALLOW_GENCOST_TRANSPORT */
156
157 c file precision and field type
158 common /prec_type_cost/
159 & cost_iprec,
160 & cost_yftype
161
162 integer cost_iprec
163 character*(2) cost_yftype
164
165 c Number of User Cost terms:
166 c =============================
167 INTEGER NUSERCOST
168 PARAMETER ( NUSERCOST=10 )
169
170 c Number of Generic Cost terms:
171 c =============================
172 INTEGER NGENCOST
173 PARAMETER ( NGENCOST=20 )
174
175 INTEGER NGENCOST3D
176 #ifdef ALLOW_GENCOST3D
177 PARAMETER ( NGENCOST3D=4 )
178 #else
179 PARAMETER ( NGENCOST3D=0 )
180 #endif
181
182 INTEGER NGENPPROC
183 PARAMETER ( NGENPPROC=10 )
184
185
186 c empty pre/post-processing :
187 c =========================
188 common /ecco_nogencost_c/
189 & no_preproc,
190 & no_preproc_c,
191 & no_posproc,
192 & no_posproc_c,
193 & clim_preproc,
194 & anom_preproc
195 character*(MAX_LEN_FNAM) no_preproc(NGENPPROC)
196 character*(MAX_LEN_FNAM) no_preproc_c(NGENPPROC)
197 character*(MAX_LEN_FNAM) no_posproc(NGENPPROC)
198 character*(MAX_LEN_FNAM) no_posproc_c(NGENPPROC)
199 character*(MAX_LEN_FNAM) clim_preproc(NGENPPROC)
200 character*(MAX_LEN_FNAM) anom_preproc(NGENPPROC)
201
202 common /ecco_nogencost_r/
203 & no_preproc_r, no_posproc_r
204 _RL no_preproc_r(NGENPPROC)
205 _RL no_posproc_r(NGENPPROC)
206
207 common /ecco_nogencost_i/
208 & no_preproc_i, no_posproc_i, clim_preproc_i
209 integer no_preproc_i(NGENPPROC)
210 integer no_posproc_i(NGENPPROC)
211 integer clim_preproc_i(NGENPPROC)
212
213 c gencost common blocs:
214 c =====================
215
216 #ifdef ALLOW_GENCOST_CONTRIBUTION
217 c objf_gencost - gencost user defined contribution
218 common /ecco_gencost_ctrl/
219 & gencost_dummy
220 _RL gencost_dummy(NGENCOST)
221
222 common /ecco_gencost_r_1/
223 & objf_gencost, num_gencost, mult_gencost,
224 & gencost_barfld, gencost_modfld, gencost_weight,
225 #ifdef ALLOW_GENCOST3D
226 & gencost_bar3d, gencost_mod3d, gencost_wei3d,
227 #ifdef ALLOW_GENCOST_TRANSPORT
228 & gencost_bar3dW,gencost_bar3dS,
229 & gencost_mod3dW,gencost_mod3dS,
230 & gencost_wei3dW,gencost_wei3dS,
231 #endif
232 #endif
233 & gencost_spmin, gencost_spmax, gencost_spzero,
234 & gencost_period, gencost_preproc_r, gencost_posproc_r
235
236 _RL objf_gencost(nsx,nsy,NGENCOST)
237 _RL num_gencost(nsx,nsy,NGENCOST)
238 _RL mult_gencost(NGENCOST)
239 _RL gencost_spmin(NGENCOST)
240 _RL gencost_spmax(NGENCOST)
241 _RL gencost_spzero(NGENCOST)
242 _RL gencost_period(NGENCOST)
243 _RL gencost_barfld(1-olx:snx+olx,1-oly:sny+oly,
244 & nsx,nsy,NGENCOST)
245 _RL gencost_modfld(1-olx:snx+olx,1-oly:sny+oly,
246 & nsx,nsy,NGENCOST)
247 _RL gencost_weight(1-olx:snx+olx,1-oly:sny+oly,
248 & nsx,nsy,NGENCOST)
249 #ifdef ALLOW_GENCOST3D
250 _RL gencost_bar3d(1-olx:snx+olx,1-oly:sny+oly,
251 & nr,nsx,nsy,NGENCOST3D)
252 _RL gencost_mod3d(1-olx:snx+olx,1-oly:sny+oly,
253 & nr,nsx,nsy,NGENCOST3D)
254 _RL gencost_wei3d(1-olx:snx+olx,1-oly:sny+oly,
255 & nr,nsx,nsy,NGENCOST3D)
256 #ifdef ALLOW_GENCOST_TRANSPORT
257 _RL gencost_bar3dW(1-olx:snx+olx,1-oly:sny+oly,
258 & nr,nsx,nsy)
259 _RL gencost_bar3dS(1-olx:snx+olx,1-oly:sny+oly,
260 & nr,nsx,nsy)
261 _RL gencost_mod3dW(1-olx:snx+olx,1-oly:sny+oly,
262 & nr,nsx,nsy)
263 _RL gencost_mod3dS(1-olx:snx+olx,1-oly:sny+oly,
264 & nr,nsx,nsy)
265 _RL gencost_wei3dW(1-olx:snx+olx,1-oly:sny+oly,
266 & nr,nsx,nsy)
267 _RL gencost_wei3dS(1-olx:snx+olx,1-oly:sny+oly,
268 & nr,nsx,nsy)
269 #endif /* ALLOW_GENCOST_TRANSPORT */
270 #endif
271 _RL gencost_preproc_r(NGENPPROC,NGENCOST)
272 _RL gencost_posproc_r(NGENPPROC,NGENCOST)
273
274 common /ecco_gencost_i_1/
275 & gencost_nrec, gencost_nrecperiod,
276 & gencost_flag, gencost_outputlevel,
277 & gencost_startdate1, gencost_startdate2,
278 & gencost_enddate1, gencost_enddate2,
279 & gencost_startdate, gencost_enddate,
280 & gencost_pointer3d, gencost_smooth2Ddiffnbt,
281 & gencost_preproc_i, gencost_posproc_i
282
283 integer gencost_nrec(NGENCOST)
284 integer gencost_nrecperiod(NGENCOST)
285 integer gencost_flag(NGENCOST)
286 integer gencost_outputlevel(NGENCOST)
287 integer gencost_startdate1(NGENCOST)
288 integer gencost_startdate2(NGENCOST)
289 integer gencost_startdate(4,NGENCOST)
290 integer gencost_enddate1(NGENCOST)
291 integer gencost_enddate2(NGENCOST)
292 integer gencost_enddate(4,NGENCOST)
293 integer gencost_pointer3d(NGENCOST)
294 integer gencost_smooth2Ddiffnbt(NGENCOST)
295 integer gencost_preproc_i(NGENPPROC,NGENCOST)
296 integer gencost_posproc_i(NGENPPROC,NGENCOST)
297
298 common /ecco_gencost_l_1/
299 & gencost_timevaryweight, gencost_barskip,
300 & using_gencost, gencost_is3d
301 LOGICAL using_gencost(NGENCOST)
302 LOGICAL gencost_is3d(NGENCOST)
303 LOGICAL gencost_timevaryweight(NGENCOST)
304 LOGICAL gencost_barskip(NGENCOST)
305
306 common /ecco_gencost_c/
307 & gencost_name,
308 & gencost_scalefile,
309 & gencost_errfile,
310 & gencost_datafile,
311 & gencost_barfile,
312 & gencost_avgperiod,
313 & gencost_preproc,
314 & gencost_preproc_c,
315 & gencost_posproc,
316 & gencost_posproc_c,
317 & gencost_mask
318 character*(MAX_LEN_FNAM) gencost_name(NGENCOST)
319 character*(MAX_LEN_FNAM) gencost_scalefile(NGENCOST)
320 character*(MAX_LEN_FNAM) gencost_errfile(NGENCOST)
321 character*(MAX_LEN_FNAM) gencost_datafile(NGENCOST)
322 character*(MAX_LEN_FNAM) gencost_barfile(NGENCOST)
323 character*(5) gencost_avgperiod(NGENCOST)
324 character*(MAX_LEN_FNAM) gencost_preproc(NGENPPROC,NGENCOST)
325 character*(MAX_LEN_FNAM) gencost_posproc_c(NGENPPROC,NGENCOST)
326 character*(MAX_LEN_FNAM) gencost_posproc(NGENPPROC,NGENCOST)
327 character*(MAX_LEN_FNAM) gencost_preproc_c(NGENPPROC,NGENCOST)
328 character*(1) gencost_mask(NGENCOST)
329
330 #endif /* ALLOW_GENCOST_CONTRIBUTION */
331
332 c ==================================================================
333 c END OF HEADER ECCO
334 c ==================================================================
335
336

  ViewVC Help
Powered by ViewVC 1.1.22