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

Annotation of /MITgcm/pkg/ecco/ecco.h

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


Revision 1.15 - (hide annotations) (download)
Wed Nov 11 21:43:45 2015 UTC (8 years, 7 months ago) by atn
Branch: MAIN
Changes since 1.14: +3 -3 lines
File MIME type: text/plain
change msktrVol[W,S] from 3D to 2D

1 atn 1.15 C $Header: /u/gcmpack/MITgcm/pkg/ecco/ecco.h,v 1.14 2015/11/10 13:58:14 atn Exp $
2 jmc 1.2 C $Name: $
3 heimbach 1.1
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 gforget 1.3 & eccoiter, ecco_prevcall
62 heimbach 1.1 integer nyears
63     integer nmonths
64     integer ndays
65     integer numsteps
66 gforget 1.3 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 heimbach 1.1
124 gforget 1.3 common /ecco_i/
125     & nyearsrec,
126     & nmonsrec,
127     & ndaysrec
128     integer nyearsrec
129     integer nmonsrec
130     integer ndaysrec
131    
132     common /ecco_r/
133 gforget 1.10 & m_eta,m_UE,m_VN,
134 atn 1.13 #ifdef ALLOW_GENCOST_TRANSPORT
135 atn 1.14 & msktrVolW,msktrVolS,
136     & trVol,
137     & trHeat,
138     & trSalt,
139 atn 1.13 #endif /* ALLOW_GENCOST_TRANSPORT */
140 gforget 1.8 & VOLsumGlob_0, VOLsumGlob,
141     & RHOsumGlob_0, RHOsumGlob,
142     & frame, cosphi
143 gforget 1.3 _RL VOLsumGlob_0, VOLsumGlob, RHOsumGlob_0, RHOsumGlob
144 gforget 1.8 _RL frame (1-olx:snx+olx,1-oly:sny+oly )
145     _RL cosphi (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
146 gforget 1.10 _RL m_eta(1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
147     _RL m_UE (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
148     _RL m_VN (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
149 atn 1.13 #ifdef ALLOW_GENCOST_TRANSPORT
150 atn 1.15 _RL msktrVolW (1-OLx:sNx+OLx,1-OLy:sNy+OLy, nSx,nSy)
151     _RL msktrVolS (1-OLx:sNx+OLx,1-OLy:sNy+OLy, nSx,nSy)
152 atn 1.14 _RL trVol(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
153     _RL trHeat(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
154     _RL trSalt(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
155 atn 1.13 #endif /* ALLOW_GENCOST_TRANSPORT */
156 gforget 1.3
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 gforget 1.4 INTEGER NGENCOST3D
176     #ifdef ALLOW_GENCOST3D
177 gforget 1.9 PARAMETER ( NGENCOST3D=4 )
178 gforget 1.4 #else
179     PARAMETER ( NGENCOST3D=0 )
180     #endif
181    
182 gforget 1.7 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 gforget 1.11 & no_posproc_c,
193 gforget 1.12 & clim_preproc,
194     & anom_preproc
195 gforget 1.7 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 gforget 1.11 character*(MAX_LEN_FNAM) clim_preproc(NGENPPROC)
200 gforget 1.12 character*(MAX_LEN_FNAM) anom_preproc(NGENPPROC)
201 gforget 1.7
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 gforget 1.11 & no_preproc_i, no_posproc_i, clim_preproc_i
209 gforget 1.7 integer no_preproc_i(NGENPPROC)
210     integer no_posproc_i(NGENPPROC)
211 gforget 1.11 integer clim_preproc_i(NGENPPROC)
212 gforget 1.7
213     c gencost common blocs:
214     c =====================
215    
216 gforget 1.3 #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 gforget 1.4 #ifdef ALLOW_GENCOST3D
226     & gencost_bar3d, gencost_mod3d, gencost_wei3d,
227     #endif
228 gforget 1.7 & gencost_spmin, gencost_spmax, gencost_spzero,
229     & gencost_period, gencost_preproc_r, gencost_posproc_r
230    
231 gforget 1.3 _RL objf_gencost(nsx,nsy,NGENCOST)
232     _RL num_gencost(nsx,nsy,NGENCOST)
233     _RL mult_gencost(NGENCOST)
234     _RL gencost_spmin(NGENCOST)
235     _RL gencost_spmax(NGENCOST)
236     _RL gencost_spzero(NGENCOST)
237 gforget 1.7 _RL gencost_period(NGENCOST)
238 gforget 1.3 _RL gencost_barfld(1-olx:snx+olx,1-oly:sny+oly,
239     & nsx,nsy,NGENCOST)
240     _RL gencost_modfld(1-olx:snx+olx,1-oly:sny+oly,
241     & nsx,nsy,NGENCOST)
242     _RL gencost_weight(1-olx:snx+olx,1-oly:sny+oly,
243     & nsx,nsy,NGENCOST)
244 gforget 1.4 #ifdef ALLOW_GENCOST3D
245     _RL gencost_bar3d(1-olx:snx+olx,1-oly:sny+oly,
246     & nr,nsx,nsy,NGENCOST3D)
247     _RL gencost_mod3d(1-olx:snx+olx,1-oly:sny+oly,
248     & nr,nsx,nsy,NGENCOST3D)
249     _RL gencost_wei3d(1-olx:snx+olx,1-oly:sny+oly,
250     & nr,nsx,nsy,NGENCOST3D)
251     #endif
252 gforget 1.7 _RL gencost_preproc_r(NGENPPROC,NGENCOST)
253     _RL gencost_posproc_r(NGENPPROC,NGENCOST)
254 gforget 1.3
255     common /ecco_gencost_i_1/
256 gforget 1.5 & gencost_nrec, gencost_nrecperiod,
257     & gencost_flag, gencost_outputlevel,
258 gforget 1.3 & gencost_startdate1, gencost_startdate2,
259     & gencost_enddate1, gencost_enddate2,
260 gforget 1.4 & gencost_startdate, gencost_enddate,
261 gforget 1.7 & gencost_pointer3d, gencost_smooth2Ddiffnbt,
262     & gencost_preproc_i, gencost_posproc_i
263 gforget 1.3
264     integer gencost_nrec(NGENCOST)
265 gforget 1.5 integer gencost_nrecperiod(NGENCOST)
266 gforget 1.3 integer gencost_flag(NGENCOST)
267 gforget 1.5 integer gencost_outputlevel(NGENCOST)
268 gforget 1.3 integer gencost_startdate1(NGENCOST)
269     integer gencost_startdate2(NGENCOST)
270     integer gencost_startdate(4,NGENCOST)
271     integer gencost_enddate1(NGENCOST)
272     integer gencost_enddate2(NGENCOST)
273     integer gencost_enddate(4,NGENCOST)
274 gforget 1.4 integer gencost_pointer3d(NGENCOST)
275 gforget 1.3 integer gencost_smooth2Ddiffnbt(NGENCOST)
276 gforget 1.7 integer gencost_preproc_i(NGENPPROC,NGENCOST)
277     integer gencost_posproc_i(NGENPPROC,NGENCOST)
278 gforget 1.3
279     common /ecco_gencost_l_1/
280 gforget 1.6 & gencost_timevaryweight, gencost_barskip,
281 gforget 1.4 & using_gencost, gencost_is3d
282 gforget 1.3 LOGICAL using_gencost(NGENCOST)
283 gforget 1.4 LOGICAL gencost_is3d(NGENCOST)
284 gforget 1.3 LOGICAL gencost_timevaryweight(NGENCOST)
285 gforget 1.6 LOGICAL gencost_barskip(NGENCOST)
286 gforget 1.3
287     common /ecco_gencost_c/
288     & gencost_name,
289     & gencost_scalefile,
290     & gencost_errfile,
291     & gencost_datafile,
292     & gencost_barfile,
293     & gencost_avgperiod,
294 gforget 1.4 & gencost_preproc,
295 gforget 1.7 & gencost_preproc_c,
296 gforget 1.5 & gencost_posproc,
297 gforget 1.7 & gencost_posproc_c,
298 gforget 1.3 & gencost_mask
299     character*(MAX_LEN_FNAM) gencost_name(NGENCOST)
300     character*(MAX_LEN_FNAM) gencost_scalefile(NGENCOST)
301     character*(MAX_LEN_FNAM) gencost_errfile(NGENCOST)
302     character*(MAX_LEN_FNAM) gencost_datafile(NGENCOST)
303     character*(MAX_LEN_FNAM) gencost_barfile(NGENCOST)
304     character*(5) gencost_avgperiod(NGENCOST)
305 gforget 1.7 character*(MAX_LEN_FNAM) gencost_preproc(NGENPPROC,NGENCOST)
306     character*(MAX_LEN_FNAM) gencost_posproc_c(NGENPPROC,NGENCOST)
307     character*(MAX_LEN_FNAM) gencost_posproc(NGENPPROC,NGENCOST)
308     character*(MAX_LEN_FNAM) gencost_preproc_c(NGENPPROC,NGENCOST)
309 gforget 1.3 character*(1) gencost_mask(NGENCOST)
310    
311     #endif /* ALLOW_GENCOST_CONTRIBUTION */
312 heimbach 1.1
313     c ==================================================================
314     c END OF HEADER ECCO
315     c ==================================================================
316    
317    

  ViewVC Help
Powered by ViewVC 1.1.22