/[MITgcm]/MITgcm_contrib/ecco_utils/ecco_v4_release4_devel/code/ecco.h
ViewVC logotype

Annotation of /MITgcm_contrib/ecco_utils/ecco_v4_release4_devel/code/ecco.h

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


Revision 1.1 - (hide annotations) (download)
Mon Sep 30 20:28:05 2019 UTC (5 years, 9 months ago) by ou.wang
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
Create v4r3 repository

1 ou.wang 1.1 C $Header: /u/gcmpack/MITgcm/pkg/ecco/ecco.h,v 1.25 2017/04/03 23:16:38 ou.wang 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     & ,using_cost_transp
104     logical using_mdt
105     logical using_tpj
106     logical using_topex
107     logical using_ers
108     logical using_gfo
109     logical using_cost_altim
110     logical using_cost_bp
111     logical using_cost_sst
112     logical using_cost_scat
113     logical using_cost_seaice
114     logical using_cost_transp
115    
116     c Record counters relevant for the cost function evaluation.
117     c ==========================================================
118     c
119     c nyearsrec - number of yearly records that will be generated by
120     c the current model integration.
121     c nmonsrec - number of monthly records that will be generated by
122     c the current model integration.
123     c ndaysrec - number of daily records that will be generated by
124     c the current model integration.
125    
126     common /ecco_i/
127     & nyearsrec,
128     & nmonsrec,
129     & ndaysrec
130     integer nyearsrec
131     integer nmonsrec
132     integer ndaysrec
133    
134     common /ecco_r/
135     & m_eta,m_UE,m_VN,
136     & m_bp,
137     #ifdef ALLOW_PSBAR_STERIC
138     & sterGloH,
139     #endif
140     #ifdef ATMOSPHERIC_LOADING
141     #ifdef ALLOW_IB_CORR
142     & ploadbar,
143     & AREAsumGlob, PLOADsumGlob,
144     & m_bp_nopabar,
145     & m_eta_dyn, m_eta_ib,
146     #endif
147     #endif
148     & msktrVolW,msktrVolS,
149     & trVol, trHeat, trSalt,
150     & VOLsumGlob_0, VOLsumGlob,
151     & RHOsumGlob_0, RHOsumGlob,
152     & frame, cosphi, eccoVol_0
153     _RL VOLsumGlob_0, VOLsumGlob, RHOsumGlob_0, RHOsumGlob
154     _RL frame (1-olx:snx+olx,1-oly:sny+oly )
155     _RL cosphi (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
156     _RL m_eta(1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
157     _RL m_bp(1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
158     #ifdef ALLOW_PSBAR_STERIC
159     _RL sterGloH
160     #endif
161     #ifdef ATMOSPHERIC_LOADING
162     #ifdef ALLOW_IB_CORR
163     _RL ploadbar, AREAsumGlob, PLOADsumGlob
164     _RL m_bp_nopabar(1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
165     _RL m_eta_dyn(1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
166     _RL m_eta_ib(1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
167     #endif
168     #endif
169    
170     _RL m_UE (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
171     _RL m_VN (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
172     _RL msktrVolW (1-OLx:sNx+OLx,1-OLy:sNy+OLy, nSx,nSy)
173     _RL msktrVolS (1-OLx:sNx+OLx,1-OLy:sNy+OLy, nSx,nSy)
174     _RL trVol(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
175     _RL trHeat(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
176     _RL trSalt(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
177     _RL eccoVol_0(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
178    
179     c file precision and field type
180     common /prec_type_cost/
181     & cost_iprec,
182     & cost_yftype
183    
184     integer cost_iprec
185     character*(2) cost_yftype
186    
187     c Number of User Cost terms:
188     c =============================
189     INTEGER NUSERCOST
190     PARAMETER ( NUSERCOST=10 )
191    
192     c Number of Generic Cost terms:
193     c =============================
194     INTEGER NGENCOST
195     PARAMETER ( NGENCOST=40 )
196    
197     INTEGER NGENCOST3D
198     #ifdef ALLOW_GENCOST3D
199     PARAMETER ( NGENCOST3D=6 )
200     #else
201     PARAMETER ( NGENCOST3D=0 )
202     #endif
203    
204     INTEGER NGENPPROC
205     PARAMETER ( NGENPPROC=10 )
206    
207     INTEGER N1DDATA
208     PARAMETER ( N1DDATA=500 )
209    
210     c empty pre/post-processing :
211     c =========================
212     common /ecco_nogencost_c/
213     & no_preproc,
214     & no_preproc_c,
215     & no_posproc,
216     & no_posproc_c,
217     & clim_preproc,
218     & anom_preproc
219     character*(MAX_LEN_FNAM) no_preproc(NGENPPROC)
220     character*(MAX_LEN_FNAM) no_preproc_c(NGENPPROC)
221     character*(MAX_LEN_FNAM) no_posproc(NGENPPROC)
222     character*(MAX_LEN_FNAM) no_posproc_c(NGENPPROC)
223     character*(MAX_LEN_FNAM) clim_preproc(NGENPPROC)
224     character*(MAX_LEN_FNAM) anom_preproc(NGENPPROC)
225    
226     common /ecco_nogencost_r/
227     & no_preproc_r, no_posproc_r
228     _RL no_preproc_r(NGENPPROC)
229     _RL no_posproc_r(NGENPPROC)
230    
231     common /ecco_nogencost_i/
232     & no_preproc_i, no_posproc_i, clim_preproc_i
233     integer no_preproc_i(NGENPPROC)
234     integer no_posproc_i(NGENPPROC)
235     integer clim_preproc_i(NGENPPROC)
236    
237     c gencost common blocs:
238     c =====================
239    
240     #ifdef ALLOW_GENCOST_CONTRIBUTION
241     c objf_gencost - gencost user defined contribution
242     common /ecco_gencost_ctrl/
243     & gencost_dummy
244     _RL gencost_dummy(NGENCOST)
245    
246     common /ecco_gencost_r_1/
247     & objf_gencost, num_gencost, mult_gencost, gencost_storefld,
248     & gencost_barfld, gencost_modfld, gencost_weight,
249     & gencost_mskCsurf, gencost_mskWsurf, gencost_mskSsurf,
250     & gencost_mskVertical,
251     #ifdef ALLOW_GENCOST3D
252     & gencost_bar3d, gencost_mod3d, gencost_wei3d,
253     & gencost_mskC, gencost_mskW, gencost_mskS,
254     #endif
255     & gencost_spmin, gencost_spmax, gencost_spzero,
256     & gencost_period, gencost_preproc_r, gencost_posproc_r,
257     & gencost_wei1d, gencost_1ddata
258    
259     _RL objf_gencost(nsx,nsy,NGENCOST)
260     _RL num_gencost(nsx,nsy,NGENCOST)
261     _RL mult_gencost(NGENCOST)
262     _RL gencost_spmin(NGENCOST)
263     _RL gencost_spmax(NGENCOST)
264     _RL gencost_spzero(NGENCOST)
265     _RL gencost_period(NGENCOST)
266     _RL gencost_storefld(1-olx:snx+olx,1-oly:sny+oly,
267     & nsx,nsy,NGENCOST)
268     _RL gencost_barfld(1-olx:snx+olx,1-oly:sny+oly,
269     & nsx,nsy,NGENCOST)
270     _RL gencost_modfld(1-olx:snx+olx,1-oly:sny+oly,
271     & nsx,nsy,NGENCOST)
272     _RL gencost_weight(1-olx:snx+olx,1-oly:sny+oly,
273     & nsx,nsy,NGENCOST)
274     _RL gencost_mskCsurf(1-olx:snx+olx,1-oly:sny+oly,
275     & nsx,nsy,NGENCOST)
276     _RL gencost_mskWsurf(1-olx:snx+olx,1-oly:sny+oly,
277     & nsx,nsy,NGENCOST)
278     _RL gencost_mskSsurf(1-olx:snx+olx,1-oly:sny+oly,
279     & nsx,nsy,NGENCOST)
280     _RL gencost_mskVertical(nr,NGENCOST)
281     #ifdef ALLOW_GENCOST3D
282     _RL gencost_bar3d(1-olx:snx+olx,1-oly:sny+oly,
283     & nr,nsx,nsy,NGENCOST3D)
284     _RL gencost_mod3d(1-olx:snx+olx,1-oly:sny+oly,
285     & nr,nsx,nsy,NGENCOST3D)
286     _RL gencost_wei3d(1-olx:snx+olx,1-oly:sny+oly,
287     & nr,nsx,nsy,NGENCOST3D)
288     _RL gencost_mskC(1-olx:snx+olx,1-oly:sny+oly,
289     & nr,nsx,nsy,NGENCOST3D)
290     _RL gencost_mskW(1-olx:snx+olx,1-oly:sny+oly,
291     & nr,nsx,nsy,NGENCOST3D)
292     _RL gencost_mskS(1-olx:snx+olx,1-oly:sny+oly,
293     & nr,nsx,nsy,NGENCOST3D)
294     #endif
295     _RL gencost_preproc_r(NGENPPROC,NGENCOST)
296     _RL gencost_posproc_r(NGENPPROC,NGENCOST)
297     _RL gencost_wei1d(NGENCOST)
298     _RL gencost_1ddata(N1DDATA, NGENCOST)
299    
300     common /ecco_gencost_i_1/
301     & gencost_nrec, gencost_nrecperiod,
302     & gencost_flag, gencost_outputlevel,
303     & gencost_startdate1, gencost_startdate2,
304     & gencost_enddate1, gencost_enddate2,
305     & gencost_startdate, gencost_enddate,
306     & gencost_pointer3d, gencost_smooth2Ddiffnbt,
307     & gencost_preproc_i, gencost_posproc_i,
308     & gencost_msk_pointer3d, gencost_itracer
309    
310     integer gencost_nrec(NGENCOST)
311     integer gencost_nrecperiod(NGENCOST)
312     integer gencost_flag(NGENCOST)
313     integer gencost_outputlevel(NGENCOST)
314     integer gencost_startdate1(NGENCOST)
315     integer gencost_startdate2(NGENCOST)
316     integer gencost_startdate(4,NGENCOST)
317     integer gencost_enddate1(NGENCOST)
318     integer gencost_enddate2(NGENCOST)
319     integer gencost_enddate(4,NGENCOST)
320     integer gencost_pointer3d(NGENCOST)
321     integer gencost_smooth2Ddiffnbt(NGENCOST)
322     integer gencost_preproc_i(NGENPPROC,NGENCOST)
323     integer gencost_posproc_i(NGENPPROC,NGENCOST)
324     integer gencost_msk_pointer3d(NGENCOST)
325     integer gencost_itracer(NGENCOST)
326    
327     common /ecco_gencost_l_1/
328     & gencost_timevaryweight, gencost_barskip,
329     & using_gencost, gencost_is3d, gencost_msk_is3d,
330     & gencost_is1d
331     LOGICAL using_gencost(NGENCOST)
332     LOGICAL gencost_is3d(NGENCOST)
333     LOGICAL gencost_is1d(NGENCOST)
334     LOGICAL gencost_msk_is3d(NGENCOST)
335     LOGICAL gencost_timevaryweight(NGENCOST)
336     LOGICAL gencost_barskip(NGENCOST)
337    
338     common /ecco_gencost_c/
339     & gencost_name,
340     & gencost_scalefile,
341     & gencost_errfile,
342     & gencost_datafile,
343     & gencost_barfile,
344     & gencost_avgperiod,
345     & gencost_preproc,
346     & gencost_preproc_c,
347     & gencost_posproc,
348     & gencost_posproc_c,
349     & gencost_mask
350     character*(MAX_LEN_FNAM) gencost_name(NGENCOST)
351     character*(MAX_LEN_FNAM) gencost_scalefile(NGENCOST)
352     character*(MAX_LEN_FNAM) gencost_errfile(NGENCOST)
353     character*(MAX_LEN_FNAM) gencost_datafile(NGENCOST)
354     character*(MAX_LEN_FNAM) gencost_barfile(NGENCOST)
355     character*(5) gencost_avgperiod(NGENCOST)
356     character*(MAX_LEN_FNAM) gencost_preproc(NGENPPROC,NGENCOST)
357     character*(MAX_LEN_FNAM) gencost_posproc_c(NGENPPROC,NGENCOST)
358     character*(MAX_LEN_FNAM) gencost_posproc(NGENPPROC,NGENCOST)
359     character*(MAX_LEN_FNAM) gencost_preproc_c(NGENPPROC,NGENCOST)
360     character*(MAX_LEN_FNAM) gencost_mask(NGENCOST)
361    
362     #endif /* ALLOW_GENCOST_CONTRIBUTION */
363    
364     c ==================================================================
365     c END OF HEADER ECCO
366     c ==================================================================
367    
368    

  ViewVC Help
Powered by ViewVC 1.1.22