/[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.46 - (hide annotations) (download)
Tue Feb 16 23:33:37 2010 UTC (14 years, 3 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint62c
Changes since 1.45: +17 -1 lines
File MIME type: text/plain
allow user defined cost function contributions
	CPP: ALLOW_USERCOST_CONTRIBUTION
	USAGE: compute contributions in cost_usercost_all.F
note: this is identical to what ALLOW_GENCOST_CONTRIBUTION once was.
      the two options are complementary.

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

  ViewVC Help
Powered by ViewVC 1.1.22