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

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

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


Revision 1.44 - (hide annotations) (download)
Sat Feb 6 11:30:16 2010 UTC (14 years, 4 months ago) by heimbach
Branch: MAIN
Changes since 1.43: +4 -2 lines
File MIME type: text/plain
More code for GENCOST.

1 heimbach 1.44 C $Header: /u/gcmpack/MITgcm/pkg/ecco/ecco_cost.h,v 1.43 2010/02/06 02:43:03 heimbach Exp $
2 jmc 1.30 C $Name: $
3 heimbach 1.1
4     c ==================================================================
5     c HEADER AVERAGES
6     c ==================================================================
7     c
8     c o Header for averaged temperature, salinity, and surface pressure
9     c fields and counters associated with the averaging.
10     c
11     c started: Christian Eckert eckert@mit.edu 30-Jun-1999
12 heimbach 1.2 c
13 heimbach 1.1 c ==================================================================
14     c HEADER AVERAGES
15     c ==================================================================
16    
17     c Averaging counters:
18     c ===================
19     c
20     c sum1day - counter for the daily averaging
21     c sum1mon - counter for the monthly averaging
22     c dayrec - number of averaged surface pressure records.
23     c monrec - number of averaged theta and salinity records.
24    
25 jmc 1.30 common /average_i/
26 heimbach 1.21 & sum1day,sum1mon,sum1year,
27     & dayrec,monrec,yearrec
28 heimbach 1.1 integer sum1day
29     integer sum1mon
30 heimbach 1.21 integer sum1year
31 heimbach 1.1 integer dayrec
32     integer monrec
33 heimbach 1.21 integer yearrec
34 heimbach 1.1
35 gforget 1.41 c Number of sshv4cost Cost terms:
36     c =============================
37     INTEGER NSSHV4COST
38     PARAMETER ( NSSHV4COST=5 )
39    
40 heimbach 1.36 c Number of days: (hard-coded to set up some vector dimensions
41 heimbach 1.35 c =============================
42 heimbach 1.37 c 17 years: 6210
43 heimbach 1.35 INTEGER maxNumDays
44 heimbach 1.37 PARAMETER ( maxNumDays = 6210 )
45 heimbach 1.35
46 heimbach 1.43 c Number of Generic Cost terms:
47     c =============================
48     INTEGER NGENCOST
49     PARAMETER ( NGENCOST=4 )
50    
51     #ifdef ALLOW_GENCOST_CONTRIBUTION
52     c objf_gencost - gencost user defined contribution
53     common /ecco_gencost_ctrl/
54     & xx_genbar_dummy
55     _RL xx_genbar_dummy(NGENCOST)
56    
57     common /ecco_gencost_r/
58     & objf_gencost, num_gencost, mult_gencost,
59     & gencost_barfld, gencost_modfld,
60     & gencost_spmin, gencost_spmax, gencost_spzero
61     _RL objf_gencost(nsx,nsy,NGENCOST)
62     _RL num_gencost(nsx,nsy,NGENCOST)
63     _RL mult_gencost(NGENCOST)
64     _RL gencost_spmin(NGENCOST)
65     _RL gencost_spmax(NGENCOST)
66     _RL gencost_spzero(NGENCOST)
67     _RL gencost_barfld(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy,NGENCOST)
68     _RL gencost_modfld(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy,NGENCOST)
69    
70     common /ecco_gencost_i/
71     & gencost_nrec
72     integer gencost_nrec(NGENCOST)
73    
74     common /ecco_gencost_c/
75     & gencost_errfile,
76     & gencost_datafile,
77     & gencost_barfile,
78 heimbach 1.44 & gencost_avgperiod,
79     & gencost_mask
80 heimbach 1.43 character*(MAX_LEN_FNAM) gencost_errfile(NGENCOST)
81     character*(MAX_LEN_FNAM) gencost_datafile(NGENCOST)
82     character*(MAX_LEN_FNAM) gencost_barfile(NGENCOST)
83     character*(5) gencost_avgperiod(NGENCOST)
84 heimbach 1.44 character*(1) gencost_mask(NGENCOST)
85 heimbach 1.43
86     #endif /* ALLOW_GENCOST_CONTRIBUTION */
87    
88 heimbach 1.1 c Averaged Fields:
89     c ================
90     c
91     c tbar - contains the averaged temperature field after the call
92     c to subroutine POST_MONTHLY. Before, it accumulates the
93     c intantaneous temperatures.
94     c sbar - contains the averaged salinity field after the call
95     c to subroutine POST_MONTHLY. Before, it accumulates the
96     c intantaneous salinities.
97     c psbar - contains the averaged surface pressure field after the call
98     c to subroutine POST_DAILY. Before, it accumulates the
99     c intantaneous surface pressure field.
100 jmc 1.30 c ubar - contains the averaged zonal velocity component for the
101 heimbach 1.1 c whole integration period. Before, it accumulates the
102     c intantaneous field.
103     c vbar - contains the averaged zonal velocity component for the
104     c whole integration period. Before, it accumulates the
105     c intantaneous field.
106     c tauxbar - contains the averaged zonal velocity component for the
107     c whole integration period. Before, it accumulates the
108     c intantaneous field.
109     c tauybar - contains the averaged zonal velocity component for the
110     c whole integration period. Before, it accumulates the
111     c intantaneous field.
112     c hfluxbar - contains the averaged zonal velocity component for the
113     c whole integration period. Before, it accumulates the
114     c intantaneous field.
115     c sfluxbar - contains the averaged zonal velocity component for the
116     c whole integration period. Before, it accumulates the
117     c intantaneous field.
118    
119 jmc 1.30 common /averages_r/
120 heimbach 1.1 & tbar,
121     & sbar,
122 heimbach 1.33 & sstbar,
123 heimbach 1.1 & psbar,
124 heimbach 1.28 & bpbar,
125 heimbach 1.1 & ubar,
126     & vbar,
127     & wbar,
128     & tauxbar,
129     & tauybar,
130     & hfluxbar,
131     & sfluxbar,
132 jmc 1.30 & Slmean,
133 heimbach 1.1 & Tlmean,
134     & wlmean,
135     & Sfmean,
136 jmc 1.30 & Tfmean,
137 heimbach 1.2 & sbar_gen,
138     & tbar_gen,
139     & wfmean
140 heimbach 1.1
141     #if (defined (ALLOW_THETA_COST_CONTRIBUTION) || \
142     defined (ALLOW_CTDT_COST_CONTRIBUTION) || \
143     defined (ALLOW_XBT_COST_CONTRIBUTION) || \
144     defined (ALLOW_DRIFT_COST_CONTRIBUTION) || \
145     defined (ALLOW_OBCS_COST_CONTRIBUTION))
146     _RL tbar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
147     #else
148 heimbach 1.2 #ifdef ALLOW_SST_COST_CONTRIBUTION
149     _RL tbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
150     #else
151 heimbach 1.1 _RL tbar
152     #endif
153 heimbach 1.2 #endif
154     #ifdef GENERIC_BAR_MONTH
155     _RL tbar_gen (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
156     _RL sbar_gen (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
157     #else
158     _RL tbar_gen
159     _RL sbar_gen
160     #endif
161 heimbach 1.1
162 heimbach 1.38 #ifdef ALLOW_DAILYSST_COST_CONTRIBUTION
163     cph#ifdef ALLOW_SEAICE_COST_AREASST
164 heimbach 1.33 _RL sstbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
165     #else
166     _RL sstbar
167     #endif
168    
169 heimbach 1.1 #if (defined (ALLOW_SALT_COST_CONTRIBUTION) || \
170     defined (ALLOW_CTDS_COST_CONTRIBUTION) || \
171     defined (ALLOW_DRIFT_COST_CONTRIBUTION) || \
172     defined (ALLOW_OBCS_COST_CONTRIBUTION))
173     _RL sbar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
174     #else
175 heimbach 1.2 #ifdef ALLOW_SSS_COST_CONTRIBUTION
176     _RL sbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
177     #else
178 heimbach 1.1 _RL sbar
179     #endif
180     #endif
181    
182     #ifdef ALLOW_SSH_COST_CONTRIBUTION
183     _RL psbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
184     #else
185     _RL psbar
186     #endif
187    
188 heimbach 1.28 #ifdef ALLOW_BP_COST_CONTRIBUTION
189     _RL bpbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
190     #else
191     _RL bpbar
192     #endif
193    
194 heimbach 1.1 #if (defined (ALLOW_DRIFTER_COST_CONTRIBUTION) || \
195 heimbach 1.2 defined (ALLOW_OBCS_COST_CONTRIBUTION))
196 heimbach 1.1 _RL ubar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
197     _RL vbar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
198     #else
199     _RL ubar
200     _RL vbar
201     #endif
202    
203     #ifdef ALLOW_DRIFTW_COST_CONTRIBUTION
204     _RL wbar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
205     #else
206     _RL wbar
207     #endif
208    
209     #ifdef ALLOW_DRIFT_COST_CONTRIBUTION
210     _RL Tlmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
211     _RL Slmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
212     _RL Tfmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
213     _RL Sfmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
214     #else
215     _RL Tlmean
216     _RL Slmean
217     _RL Tfmean
218 jmc 1.30 _RL Sfmean
219 heimbach 1.1 #endif
220    
221     #ifdef ALLOW_DRIFTW_COST_CONTRIBUTION
222     _RL wlmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
223     _RL wfmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
224     #else
225     _RL wlmean
226     _RL wfmean
227     #endif
228    
229     #ifdef ALLOW_SCAT_COST_CONTRIBUTION
230     _RL tauxbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
231     _RL tauybar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
232     #else
233 jmc 1.30 _RL tauxbar
234     _RL tauybar
235 heimbach 1.1 #endif
236    
237     #ifdef ALLOW_MEAN_HFLUX_COST_CONTRIBUTION
238     _RL hfluxbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
239 jmc 1.30 #else
240 heimbach 1.1 _RL hfluxbar
241     #endif
242    
243     #ifdef ALLOW_MEAN_SFLUX_COST_CONTRIBUTION
244 jmc 1.30 _RL sfluxbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
245     #else
246 heimbach 1.1 _RL sfluxbar
247     #endif
248    
249    
250 jmc 1.30 common /averages_c/
251 heimbach 1.1 & tbarfile,
252     & sbarfile,
253 heimbach 1.33 & sstbarfile,
254 heimbach 1.1 & psbarfile,
255 heimbach 1.28 & bpbarfile,
256 heimbach 1.1 & ubarfile,
257     & vbarfile,
258     & wbarfile,
259     & tauxbarfile,
260     & tauybarfile,
261     & hfluxbarfile,
262 heimbach 1.27 & sfluxbarfile,
263 heimbach 1.43 & hfluxmeanbarfile,
264     & sfluxmeanbarfile,
265 heimbach 1.27 & costTranspDataFile
266 heimbach 1.1 character*(MAX_LEN_FNAM) tbarfile
267     character*(MAX_LEN_FNAM) sbarfile
268 heimbach 1.33 character*(MAX_LEN_FNAM) sstbarfile
269 heimbach 1.1 character*(MAX_LEN_FNAM) psbarfile
270 heimbach 1.28 character*(MAX_LEN_FNAM) bpbarfile
271 heimbach 1.1 character*(MAX_LEN_FNAM) ubarfile
272     character*(MAX_LEN_FNAM) vbarfile
273     character*(MAX_LEN_FNAM) wbarfile
274     character*(MAX_LEN_FNAM) tauxbarfile
275     character*(MAX_LEN_FNAM) tauybarfile
276     character*(MAX_LEN_FNAM) hfluxbarfile
277     character*(MAX_LEN_FNAM) sfluxbarfile
278 heimbach 1.43 character*(MAX_LEN_FNAM) hfluxmeanbarfile
279     character*(MAX_LEN_FNAM) sfluxmeanbarfile
280 heimbach 1.27 character*(MAX_LEN_FNAM) costTranspDataFile
281    
282     #ifdef ALLOW_TRANSPORT_COST_CONTRIBUTION
283     common /averages_transp_r/
284     & transpbar
285     & , transpobs
286     & , wtransp
287 jmc 1.30 _RL transpbar(maxNumDays,nsx,nsy)
288 heimbach 1.27 _RL transpobs(maxNumDays)
289     _RL wtransp(maxNumDays)
290     #endif
291 heimbach 1.1
292     c file precision and field type
293    
294 jmc 1.30 common /prec_type_cost/
295 heimbach 1.1 & cost_iprec,
296     & cost_yftype
297    
298     integer cost_iprec
299     character*(2) cost_yftype
300    
301     c ==================================================================
302     c END OF HEADER AVERAGES
303     c ==================================================================
304    
305    
306    
307     c ==================================================================
308     c HEADER COST
309     c ==================================================================
310     c
311     c o Header for model-data comparison.
312     c
313     c The individual cost function contributions are multiplied by
314     c factors mult_"var" which allow to switch off these contributions
315     c without removing them in the adjoint code. This is useful for
316     c doing tests with the adjoint and perhaps useful in assimilation
317     c experiments where individual contributions are successively
318     c switched on. For future applications it would be better to place
319     c the initialisation of the multipliers somewhere else, for example
320     c in a namelist, which is read in at the start of the model.
321     c
322     c started: Christian Eckert eckert@mit.edu 24-Feb-1999
323     c
324     c changed: Christian Eckert eckert@mit.edu
325     c
326     c
327     c ==================================================================
328     c HEADER COST
329     c ==================================================================
330    
331    
332     c The cost function, its contributions, and multipliers:
333     c ======================================================
334     c
335     c fc - Final cost function.
336     c objf_hflux - Heat flux contribution.
337     c objf_sflux - Salt flux contribution.
338     c objf_tauu - Zonal wind stress contribution.
339     c objf_tauv - Meridional wind stress contribution.
340     c objf_hfluxm - time-mean Heat flux contribution.
341     c objf_sfluxm - time-mean Salt flux contribution.
342     c objf_tauum - time-mean Zonal wind stress contribution.
343     c objf_tauvm - time-mean Meridional wind stress contribution.
344     c objf_hfluxmm - Global time-mean Heat flux contribution.
345     c objf_sfluxmm - Global time-mean Salt flux contribution.
346     c objf_hmean - Mean sea surface height contribution.
347     c objf_h - Residual sea surface height contribution.
348 heimbach 1.21 c objf_tp - Residual sea surface height contribution from T/P
349     c objf_ers - Residual sea surface height contribution from T/P
350     c objf_gfo - Residual sea surface height contribution from T/P
351 heimbach 1.1 c objf_temp - Temperature contribution.
352     c objf_salt - Salinity contribution.
353     c objf_temp0 - Initial conditions Temperature contribution.
354     c objf_salt0 - Initial conditions Salinity contribution.
355 heimbach 1.2 c objf_sst - Sea surface temperature contribution.
356 heimbach 1.1 c objf_tmi - Sea surface temperature contribution.
357     c objf_sss - Sea surface salinity contribution.
358 jmc 1.30 c objf_ctdt - Temperature measurements from Woce CTD
359     c objf_ctds - Salinity measurements from Woce CTD
360 heimbach 1.2 c objf_ctdtclim - Temperature measurements from Woce CTD without timetag
361     c objf_ctdsclim - Salinity measurements from Woce CTD without timetag
362 heimbach 1.1 c objf_xbt - XBT temperature data
363     c objf_argot - ARGO temperature profiles
364     c objf_argos - ARGO salt profiles
365     c objf_scatxm - time-mean zonal SCAT contribution
366     c objf_scatym - time-mean meridional SCAT contribution
367     c objf_scatx - zonal SCAT contribution
368     c objf_scaty - meridional SCAT contribution
369     c objf_kapgm - kappa GM contribution
370 gforget 1.31 c objf_kapredi - kappa REDI contribution
371 heimbach 1.1 c objf_diffkr - diffusion contribution
372     c objf_theta_ini_fin - final vs. initial theta misfit
373     c objf_salt_ini_fin - final vs. initial salt misfit
374 gforget 1.32 c objf_eddytau - eddy streamfunction contribution
375 gforget 1.25 c objf_bottomdrag - bottom drag contribution
376 heimbach 1.1 c
377     c mult_"var" - multipliers for the individual cost
378     c function contributions.
379    
380     common /ecco_cost_objf/
381 mlosch 1.42 & objf_hflux, objf_hfluxm, objf_hfluxmm, objf_hfluxsmoo,
382     & objf_sflux, objf_sfluxm, objf_sfluxmm, objf_sfluxsmoo,
383     & objf_tauu, objf_tauum, objf_tauusmoo,
384     & objf_tauv, objf_tauvm, objf_tauvsmoo,
385     & objf_hmean,
386 heimbach 1.43 & objf_h, objf_tp, objf_ers, objf_gfo,
387 mlosch 1.42 & objf_sshv4cost,
388     & objf_temp, objf_salt,
389     & objf_temp0, objf_salt0,
390     & objf_temp0smoo, objf_salt0smoo,
391 heimbach 1.43 & objf_sst, objf_tmi, objf_sss,
392 mlosch 1.42 & objf_bp,
393     & objf_ctdt, objf_ctds,
394     & objf_ctdtclim, objf_ctdsclim,
395 heimbach 1.43 & objf_xbt, objf_argot, objf_argos,
396 mlosch 1.42 & objf_drift, objf_tdrift, objf_sdrift, objf_wdrift,
397     & objf_scatx, objf_scaty, objf_scatxm, objf_scatym,
398     & objf_atemp, objf_atempm, objf_atempsmoo,
399     & objf_aqh, objf_aqhm, objf_aqhsmoo,
400     & objf_precip, objf_precipm, objf_precipsmoo,
401     & objf_swflux, objf_swfluxm, objf_swfluxsmoo,
402     & objf_swdown, objf_swdownm, objf_swdownsmoo,
403     & objf_snowprecip, objf_snowprecipm, objf_snowprecipsmoo,
404     & objf_lwflux, objf_lwfluxm, objf_lwfluxsmoo,
405     & objf_lwdown, objf_lwdownm, objf_lwdownsmoo,
406     & objf_evap, objf_evapm, objf_evapsmoo,
407     & objf_apressure, objf_apressurem, objf_apressuresmoo,
408     & objf_runoff, objf_runoffm, objf_runoffsmoo,
409     & objf_uwind, objf_uwindm, objf_uwindsmoo,
410     & objf_vwind, objf_vwindm, objf_vwindsmoo,
411     & objf_obcsn, objf_obcss, objf_obcsw, objf_obcse,
412     & objf_obcsvol,
413     & objf_curmtr,
414     & objf_ageos,
415     & objf_kapgm,
416     & objf_kapredi,
417     & objf_diffkr,
418     & objf_theta_ini_fin, objf_salt_ini_fin,
419     & objf_eddytau,
420     & objf_bottomdrag,
421     & objf_transp
422 heimbach 1.43
423 heimbach 1.1 _RL objf_hflux (nsx,nsy)
424     _RL objf_hfluxm (nsx,nsy)
425 heimbach 1.29 _RL objf_hfluxmm
426 heimbach 1.13 _RL objf_hfluxsmoo (nsx,nsy)
427 heimbach 1.1 _RL objf_sflux (nsx,nsy)
428     _RL objf_sfluxm (nsx,nsy)
429 heimbach 1.24 _RL objf_sfluxmm
430 heimbach 1.13 _RL objf_sfluxsmoo (nsx,nsy)
431 heimbach 1.1 _RL objf_tauu (nsx,nsy)
432     _RL objf_tauum (nsx,nsy)
433 heimbach 1.13 _RL objf_tauusmoo (nsx,nsy)
434 heimbach 1.1 _RL objf_tauv (nsx,nsy)
435     _RL objf_tauvm (nsx,nsy)
436 heimbach 1.13 _RL objf_tauvsmoo (nsx,nsy)
437 heimbach 1.2 _RL objf_hmean
438 heimbach 1.1 _RL objf_h (nsx,nsy)
439 heimbach 1.21 _RL objf_tp (nsx,nsy)
440     _RL objf_ers (nsx,nsy)
441     _RL objf_gfo (nsx,nsy)
442 gforget 1.41 _RL objf_sshv4cost(NSSHV4COST,nsx,nsy)
443 heimbach 1.1 _RL objf_temp (nsx,nsy)
444     _RL objf_salt (nsx,nsy)
445     _RL objf_temp0(nsx,nsy)
446     _RL objf_salt0(nsx,nsy)
447 heimbach 1.14 _RL objf_temp0smoo(nsx,nsy)
448     _RL objf_salt0smoo(nsx,nsy)
449 heimbach 1.2 _RL objf_sst (nsx,nsy)
450 heimbach 1.1 _RL objf_tmi (nsx,nsy)
451 jmc 1.30 _RL objf_sss (nsx,nsy)
452     _RL objf_bp (nsx,nsy)
453 heimbach 1.1 _RL objf_ctdt (nsx,nsy)
454     _RL objf_ctds (nsx,nsy)
455     _RL objf_ctdtclim (nsx,nsy)
456     _RL objf_ctdsclim (nsx,nsy)
457     _RL objf_xbt (nsx,nsy)
458     _RL objf_argot(nsx,nsy)
459     _RL objf_argos(nsx,nsy)
460     _RL objf_drift(nsx,nsy)
461     _RL objf_tdrift(nsx,nsy)
462     _RL objf_sdrift(nsx,nsy)
463     _RL objf_wdrift(nsx,nsy)
464     _RL objf_scatx(nsx,nsy)
465     _RL objf_scaty(nsx,nsy)
466     _RL objf_scatxm(nsx,nsy)
467     _RL objf_scatym(nsx,nsy)
468     _RL objf_atemp(nsx,nsy)
469     _RL objf_aqh (nsx,nsy)
470 heimbach 1.6 _RL objf_precip(nsx,nsy)
471 heimbach 1.7 _RL objf_swflux(nsx,nsy)
472 heimbach 1.9 _RL objf_swdown(nsx,nsy)
473 heimbach 1.23 _RL objf_snowprecip(nsx,nsy)
474     _RL objf_lwflux(nsx,nsy)
475     _RL objf_lwdown(nsx,nsy)
476     _RL objf_evap(nsx,nsy)
477     _RL objf_apressure(nsx,nsy)
478     _RL objf_runoff(nsx,nsy)
479 heimbach 1.1 _RL objf_uwind(nsx,nsy)
480     _RL objf_vwind(nsx,nsy)
481 heimbach 1.8 _RL objf_atempm(nsx,nsy)
482     _RL objf_aqhm (nsx,nsy)
483     _RL objf_precipm(nsx,nsy)
484     _RL objf_swfluxm(nsx,nsy)
485 heimbach 1.9 _RL objf_swdownm(nsx,nsy)
486 heimbach 1.23 _RL objf_snowprecipm(nsx,nsy)
487     _RL objf_lwfluxm(nsx,nsy)
488     _RL objf_lwdownm(nsx,nsy)
489     _RL objf_evapm(nsx,nsy)
490     _RL objf_apressurem(nsx,nsy)
491     _RL objf_runoffm(nsx,nsy)
492 heimbach 1.8 _RL objf_uwindm(nsx,nsy)
493     _RL objf_vwindm(nsx,nsy)
494 heimbach 1.13 _RL objf_atempsmoo(nsx,nsy)
495     _RL objf_aqhsmoo (nsx,nsy)
496     _RL objf_precipsmoo(nsx,nsy)
497     _RL objf_swfluxsmoo(nsx,nsy)
498     _RL objf_swdownsmoo(nsx,nsy)
499 heimbach 1.23 _RL objf_snowprecipsmoo(nsx,nsy)
500     _RL objf_lwfluxsmoo(nsx,nsy)
501     _RL objf_lwdownsmoo(nsx,nsy)
502     _RL objf_evapsmoo(nsx,nsy)
503     _RL objf_apressuresmoo(nsx,nsy)
504     _RL objf_runoffsmoo(nsx,nsy)
505 heimbach 1.13 _RL objf_uwindsmoo(nsx,nsy)
506     _RL objf_vwindsmoo(nsx,nsy)
507 heimbach 1.1 _RL objf_obcsn(nsx,nsy)
508     _RL objf_obcss(nsx,nsy)
509     _RL objf_obcsw(nsx,nsy)
510     _RL objf_obcse(nsx,nsy)
511 heimbach 1.2 _RL objf_obcsvol
512 heimbach 1.1 _RL objf_curmtr(nsx,nsy)
513     _RL objf_ageos(nsx,nsy)
514     _RL objf_kapgm(nsx,nsy)
515 gforget 1.31 _RL objf_kapredi(nsx,nsy)
516 heimbach 1.1 _RL objf_diffkr(nsx,nsy)
517     _RL objf_theta_ini_fin(nsx,nsy)
518     _RL objf_salt_ini_fin(nsx,nsy)
519 heimbach 1.3 _RL objf_eddytau(nsx,nsy)
520 gforget 1.25 _RL objf_bottomdrag(nsx,nsy)
521 heimbach 1.27 _RL objf_transp
522 heimbach 1.1
523 heimbach 1.4 common /ecco_cost_num/
524     & num_hflux,
525     & num_hfluxm,
526     & num_hfluxmm,
527     & num_sflux,
528     & num_sfluxm,
529     & num_sfluxmm,
530     & num_tauu,
531     & num_tauum,
532     & num_tauv,
533     & num_tauvm,
534     & num_hmean,
535     & num_h,
536 heimbach 1.21 & num_tp,
537     & num_ers,
538     & num_gfo,
539 gforget 1.41 & num_sshv4cost,
540 heimbach 1.4 & num_temp,
541     & num_salt,
542     & num_temp0,
543     & num_salt0,
544     & num_sst,
545     & num_tmi,
546     & num_sss,
547 heimbach 1.28 & num_bp,
548 heimbach 1.4 & num_ctdt,
549     & num_ctds,
550     & num_ctdtclim,
551     & num_ctdsclim,
552     & num_xbt,
553     & num_argot,
554     & num_argos,
555     & num_drift,
556     & num_tdrift,
557     & num_sdrift,
558     & num_wdrift,
559     & num_scatx,
560     & num_scaty,
561     & num_scatxm,
562     & num_scatym,
563     & num_atemp,
564     & num_aqh,
565 heimbach 1.6 & num_precip,
566 heimbach 1.7 & num_swflux,
567 heimbach 1.9 & num_swdown,
568 heimbach 1.23 & num_snowprecip,
569     & num_lwflux,
570     & num_lwdown,
571     & num_evap,
572     & num_apressure,
573     & num_runoff,
574 heimbach 1.4 & num_uwind,
575     & num_vwind,
576 heimbach 1.8 & num_atempm,
577     & num_aqhm,
578     & num_precipm,
579     & num_swfluxm,
580 heimbach 1.9 & num_swdownm,
581 heimbach 1.23 & num_snowprecipm,
582     & num_lwfluxm,
583     & num_lwdownm,
584     & num_evapm,
585     & num_apressurem,
586     & num_runoffm,
587 heimbach 1.8 & num_uwindm,
588     & num_vwindm,
589 heimbach 1.4 & num_obcsn,
590     & num_obcss,
591     & num_obcsw,
592     & num_obcse,
593     & num_obcsvol,
594     & num_curmtr,
595     & num_ageos,
596 heimbach 1.9 & num_kapgm,
597 gforget 1.31 & num_kapredi,
598 heimbach 1.4 & num_diffkr,
599     & num_theta_ini_fin,
600     & num_salt_ini_fin,
601 gforget 1.25 & num_eddytau,
602 heimbach 1.27 & num_bottomdrag,
603     & num_transp
604 heimbach 1.4
605     _RL num_hflux (nsx,nsy)
606     _RL num_hfluxm (nsx,nsy)
607     _RL num_hfluxmm(nsx,nsy)
608     _RL num_sflux (nsx,nsy)
609     _RL num_sfluxm (nsx,nsy)
610     _RL num_sfluxmm(nsx,nsy)
611     _RL num_tauu (nsx,nsy)
612     _RL num_tauum (nsx,nsy)
613     _RL num_tauv (nsx,nsy)
614     _RL num_tauvm (nsx,nsy)
615     _RL num_hmean
616     _RL num_h (nsx,nsy)
617 heimbach 1.21 _RL num_tp (nsx,nsy)
618     _RL num_ers (nsx,nsy)
619     _RL num_gfo (nsx,nsy)
620 gforget 1.41 _RL num_sshv4cost(NSSHV4COST,nsx,nsy)
621 heimbach 1.4 _RL num_temp (nsx,nsy)
622     _RL num_salt (nsx,nsy)
623     _RL num_temp0(nsx,nsy)
624     _RL num_salt0(nsx,nsy)
625     _RL num_sst (nsx,nsy)
626     _RL num_tmi (nsx,nsy)
627 jmc 1.30 _RL num_sss (nsx,nsy)
628     _RL num_bp (nsx,nsy)
629 heimbach 1.4 _RL num_ctdt (nsx,nsy)
630     _RL num_ctds (nsx,nsy)
631     _RL num_ctdtclim (nsx,nsy)
632     _RL num_ctdsclim (nsx,nsy)
633     _RL num_xbt (nsx,nsy)
634     _RL num_argot(nsx,nsy)
635     _RL num_argos(nsx,nsy)
636     _RL num_drift(nsx,nsy)
637     _RL num_tdrift(nsx,nsy)
638     _RL num_sdrift(nsx,nsy)
639     _RL num_wdrift(nsx,nsy)
640     _RL num_scatx(nsx,nsy)
641     _RL num_scaty(nsx,nsy)
642     _RL num_scatxm(nsx,nsy)
643     _RL num_scatym(nsx,nsy)
644     _RL num_atemp(nsx,nsy)
645     _RL num_aqh (nsx,nsy)
646 heimbach 1.6 _RL num_precip(nsx,nsy)
647 heimbach 1.7 _RL num_swflux(nsx,nsy)
648 heimbach 1.9 _RL num_swdown(nsx,nsy)
649 heimbach 1.23 _RL num_snowprecip(nsx,nsy)
650     _RL num_lwflux(nsx,nsy)
651     _RL num_lwdown(nsx,nsy)
652     _RL num_evap(nsx,nsy)
653     _RL num_apressure(nsx,nsy)
654     _RL num_runoff(nsx,nsy)
655 heimbach 1.4 _RL num_uwind(nsx,nsy)
656     _RL num_vwind(nsx,nsy)
657 heimbach 1.8 _RL num_atempm(nsx,nsy)
658     _RL num_aqhm (nsx,nsy)
659     _RL num_precipm(nsx,nsy)
660     _RL num_swfluxm(nsx,nsy)
661 heimbach 1.9 _RL num_swdownm(nsx,nsy)
662 heimbach 1.23 _RL num_snowprecipm(nsx,nsy)
663     _RL num_lwfluxm(nsx,nsy)
664     _RL num_lwdownm(nsx,nsy)
665     _RL num_evapm(nsx,nsy)
666     _RL num_apressurem(nsx,nsy)
667     _RL num_runoffm(nsx,nsy)
668 heimbach 1.8 _RL num_uwindm(nsx,nsy)
669     _RL num_vwindm(nsx,nsy)
670 heimbach 1.4 _RL num_obcsn(nsx,nsy)
671     _RL num_obcss(nsx,nsy)
672     _RL num_obcsw(nsx,nsy)
673     _RL num_obcse(nsx,nsy)
674     _RL num_obcsvol
675     _RL num_curmtr(nsx,nsy)
676     _RL num_ageos(nsx,nsy)
677     _RL num_kapgm(nsx,nsy)
678 gforget 1.31 _RL num_kapredi(nsx,nsy)
679 heimbach 1.4 _RL num_diffkr(nsx,nsy)
680     _RL num_theta_ini_fin(nsx,nsy)
681     _RL num_salt_ini_fin(nsx,nsy)
682     _RL num_eddytau(nsx,nsy)
683 gforget 1.25 _RL num_bottomdrag(nsx,nsy)
684 heimbach 1.27 _RL num_transp
685 heimbach 1.4
686 heimbach 1.1 common /ecco_cost_aux_r/
687     & mult_hflux,
688     & mult_sflux,
689 heimbach 1.16 & mult_hfluxmm,
690     & mult_sfluxmm,
691 heimbach 1.1 & mult_tauu,
692     & mult_tauv,
693     & mult_hmean,
694     & mult_h,
695 heimbach 1.21 & mult_tp,
696     & mult_ers,
697     & mult_gfo,
698 gforget 1.41 & mult_sshv4cost,
699 heimbach 1.1 & mult_temp,
700     & mult_salt,
701     & mult_temp0,
702     & mult_salt0,
703 heimbach 1.2 & mult_sst,
704 heimbach 1.1 & mult_tmi,
705     & mult_sss,
706 heimbach 1.28 & mult_bp,
707 heimbach 1.1 & mult_ctdt,
708     & mult_ctds,
709     & mult_ctdtclim,
710     & mult_ctdsclim,
711     & mult_xbt,
712     & mult_argot,
713     & mult_argos,
714     & mult_drift,
715     & mult_tdrift,
716     & mult_sdrift,
717     & mult_wdrift,
718     & mult_scatx,
719     & mult_scaty,
720     & mult_atemp,
721     & mult_aqh,
722 heimbach 1.6 & mult_precip,
723 heimbach 1.7 & mult_swflux,
724 heimbach 1.9 & mult_swdown,
725 heimbach 1.23 & mult_snowprecip,
726     & mult_lwflux,
727     & mult_lwdown,
728     & mult_evap,
729     & mult_apressure,
730     & mult_runoff,
731 heimbach 1.1 & mult_uwind,
732     & mult_vwind,
733     & mult_obcsn,
734     & mult_obcss,
735     & mult_obcsw,
736     & mult_obcse,
737     & mult_obcsvol,
738     & mult_curmtr,
739     & mult_ageos,
740     & mult_kapgm,
741 gforget 1.31 & mult_kapredi,
742 heimbach 1.1 & mult_diffkr,
743 heimbach 1.3 & mult_ini_fin,
744 gforget 1.25 & mult_edtau,
745     & mult_bottomdrag,
746 heimbach 1.14 & mult_smooth_ic,
747 heimbach 1.27 & mult_smooth_bc,
748     & mult_transp
749 heimbach 1.1 _RL mult_hflux
750     _RL mult_sflux
751 heimbach 1.16 _RL mult_hfluxmm
752     _RL mult_sfluxmm
753 heimbach 1.1 _RL mult_tauu
754     _RL mult_tauv
755     _RL mult_hmean
756     _RL mult_h
757 heimbach 1.21 _RL mult_tp
758     _RL mult_ers
759     _RL mult_gfo
760 gforget 1.41 _RL mult_sshv4cost(NSSHV4COST)
761 heimbach 1.1 _RL mult_temp
762     _RL mult_salt
763     _RL mult_temp0
764     _RL mult_salt0
765 heimbach 1.2 _RL mult_sst
766 heimbach 1.1 _RL mult_tmi
767     _RL mult_sss
768 heimbach 1.28 _RL mult_bp
769 heimbach 1.1 _RL mult_ctdt
770     _RL mult_ctds
771     _RL mult_ctdtclim
772     _RL mult_ctdsclim
773     _RL mult_xbt
774     _RL mult_argot
775     _RL mult_argos
776     _RL mult_drift
777     _RL mult_tdrift
778     _RL mult_sdrift
779     _RL mult_wdrift
780     _RL mult_scatx
781     _RL mult_scaty
782     _RL mult_atemp
783     _RL mult_aqh
784 heimbach 1.6 _RL mult_precip
785 heimbach 1.7 _RL mult_swflux
786 heimbach 1.9 _RL mult_swdown
787 heimbach 1.23 _RL mult_snowprecip
788     _RL mult_lwflux
789     _RL mult_lwdown
790     _RL mult_evap
791     _RL mult_apressure
792     _RL mult_runoff
793 heimbach 1.1 _RL mult_uwind
794     _RL mult_vwind
795     _RL mult_obcsn
796     _RL mult_obcss
797     _RL mult_obcsw
798     _RL mult_obcse
799     _RL mult_obcsvol
800     _RL mult_curmtr
801     _RL mult_ageos
802     _RL mult_kapgm
803 gforget 1.31 _RL mult_kapredi
804 heimbach 1.1 _RL mult_diffkr
805     _RL mult_ini_fin
806 gforget 1.25 _RL mult_edtau
807     _RL mult_bottomdrag
808 heimbach 1.14 _RL mult_smooth_ic
809     _RL mult_smooth_bc
810 heimbach 1.27 _RL mult_transp
811 heimbach 1.1
812     c Record counters relevant for the cost function evaluation.
813     c ==========================================================
814     c
815 heimbach 1.21 c nyearsrec - number of yearly records that will be generated by
816     c the current model integration.
817     c nmonsrec - number of monthly records that will be generated by
818     c the current model integration.
819     c ndaysrec - number of daily records that will be generated by
820     c the current model integration.
821 heimbach 1.1
822     common /ecco_cost_i/
823 heimbach 1.21 & nyearsrec,
824 heimbach 1.1 & nmonsrec,
825 heimbach 1.11 & ndaysrec,
826     & nnztbar,
827     & nnzsbar
828 heimbach 1.21 integer nyearsrec
829 heimbach 1.1 integer nmonsrec
830     integer ndaysrec
831 heimbach 1.11 integer nnztbar
832     integer nnzsbar
833 heimbach 1.1
834    
835     c Data files for the weights used in the cost function:
836     c =====================================================
837     c
838     c hflux_errfile - heat flux error.
839     c sflux_errfile - salt flux error.
840     c tauu_errfile - zonal wind stress error.
841     c tauum_errfile - zonal wind stress error.
842     c tauv_errfile - meridional wind stress error.
843     c tauvm_errfile - meridional wind stress error.
844     c tscatx_errfile - zonal wind stress error.
845     c tscaty_errfile - meridional wind stress error.
846     c data_errfile - weights for theta, salt, and SST
847     c geoid_errfile - geoid error.
848     c geoid_covariancefile - geoid error covariance.
849     c ssh_errfile - sea surface height error.
850     c ctdt_errfile - CTD temperature error.
851     c ctds_errfile - CTD salinity error.
852     c drift_errfile - drifter error.
853     c salterrfile - representation error due unresolved eddies
854     c temperrfile - representation error due unresolved eddies
855     c velerrfile - representation error
856    
857 jmc 1.30 common /ecco_cost_c/
858 heimbach 1.1 & hflux_errfile,
859     & hfluxm_errfile,
860     & sflux_errfile,
861     & sfluxm_errfile,
862     & tauu_errfile,
863     & tauum_errfile,
864     & tauv_errfile,
865     & tauvm_errfile,
866     & scatx_errfile,
867     & scaty_errfile,
868     & data_errfile,
869     & geoid_errfile,
870     & geoid_covariancefile,
871     & ssh_errfile,
872 heimbach 1.22 & tp_errfile,
873     & ers_errfile,
874     & gfo_errfile,
875 gforget 1.41 & sshv4cost_errfile,
876 heimbach 1.1 & ctdt_errfile,
877 jmc 1.30 & ctds_errfile,
878 heimbach 1.1 & drift_errfile,
879 jmc 1.30 & udrifterrfile,
880     & vdrifterrfile,
881 heimbach 1.1 & salterrfile,
882     & temperrfile,
883     & velerrfile,
884 heimbach 1.12 & salt0errfile,
885     & temp0errfile,
886     & vel0errfile,
887 gforget 1.39 & ssterrfile,
888     & ssserrfile,
889 gforget 1.40 & bperrfile,
890 heimbach 1.1 & atemp_errfile,
891     & aqh_errfile,
892 heimbach 1.6 & precip_errfile,
893 heimbach 1.7 & swflux_errfile,
894 heimbach 1.9 & swdown_errfile,
895 heimbach 1.23 & snowprecip_errfile,
896     & lwflux_errfile,
897     & lwdown_errfile,
898     & evap_errfile,
899     & apressure_errfile,
900     & runoff_errfile,
901 gforget 1.25 & edtau_errfile,
902     & kapgm_errfile,
903 gforget 1.31 & kapredi_errfile,
904 gforget 1.25 & diffkr_errfile,
905     & bottomdrag_errfile,
906 heimbach 1.1 & uwind_errfile,
907     & vwind_errfile
908     character*(MAX_LEN_FNAM) hflux_errfile
909     character*(MAX_LEN_FNAM) sflux_errfile
910     character*(MAX_LEN_FNAM) tauu_errfile
911     character*(MAX_LEN_FNAM) tauv_errfile
912     character*(MAX_LEN_FNAM) hfluxm_errfile
913     character*(MAX_LEN_FNAM) sfluxm_errfile
914     character*(MAX_LEN_FNAM) tauum_errfile
915     character*(MAX_LEN_FNAM) tauvm_errfile
916     character*(MAX_LEN_FNAM) scatx_errfile
917     character*(MAX_LEN_FNAM) scaty_errfile
918     character*(MAX_LEN_FNAM) data_errfile
919     character*(MAX_LEN_FNAM) geoid_errfile
920     character*(MAX_LEN_FNAM) geoid_covariancefile
921     character*(MAX_LEN_FNAM) ssh_errfile
922 heimbach 1.22 character*(MAX_LEN_FNAM) tp_errfile
923     character*(MAX_LEN_FNAM) ers_errfile
924     character*(MAX_LEN_FNAM) gfo_errfile
925 gforget 1.41 character*(MAX_LEN_FNAM) sshv4cost_errfile(NSSHV4COST)
926 jmc 1.30 character*(MAX_LEN_FNAM) ctdt_errfile
927     character*(MAX_LEN_FNAM) ctds_errfile
928 heimbach 1.1 character*(MAX_LEN_FNAM) drift_errfile
929     character*(MAX_LEN_FNAM) udrifterrfile
930 jmc 1.30 character*(MAX_LEN_FNAM) vdrifterrfile
931 heimbach 1.1 character*(MAX_LEN_FNAM) salterrfile
932     character*(MAX_LEN_FNAM) temperrfile
933     character*(MAX_LEN_FNAM) velerrfile
934 heimbach 1.12 character*(MAX_LEN_FNAM) salt0errfile
935     character*(MAX_LEN_FNAM) temp0errfile
936     character*(MAX_LEN_FNAM) vel0errfile
937 gforget 1.39 character*(MAX_LEN_FNAM) ssterrfile
938     character*(MAX_LEN_FNAM) ssserrfile
939 gforget 1.40 character*(MAX_LEN_FNAM) bperrfile
940 heimbach 1.1 character*(MAX_LEN_FNAM) atemp_errfile
941     character*(MAX_LEN_FNAM) aqh_errfile
942 heimbach 1.6 character*(MAX_LEN_FNAM) precip_errfile
943 heimbach 1.7 character*(MAX_LEN_FNAM) swflux_errfile
944 heimbach 1.9 character*(MAX_LEN_FNAM) swdown_errfile
945 heimbach 1.23 character*(MAX_LEN_FNAM) snowprecip_errfile
946     character*(MAX_LEN_FNAM) lwflux_errfile
947     character*(MAX_LEN_FNAM) lwdown_errfile
948     character*(MAX_LEN_FNAM) evap_errfile
949     character*(MAX_LEN_FNAM) apressure_errfile
950     character*(MAX_LEN_FNAM) runoff_errfile
951 gforget 1.25 character*(MAX_LEN_FNAM) edtau_errfile
952     character*(MAX_LEN_FNAM) kapgm_errfile
953 gforget 1.31 character*(MAX_LEN_FNAM) kapredi_errfile
954 gforget 1.25 character*(MAX_LEN_FNAM) diffkr_errfile
955     character*(MAX_LEN_FNAM) bottomdrag_errfile
956 heimbach 1.1 character*(MAX_LEN_FNAM) uwind_errfile
957     character*(MAX_LEN_FNAM) vwind_errfile
958    
959    
960     c Arrays where the weights are stored:
961     c ====================================
962     c
963     c cosphi - cosine of latitude.
964     c whflux - weight for heat flux.
965     c wsflux - weight for salt flux.
966     c wtauu - weight for zonal wind stress.
967     c wtauu - weight for meridional wind stress.
968     c wscatx - weight for zonal scat stress.
969     c wscaty - weight for meridional scat stress.
970     c wtheta - weight for temperature.
971     c wtheta2 - representation error due to unresolved eddies
972     c wsst - weight for sea surface temperature.
973     c wsss - weight for sea surface salinity.
974     c wsalt - weight for salinity.
975     c wsalt2 - representation error due to unresolved eddies
976     c wtp - weight for TOPEX/POSEIDON data.
977     c wers - weight for ERS data.
978     c wp - weight for geoid.
979     c wctdt - weight for CTD temperature.
980     c wctds - weight for CTD salinity.
981     c wudrift - weight for mean zonal velocity from drifters.
982     c wvdrift - weight for mean meridional velocity from drifters.
983    
984 jmc 1.30 common /ecco_cost_weights_r/
985 heimbach 1.1 & frame,
986     & cosphi,
987     & whflux,wsflux,wtauu,wtauv,
988 heimbach 1.23 & watemp,waqh,wprecip,wsnowprecip,
989     & wswflux,wswdown,wlwflux,wlwdown,
990     & wevap,wapressure,wrunoff,
991 gforget 1.25 & wbottomdrag,
992 heimbach 1.9 & wuwind,wvwind,
993 heimbach 1.1 & wscatx,wscaty,
994     & wtheta,wtheta2,wthetaLev,
995     & wsalt,wsalt2,wsaltLev,
996 heimbach 1.20 & wdiffkr,wdiffkr2,wdiffkrFld,
997     & wkapgm,wkapgm2,wkapgmFld,
998 gforget 1.31 & wkapredi,wkapredi2,wkaprediFld,
999 heimbach 1.20 & wedtaux,wedtaux2,wedtauxFld,
1000     & wedtauy,wedtauy2,wedtauyFld,
1001 heimbach 1.28 & wsst,wsss,wbp,
1002 heimbach 1.15 & wtp,wers,wgfo,
1003 gforget 1.41 & wp,wsshv4,
1004 heimbach 1.1 & wctdt,wctds,
1005     & wudrift,wvdrift,
1006     & whfluxmm,wsfluxmm,
1007     & wcurrent,wcurrent2,
1008     & wcurrentLev,wbaro
1009    
1010     _RL frame (1-olx:snx+olx,1-oly:sny+oly )
1011     _RL cosphi (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1012     _RL whflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1013     _RL whfluxm (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1014     _RL whfluxmm(1-olx:snx+olx,1-oly:sny+oly)
1015     _RL wsflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1016     _RL wsfluxm (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1017     _RL wsfluxmm(1-olx:snx+olx,1-oly:sny+oly)
1018     _RL wtauu (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1019     _RL wtauv (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1020     _RL wtauum (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1021     _RL wtauvm (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1022     _RL wscatx (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1023     _RL wscaty (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1024     _RL watemp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1025     _RL waqh (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1026 heimbach 1.6 _RL wprecip (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1027 heimbach 1.7 _RL wswflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1028 heimbach 1.9 _RL wswdown (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1029 heimbach 1.23 _RL wsnowprecip (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1030     _RL wlwflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1031     _RL wlwdown (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1032     _RL wevap (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1033     _RL wapressure(1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1034     _RL wrunoff (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1035 gforget 1.25 _RL wbottomdrag (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
1036 heimbach 1.1 _RL wuwind (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1037     _RL wvwind (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1038     _RL wtheta ( nr,nsx,nsy)
1039     _RL wsalt ( nr,nsx,nsy)
1040     _RL wtheta2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1041     _RL wsalt2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1042     _RL wthetaLev (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1043     _RL wsaltLev (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1044     _RL wsst (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1045     _RL wsss (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1046 heimbach 1.28 _RL wbp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1047 heimbach 1.1 _RL wtp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1048 gforget 1.41 _RL wsshv4 (1-olx:snx+olx,1-oly:sny+oly,NSSHV4COST,nsx,nsy)
1049 heimbach 1.1 _RL wers (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1050 heimbach 1.15 _RL wgfo (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1051 heimbach 1.1 _RL wp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1052     _RL wctdt ( nr,nsx,nsy)
1053     _RL wctds ( nr,nsx,nsy)
1054     _RL wudrift (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1055     _RL wvdrift (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1056     _RL wcurrent( nr,nsx,nsy)
1057     _RL wcurrent2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1058     _RL wcurrentLev (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1059     _RL wbaro
1060 heimbach 1.20 _RL wdiffkr ( nr,nsx,nsy)
1061     _RL wdiffkr2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1062     _RL wdiffkrFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1063     _RL wkapgm ( nr,nsx,nsy)
1064     _RL wkapgm2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1065     _RL wkapgmFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1066 gforget 1.31 _RL wkapredi ( nr,nsx,nsy)
1067     _RL wkapredi2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1068     _RL wkaprediFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1069 heimbach 1.20 _RL wedtaux ( nr,nsx,nsy)
1070     _RL wedtaux2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1071     _RL wedtauxFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1072     _RL wedtauy ( nr,nsx,nsy)
1073     _RL wedtauy2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1074     _RL wedtauyFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1075 heimbach 1.1
1076 heimbach 1.6 common /ecco_cost_weights_0_r/
1077 heimbach 1.7 & whflux0, wsflux0, wtau0,
1078 heimbach 1.23 & watemp0, waqh0, wprecip0, wsnowprecip0, wwind0,
1079 jmc 1.30 & wswflux0, wswdown0, wlwflux0, wlwdown0,
1080 gforget 1.31 & wevap0, wapressure0, wrunoff0, wkapredi0,
1081 gforget 1.25 & wbottomdrag0,wdiffkr0, wkapgm0, wedtau0
1082 heimbach 1.6 _RL whflux0
1083     _RL wsflux0
1084     _RL wtau0
1085     _RL watemp0
1086     _RL waqh0
1087     _RL wprecip0
1088 heimbach 1.7 _RL wswflux0
1089 heimbach 1.9 _RL wswdown0
1090 heimbach 1.23 _RL wsnowprecip0
1091     _RL wlwflux0
1092     _RL wlwdown0
1093     _RL wevap0
1094     _RL wapressure0
1095     _RL wrunoff0
1096 gforget 1.25 _RL wbottomdrag0
1097 heimbach 1.6 _RL wwind0
1098 heimbach 1.20 _RL wdiffkr0
1099     _RL wkapgm0
1100 gforget 1.31 _RL wkapredi0
1101 heimbach 1.20 _RL wedtau0
1102 heimbach 1.8
1103     common /ecco_cost_weights_mean_r/
1104     & wmean_hflux, wmean_sflux, wmean_tau,
1105 jmc 1.30 & wmean_atemp, wmean_aqh,
1106 heimbach 1.23 & wmean_precip, wmean_snowprecip, wmean_wind,
1107     & wmean_swflux, wmean_swdown, wmean_lwflux, wmean_lwdown,
1108     & wmean_evap, wmean_apressure, wmean_runoff
1109 heimbach 1.8 _RL wmean_hflux
1110     _RL wmean_sflux
1111     _RL wmean_tau
1112     _RL wmean_atemp
1113     _RL wmean_aqh
1114     _RL wmean_precip
1115     _RL wmean_swflux
1116 heimbach 1.9 _RL wmean_swdown
1117 heimbach 1.23 _RL wmean_snowprecip
1118     _RL wmean_lwflux
1119     _RL wmean_lwdown
1120     _RL wmean_evap
1121     _RL wmean_apressure
1122     _RL wmean_runoff
1123 heimbach 1.8 _RL wmean_wind
1124 jmc 1.30
1125 heimbach 1.5 common /ecco_cost_weights_2_r/
1126     & whflux2,wsflux2,wtauu2,wtauv2
1127     _RL whflux2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1128     _RL wsflux2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1129     _RL wtauu2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1130     _RL wtauv2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1131 jmc 1.30
1132    
1133 heimbach 1.5
1134 heimbach 1.1 #if (defined (ALLOW_OBCSN_COST_CONTRIBUTION) || \
1135     defined (ALLOW_OBCSN_CONTROL))
1136     common /ecco_cost_weights_obcsn/
1137     & wobcsn, wobcsnLev
1138     _RL wobcsn ( nr,nobcs)
1139     _RL wobcsnLev (1-olx:snx+olx,nr,nsx,nsy,nobcs)
1140     #endif
1141     #if (defined (ALLOW_OBCSS_COST_CONTRIBUTION) || \
1142     defined (ALLOW_OBCSS_CONTROL))
1143     common /ecco_cost_weights_obcss/
1144     & wobcss, wobcssLev
1145     _RL wobcss ( nr,nobcs)
1146     _RL wobcssLev (1-olx:snx+olx,nr,nsx,nsy,nobcs)
1147     #endif
1148     #if (defined (ALLOW_OBCSW_COST_CONTRIBUTION) || \
1149     defined (ALLOW_OBCSW_CONTROL))
1150     common /ecco_cost_weights_obcsw/
1151     & wobcsw, wobcswLev
1152     _RL wobcsw ( nr,nobcs)
1153     _RL wobcswLev (1-oly:sny+oly,nr,nsx,nsy,nobcs)
1154     #endif
1155     #if (defined (ALLOW_OBCSE_COST_CONTRIBUTION) || \
1156     defined (ALLOW_OBCSE_CONTROL))
1157     common /ecco_cost_weights_obcse/
1158     & wobcse, wobcseLev
1159     _RL wobcse ( nr,nobcs)
1160     _RL wobcseLev (1-oly:sny+oly,nr,nsx,nsy,nobcs)
1161     #endif
1162    
1163 heimbach 1.2
1164 heimbach 1.1 c Arrays that contain observations for the model-data comparison:
1165     c ===============================================================
1166     c
1167     c tdat - reference temperature data.
1168     c scatxdat - reference zonal wind stress.
1169     c scatydat - reference meridional wind stress.
1170 heimbach 1.2 c sstdat - reference sea surface temperature data.
1171 heimbach 1.1 c tmidat - reference TMI sea surface temperature data.
1172     c sssdat - reference sea surface temperature data.
1173 heimbach 1.28 c bpdat - bottom pressure from time-varying GRACE.
1174 heimbach 1.1 c tauxmask - mask for reference wind stress data.
1175 jmc 1.30 c tauymask - mask for reference wind stress data.
1176 heimbach 1.1 c scatxmask - mask for scat wind stress data.
1177 jmc 1.30 c scatymask - mask for scat wind stress data.
1178 heimbach 1.2 c sstmask - mask for reference sea surface temperature data.
1179 heimbach 1.1 c tmimask - mask for reference sea surface temperature data.
1180     c sssmask - mask for reference sea surface temperature data.
1181     c sdat - reference salinity data.
1182     c tpmean - reference mean sea surface height data.
1183     c tpmeanmask - mask for reference mean sea surface height data.
1184     c tpobs - TOPEX/POSEIDON data.
1185     c tpmask - mask for TOPEX/POSEIDON data.
1186     c ersobs - ERS data.
1187     c ersmask - mask for ERS data.
1188     c ctdtobs - CTD temperature data
1189     c ctdsobs - CTD salinity data
1190 jmc 1.30 c xbtobs - XBT data
1191     c argot - ARGO temperature data
1192     c argos - ARGO salt data
1193 heimbach 1.1 c udriftdat - drifters zonal velocities
1194     c vdriftdat - drifters meridional velocities
1195    
1196     common /ecco_cost_data_r/
1197     & tdat,
1198     & scatxdat,
1199     & scatydat,
1200 heimbach 1.28 & bpdat,
1201 heimbach 1.2 & sstmask,
1202 heimbach 1.1 & tmimask,
1203     & sssmask,
1204 heimbach 1.28 & bpmask,
1205 heimbach 1.1 & tauxmask,
1206     & tauymask,
1207     & scatxmask,
1208     & scatymask,
1209     & sdat,
1210     & tpmean,
1211     & tpmeanmask,
1212     & tpobs,
1213     & tpmask,
1214     & ersobs,
1215     & ersmask,
1216 heimbach 1.15 & gfoobs,
1217     & gfomask,
1218 heimbach 1.1 & ctdtobs,
1219     & ctdsobs,
1220     & xbtobs,
1221     & argotobs,
1222     & argosobs,
1223     & udriftdat,
1224     & vdriftdat,
1225     & curmtruobs,
1226     & curmtrvobs
1227 jmc 1.30
1228 heimbach 1.1 _RL tdat (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1229     _RL scatxdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1230     _RL scatydat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1231 heimbach 1.28 _RL bpdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1232 heimbach 1.1 _RL tauxmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1233     _RL tauymask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1234     _RL scatxmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1235     _RL scatymask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1236 heimbach 1.2 _RL sstmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1237 heimbach 1.1 _RL tmimask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1238     _RL sssmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1239 heimbach 1.28 _RL bpmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1240 heimbach 1.1 _RL sdat (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1241     _RL tpmean (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1242     _RL tpmeanmask(1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1243     _RL tpobs (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1244     _RL tpmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1245     _RL ersobs (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1246     _RL ersmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1247 heimbach 1.15 _RL gfoobs (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1248     _RL gfomask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1249 heimbach 1.1 _RL ctdtobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1250     _RL ctdsobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1251     _RL xbtobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1252     _RL argotobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1253     _RL argosobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1254     _RL udriftdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1255     _RL vdriftdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1256     _RL curmtruobs(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1257     _RL curmtrvobs(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1258    
1259 heimbach 1.2
1260 heimbach 1.1 c Files that contain obervations:
1261     c ===============================
1262     c
1263     c tdatfile - reference data file for temperature.
1264     c sdatfile - reference data file for salinity.
1265     c scatxdatfile - reference data file for zonal wind stress.
1266     c scatydatfile - reference data file for meridional wind stress.
1267     c sstdatfile - reference data file for sea surface temperature.
1268 heimbach 1.2 c tmidatfile - reference data file for TMI sea surface temperature.
1269 heimbach 1.1 c topexmeanfile - reference data file for mean sea surface height.
1270     c topexfile - reference data file for sea surface height data
1271     c (TOPEX/POSEIDON).
1272     c ersfile - reference data file for sea surface height data
1273     c (ERS).
1274 jmc 1.30 c ctdtfile, ctdsfile- reference data file for temperature and salinity
1275 heimbach 1.1 c from CTD
1276     c ctdtclimfile, ctdsclimfile- reference data file for temperature
1277 heimbach 1.2 c and salinity from CTD with out timetag
1278 heimbach 1.1 c xbtfile - reference data file for xbt
1279     c ARGOtfile - reference data file for ARGO
1280     c ARGOsfile - reference data file for ARGO
1281     c driftfile - reference data file for drifter's mean velocities
1282    
1283     common /ecco_cost_data_c/
1284     & tdatfile,
1285     & sdatfile,
1286     & scatxdatfile,
1287     & scatydatfile,
1288 heimbach 1.2 & sstdatfile,
1289 heimbach 1.1 & tmidatfile,
1290     & sssdatfile,
1291 heimbach 1.28 & bpdatfile,
1292 heimbach 1.1 & topexmeanfile,
1293     & topexfile,
1294     & ersfile,
1295 heimbach 1.15 & gfofile,
1296 heimbach 1.1 & ctdtfile,
1297     & ctdsfile,
1298     & ctdtclimfile,
1299     & ctdsclimfile,
1300     & xbtfile,
1301     & argotfile,
1302     & argosfile,
1303 jmc 1.30 & udriftfile,
1304 heimbach 1.1 & vdriftfile,
1305     & curmtrufile,
1306 heimbach 1.19 & curmtrvfile
1307 heimbach 1.1
1308     character*(MAX_LEN_FNAM) tdatfile
1309     character*(MAX_LEN_FNAM) sdatfile
1310     character*(MAX_LEN_FNAM) scatxdatfile
1311     character*(MAX_LEN_FNAM) scatydatfile
1312 heimbach 1.2 character*(MAX_LEN_FNAM) sstdatfile
1313 heimbach 1.1 character*(MAX_LEN_FNAM) tmidatfile
1314     character*(MAX_LEN_FNAM) sssdatfile
1315 heimbach 1.28 character*(MAX_LEN_FNAM) bpdatfile
1316 heimbach 1.1 character*(MAX_LEN_FNAM) topexmeanfile
1317     character*(MAX_LEN_FNAM) topexfile
1318     character*(MAX_LEN_FNAM) ersfile
1319 heimbach 1.15 character*(MAX_LEN_FNAM) gfofile
1320 heimbach 1.1 character*(MAX_LEN_FNAM) ctdtfile
1321     character*(MAX_LEN_FNAM) ctdsfile
1322     character*(MAX_LEN_FNAM) ctdtclimfile
1323     character*(MAX_LEN_FNAM) ctdsclimfile
1324     character*(MAX_LEN_FNAM) xbtfile
1325     character*(MAX_LEN_FNAM) argotfile
1326     character*(MAX_LEN_FNAM) argosfile
1327     character*(MAX_LEN_FNAM) argofile
1328     character*(MAX_LEN_FNAM) udriftfile
1329 jmc 1.30 character*(MAX_LEN_FNAM) vdriftfile
1330 heimbach 1.1 character*(MAX_LEN_FNAM) curmtrufile
1331     character*(MAX_LEN_FNAM) curmtrvfile
1332    
1333 heimbach 1.2
1334 heimbach 1.1 c Flags used in the model-data comparison:
1335     c ========================================
1336     c
1337     c using_ers - flag that indicates the use of ERS data
1338    
1339     common /ecco_cost_data_flags/
1340     & using_topex,
1341 heimbach 1.15 & using_ers,
1342     & using_gfo
1343 heimbach 1.1 logical using_topex
1344     logical using_ers
1345 heimbach 1.15 logical using_gfo
1346 heimbach 1.1
1347     c Calendar information for the observations:
1348     c ==========================================
1349     c
1350 heimbach 1.2 c sststartdate - start date of the sea surface temperature data.
1351 heimbach 1.1 c tmistartdate - start date of the sea surface temperature data.
1352     c topexstartdate - start date of the sea surface height data.
1353     c ersstartdate - start date of the sea surface height data.
1354 heimbach 1.2 c sshperiod - sampling interval for the sea surface height data.
1355 heimbach 1.1
1356     common /ecco_cost_data_times_i/
1357     & scatxstartdate,
1358     & scatystartdate,
1359     & sststartdate,
1360     & argotstartdate,
1361     & argosstartdate,
1362 heimbach 1.2 & tmistartdate,
1363     & sssstartdate,
1364 heimbach 1.28 & bpstartdate,
1365 heimbach 1.1 & topexstartdate,
1366 heimbach 1.15 & ersstartdate,
1367     & gfostartdate
1368 heimbach 1.1 integer scatxstartdate(4)
1369     integer scatystartdate(4)
1370     integer sststartdate(4)
1371     integer argotstartdate(4)
1372     integer argosstartdate(4)
1373 heimbach 1.2 integer tmistartdate(4)
1374     integer sssstartdate(4)
1375 heimbach 1.28 integer bpstartdate(4)
1376 heimbach 1.1 integer topexstartdate(4)
1377     integer ersstartdate(4)
1378 heimbach 1.15 integer gfostartdate(4)
1379 heimbach 1.1
1380     common /ecco_cost_data_aux_i/
1381     & tmistartdate1,
1382     & tmistartdate2,
1383     & sststartdate1,
1384     & sststartdate2,
1385     & sssstartdate1,
1386     & sssstartdate2,
1387 heimbach 1.28 & bpstartdate1,
1388     & bpstartdate2,
1389 heimbach 1.1 & argotstartdate1,
1390     & argotstartdate2,
1391     & argosstartdate1,
1392     & argosstartdate2,
1393     & topexstartdate1,
1394     & topexstartdate2,
1395     & ersstartdate1,
1396     & ersstartdate2,
1397 heimbach 1.15 & gfostartdate1,
1398     & gfostartdate2,
1399 heimbach 1.1 & scatstartdate1,
1400 heimbach 1.10 & scatstartdate2
1401 heimbach 1.1
1402     integer tmistartdate1
1403     integer tmistartdate2
1404     integer sststartdate1
1405     integer sststartdate2
1406     integer sssstartdate1
1407     integer sssstartdate2
1408 heimbach 1.28 integer bpstartdate1
1409     integer bpstartdate2
1410 heimbach 1.1 integer argotstartdate1
1411     integer argotstartdate2
1412     integer argosstartdate1
1413     integer argosstartdate2
1414     integer topexstartdate1
1415     integer topexstartdate2
1416     integer ersstartdate1
1417     integer ersstartdate2
1418 heimbach 1.15 integer gfostartdate1
1419     integer gfostartdate2
1420 heimbach 1.1 integer scatstartdate1
1421     integer scatstartdate2
1422    
1423     common /ecco_cost_data_times_r/
1424     & topexperiod,
1425     & ersperiod,
1426 heimbach 1.15 & gfoperiod,
1427 heimbach 1.10 & scatperiod
1428 heimbach 1.1 _RL topexperiod
1429     _RL ersperiod
1430 heimbach 1.15 _RL gfoperiod
1431 heimbach 1.1 _RL scatperiod
1432    
1433 heimbach 1.17 common /ecco_cost_data_detrend/
1434     & topexintercept,
1435     & ersintercept,
1436     & gfointercept,
1437     & topexslope,
1438     & ersslope,
1439     & gfoslope
1440     _RL topexintercept
1441     _RL ersintercept
1442     _RL gfointercept
1443     _RL topexslope
1444     _RL ersslope
1445     _RL gfoslope
1446    
1447 gforget 1.41 cgf factor to convert sshv4cost_errfile in m
1448     common /ecco_cost_errfactor/
1449     & sshv4cost_errfactor
1450     _RL sshv4cost_errfactor(NSSHV4COST)
1451    
1452 heimbach 1.35 #ifdef ALLOW_SSH_COST_CONTRIBUTION
1453     common /ecco_ssh_daymask_r/
1454     & tpTimeMask, ersTimeMask, gfoTimeMask
1455     _RL tpTimeMask(maxNumDays)
1456     _RL ersTimeMask(maxNumDays)
1457     _RL gfoTimeMask(maxNumDays)
1458     #endif
1459    
1460     common /ecco_ssh_daymask_c/
1461     & tpTimeMaskFile, ersTimeMaskFile, gfoTimeMaskFile
1462     character*(MAX_LEN_FNAM) tpTimeMaskFile
1463     character*(MAX_LEN_FNAM) ersTimeMaskFile
1464     character*(MAX_LEN_FNAM) gfoTimeMaskFile
1465    
1466 heimbach 1.1 c ==================================================================
1467     c END OF HEADER COST
1468     c ==================================================================
1469 heimbach 1.2
1470    

  ViewVC Help
Powered by ViewVC 1.1.22