/[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.51 - (hide annotations) (download)
Fri Aug 27 18:41:11 2010 UTC (13 years, 9 months ago) by gforget
Branch: MAIN
Changes since 1.50: +3 -1 lines
File MIME type: text/plain
adding file name for potential smoothing scale field.

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

  ViewVC Help
Powered by ViewVC 1.1.22