/[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.20 - (hide annotations) (download)
Fri May 12 13:35:37 2006 UTC (18 years, 1 month ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint58e_post, checkpoint58h_post, checkpoint58j_post, checkpoint58f_post, checkpoint58i_post, checkpoint58g_post, checkpoint58k_post
Changes since 1.19: +21 -1 lines
File MIME type: text/plain
Adding weights for diffkr, etc.

1 heimbach 1.1
2     c ==================================================================
3     c HEADER AVERAGES
4     c ==================================================================
5     c
6     c o Header for averaged temperature, salinity, and surface pressure
7     c fields and counters associated with the averaging.
8     c
9     c started: Christian Eckert eckert@mit.edu 30-Jun-1999
10 heimbach 1.2 c
11 heimbach 1.1 c ==================================================================
12     c HEADER AVERAGES
13     c ==================================================================
14    
15     c Averaging counters:
16     c ===================
17     c
18     c sum1day - counter for the daily averaging
19     c sum1mon - counter for the monthly averaging
20     c dayrec - number of averaged surface pressure records.
21     c monrec - number of averaged theta and salinity records.
22    
23     common /average_i/
24     & sum1day,sum1mon,
25     & dayrec,monrec
26     integer sum1day
27     integer sum1mon
28     integer dayrec
29     integer monrec
30    
31    
32     c Averaged Fields:
33     c ================
34     c
35     c tbar - contains the averaged temperature field after the call
36     c to subroutine POST_MONTHLY. Before, it accumulates the
37     c intantaneous temperatures.
38     c sbar - contains the averaged salinity field after the call
39     c to subroutine POST_MONTHLY. Before, it accumulates the
40     c intantaneous salinities.
41     c psbar - contains the averaged surface pressure field after the call
42     c to subroutine POST_DAILY. Before, it accumulates the
43     c intantaneous surface pressure field.
44     c ubar - contains the averaged zonal velocity component for the
45     c whole integration period. Before, it accumulates the
46     c intantaneous field.
47     c vbar - contains the averaged zonal velocity component for the
48     c whole integration period. Before, it accumulates the
49     c intantaneous field.
50     c tauxbar - contains the averaged zonal velocity component for the
51     c whole integration period. Before, it accumulates the
52     c intantaneous field.
53     c tauybar - contains the averaged zonal velocity component for the
54     c whole integration period. Before, it accumulates the
55     c intantaneous field.
56     c hfluxbar - contains the averaged zonal velocity component for the
57     c whole integration period. Before, it accumulates the
58     c intantaneous field.
59     c sfluxbar - contains the averaged zonal velocity component for the
60     c whole integration period. Before, it accumulates the
61     c intantaneous field.
62    
63     common /averages_r/
64     & tbar,
65     & sbar,
66     & psbar,
67     & ubar,
68     & vbar,
69     & wbar,
70     & tauxbar,
71     & tauybar,
72     & hfluxbar,
73     & sfluxbar,
74     & Slmean,
75     & Tlmean,
76     & wlmean,
77     & Sfmean,
78     & Tfmean,
79 heimbach 1.2 & sbar_gen,
80     & tbar_gen,
81     & wfmean
82 heimbach 1.1
83     #if (defined (ALLOW_THETA_COST_CONTRIBUTION) || \
84     defined (ALLOW_CTDT_COST_CONTRIBUTION) || \
85     defined (ALLOW_XBT_COST_CONTRIBUTION) || \
86     defined (ALLOW_DRIFT_COST_CONTRIBUTION) || \
87     defined (ALLOW_OBCS_COST_CONTRIBUTION))
88     _RL tbar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
89     #else
90 heimbach 1.2 #ifdef ALLOW_SST_COST_CONTRIBUTION
91     _RL tbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
92     #else
93 heimbach 1.1 _RL tbar
94     #endif
95 heimbach 1.2 #endif
96     #ifdef GENERIC_BAR_MONTH
97     _RL tbar_gen (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
98     _RL sbar_gen (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
99     #else
100     _RL tbar_gen
101     _RL sbar_gen
102     #endif
103 heimbach 1.1
104     #if (defined (ALLOW_SALT_COST_CONTRIBUTION) || \
105     defined (ALLOW_CTDS_COST_CONTRIBUTION) || \
106     defined (ALLOW_DRIFT_COST_CONTRIBUTION) || \
107     defined (ALLOW_OBCS_COST_CONTRIBUTION))
108     _RL sbar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
109     #else
110 heimbach 1.2 #ifdef ALLOW_SSS_COST_CONTRIBUTION
111     _RL sbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
112     #else
113 heimbach 1.1 _RL sbar
114     #endif
115     #endif
116    
117     #ifdef ALLOW_SSH_COST_CONTRIBUTION
118     _RL psbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
119     #else
120     _RL psbar
121     #endif
122    
123     #if (defined (ALLOW_DRIFTER_COST_CONTRIBUTION) || \
124 heimbach 1.2 defined (ALLOW_OBCS_COST_CONTRIBUTION))
125 heimbach 1.1 _RL ubar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
126     _RL vbar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
127     #else
128     _RL ubar
129     _RL vbar
130     #endif
131    
132     #ifdef ALLOW_DRIFTW_COST_CONTRIBUTION
133     _RL wbar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
134     #else
135     _RL wbar
136     #endif
137    
138     #ifdef ALLOW_DRIFT_COST_CONTRIBUTION
139     _RL Tlmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
140     _RL Slmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
141     _RL Tfmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
142     _RL Sfmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
143     #else
144     _RL Tlmean
145     _RL Slmean
146     _RL Tfmean
147     _RL Sfmean
148     #endif
149    
150     #ifdef ALLOW_DRIFTW_COST_CONTRIBUTION
151     _RL wlmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
152     _RL wfmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
153     #else
154     _RL wlmean
155     _RL wfmean
156     #endif
157    
158     #ifdef ALLOW_SCAT_COST_CONTRIBUTION
159     _RL tauxbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
160     _RL tauybar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
161     #else
162     _RL tauxbar
163     _RL tauybar
164     #endif
165    
166     #ifdef ALLOW_MEAN_HFLUX_COST_CONTRIBUTION
167     _RL hfluxbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
168     #else
169     _RL hfluxbar
170     #endif
171    
172     #ifdef ALLOW_MEAN_SFLUX_COST_CONTRIBUTION
173     _RL sfluxbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
174     #else
175     _RL sfluxbar
176     #endif
177    
178    
179     common /averages_c/
180     & tbarfile,
181     & sbarfile,
182     & psbarfile,
183     & ubarfile,
184     & vbarfile,
185     & wbarfile,
186     & tauxbarfile,
187     & tauybarfile,
188     & hfluxbarfile,
189     & sfluxbarfile
190     character*(MAX_LEN_FNAM) tbarfile
191     character*(MAX_LEN_FNAM) sbarfile
192     character*(MAX_LEN_FNAM) psbarfile
193     character*(MAX_LEN_FNAM) ubarfile
194     character*(MAX_LEN_FNAM) vbarfile
195     character*(MAX_LEN_FNAM) wbarfile
196     character*(MAX_LEN_FNAM) tauxbarfile
197     character*(MAX_LEN_FNAM) tauybarfile
198     character*(MAX_LEN_FNAM) hfluxbarfile
199     character*(MAX_LEN_FNAM) sfluxbarfile
200    
201     c file precision and field type
202    
203     common /prec_type_cost/
204     & cost_iprec,
205     & cost_yftype
206    
207     integer cost_iprec
208     character*(2) cost_yftype
209    
210     c ==================================================================
211     c END OF HEADER AVERAGES
212     c ==================================================================
213    
214    
215    
216     c ==================================================================
217     c HEADER COST
218     c ==================================================================
219     c
220     c o Header for model-data comparison.
221     c
222     c The individual cost function contributions are multiplied by
223     c factors mult_"var" which allow to switch off these contributions
224     c without removing them in the adjoint code. This is useful for
225     c doing tests with the adjoint and perhaps useful in assimilation
226     c experiments where individual contributions are successively
227     c switched on. For future applications it would be better to place
228     c the initialisation of the multipliers somewhere else, for example
229     c in a namelist, which is read in at the start of the model.
230     c
231     c started: Christian Eckert eckert@mit.edu 24-Feb-1999
232     c
233     c changed: Christian Eckert eckert@mit.edu
234     c
235     c
236     c ==================================================================
237     c HEADER COST
238     c ==================================================================
239    
240    
241     c The cost function, its contributions, and multipliers:
242     c ======================================================
243     c
244     c fc - Final cost function.
245     c objf_hflux - Heat flux contribution.
246     c objf_sflux - Salt flux contribution.
247     c objf_tauu - Zonal wind stress contribution.
248     c objf_tauv - Meridional wind stress contribution.
249     c objf_hfluxm - time-mean Heat flux contribution.
250     c objf_sfluxm - time-mean Salt flux contribution.
251     c objf_tauum - time-mean Zonal wind stress contribution.
252     c objf_tauvm - time-mean Meridional wind stress contribution.
253     c objf_hfluxmm - Global time-mean Heat flux contribution.
254     c objf_sfluxmm - Global time-mean Salt flux contribution.
255     c objf_hmean - Mean sea surface height contribution.
256     c objf_h - Residual sea surface height contribution.
257     c objf_temp - Temperature contribution.
258     c objf_salt - Salinity contribution.
259     c objf_temp0 - Initial conditions Temperature contribution.
260     c objf_salt0 - Initial conditions Salinity contribution.
261 heimbach 1.2 c objf_sst - Sea surface temperature contribution.
262 heimbach 1.1 c objf_tmi - Sea surface temperature contribution.
263     c objf_sss - Sea surface salinity contribution.
264     c objf_ctdt - Temperature measurements from Woce CTD
265     c objf_ctds - Salinity measurements from Woce CTD
266 heimbach 1.2 c objf_ctdtclim - Temperature measurements from Woce CTD without timetag
267     c objf_ctdsclim - Salinity measurements from Woce CTD without timetag
268 heimbach 1.1 c objf_xbt - XBT temperature data
269     c objf_argot - ARGO temperature profiles
270     c objf_argos - ARGO salt profiles
271     c objf_scatxm - time-mean zonal SCAT contribution
272     c objf_scatym - time-mean meridional SCAT contribution
273     c objf_scatx - zonal SCAT contribution
274     c objf_scaty - meridional SCAT contribution
275     c objf_kapgm - kappa GM contribution
276     c objf_diffkr - diffusion contribution
277     c objf_theta_ini_fin - final vs. initial theta misfit
278     c objf_salt_ini_fin - final vs. initial salt misfit
279     c
280     c mult_"var" - multipliers for the individual cost
281     c function contributions.
282    
283     common /ecco_cost_objf/
284     & objf_hflux,
285     & objf_hfluxm,
286     & objf_hfluxmm,
287 heimbach 1.13 & objf_hfluxsmoo,
288 heimbach 1.1 & objf_sflux,
289     & objf_sfluxm,
290     & objf_sfluxmm,
291 heimbach 1.13 & objf_sfluxsmoo,
292 heimbach 1.1 & objf_tauu,
293     & objf_tauum,
294 heimbach 1.13 & objf_tauusmoo,
295 heimbach 1.1 & objf_tauv,
296     & objf_tauvm,
297 heimbach 1.13 & objf_tauvsmoo,
298 heimbach 1.1 & objf_hmean,
299     & objf_h,
300     & objf_temp,
301     & objf_salt,
302     & objf_temp0,
303     & objf_salt0,
304 heimbach 1.14 & objf_temp0smoo,
305     & objf_salt0smoo,
306 heimbach 1.2 & objf_sst,
307 heimbach 1.1 & objf_tmi,
308     & objf_sss,
309     & objf_ctdt,
310     & objf_ctds,
311     & objf_ctdtclim,
312     & objf_ctdsclim,
313     & objf_xbt,
314     & objf_argot,
315     & objf_argos,
316     & objf_drift,
317     & objf_tdrift,
318     & objf_sdrift,
319     & objf_wdrift,
320     & objf_scatx,
321     & objf_scaty,
322     & objf_scatxm,
323     & objf_scatym,
324     & objf_atemp,
325     & objf_aqh,
326 heimbach 1.6 & objf_precip,
327 heimbach 1.7 & objf_swflux,
328 heimbach 1.9 & objf_swdown,
329 heimbach 1.1 & objf_uwind,
330     & objf_vwind,
331 heimbach 1.8 & objf_atempm,
332     & objf_aqhm,
333     & objf_precipm,
334     & objf_swfluxm,
335 heimbach 1.9 & objf_swdownm,
336 heimbach 1.8 & objf_uwindm,
337     & objf_vwindm,
338 heimbach 1.13 & objf_atempsmoo,
339     & objf_aqhsmoo,
340     & objf_precipsmoo,
341     & objf_swfluxsmoo,
342     & objf_swdownsmoo,
343     & objf_uwindsmoo,
344     & objf_vwindsmoo,
345 heimbach 1.1 & objf_obcsn,
346     & objf_obcss,
347     & objf_obcsw,
348     & objf_obcse,
349     & objf_obcsvol,
350     & objf_curmtr,
351     & objf_ageos,
352 heimbach 1.9 & objf_kapgm,
353 heimbach 1.1 & objf_diffkr,
354     & objf_theta_ini_fin,
355 heimbach 1.3 & objf_salt_ini_fin,
356 heimbach 1.19 & objf_eddytau
357 heimbach 1.1 _RL objf_hflux (nsx,nsy)
358     _RL objf_hfluxm (nsx,nsy)
359     _RL objf_hfluxmm(nsx,nsy)
360 heimbach 1.13 _RL objf_hfluxsmoo (nsx,nsy)
361 heimbach 1.1 _RL objf_sflux (nsx,nsy)
362     _RL objf_sfluxm (nsx,nsy)
363     _RL objf_sfluxmm(nsx,nsy)
364 heimbach 1.13 _RL objf_sfluxsmoo (nsx,nsy)
365 heimbach 1.1 _RL objf_tauu (nsx,nsy)
366     _RL objf_tauum (nsx,nsy)
367 heimbach 1.13 _RL objf_tauusmoo (nsx,nsy)
368 heimbach 1.1 _RL objf_tauv (nsx,nsy)
369     _RL objf_tauvm (nsx,nsy)
370 heimbach 1.13 _RL objf_tauvsmoo (nsx,nsy)
371 heimbach 1.2 _RL objf_hmean
372 heimbach 1.1 _RL objf_h (nsx,nsy)
373     _RL objf_temp (nsx,nsy)
374     _RL objf_salt (nsx,nsy)
375     _RL objf_temp0(nsx,nsy)
376     _RL objf_salt0(nsx,nsy)
377 heimbach 1.14 _RL objf_temp0smoo(nsx,nsy)
378     _RL objf_salt0smoo(nsx,nsy)
379 heimbach 1.2 _RL objf_sst (nsx,nsy)
380 heimbach 1.1 _RL objf_tmi (nsx,nsy)
381     _RL objf_sss (nsx,nsy)
382     _RL objf_ctdt (nsx,nsy)
383     _RL objf_ctds (nsx,nsy)
384     _RL objf_ctdtclim (nsx,nsy)
385     _RL objf_ctdsclim (nsx,nsy)
386     _RL objf_xbt (nsx,nsy)
387     _RL objf_argot(nsx,nsy)
388     _RL objf_argos(nsx,nsy)
389     _RL objf_drift(nsx,nsy)
390     _RL objf_tdrift(nsx,nsy)
391     _RL objf_sdrift(nsx,nsy)
392     _RL objf_wdrift(nsx,nsy)
393     _RL objf_scatx(nsx,nsy)
394     _RL objf_scaty(nsx,nsy)
395     _RL objf_scatxm(nsx,nsy)
396     _RL objf_scatym(nsx,nsy)
397     _RL objf_atemp(nsx,nsy)
398     _RL objf_aqh (nsx,nsy)
399 heimbach 1.6 _RL objf_precip(nsx,nsy)
400 heimbach 1.7 _RL objf_swflux(nsx,nsy)
401 heimbach 1.9 _RL objf_swdown(nsx,nsy)
402 heimbach 1.1 _RL objf_uwind(nsx,nsy)
403     _RL objf_vwind(nsx,nsy)
404 heimbach 1.8 _RL objf_atempm(nsx,nsy)
405     _RL objf_aqhm (nsx,nsy)
406     _RL objf_precipm(nsx,nsy)
407     _RL objf_swfluxm(nsx,nsy)
408 heimbach 1.9 _RL objf_swdownm(nsx,nsy)
409 heimbach 1.8 _RL objf_uwindm(nsx,nsy)
410     _RL objf_vwindm(nsx,nsy)
411 heimbach 1.13 _RL objf_atempsmoo(nsx,nsy)
412     _RL objf_aqhsmoo (nsx,nsy)
413     _RL objf_precipsmoo(nsx,nsy)
414     _RL objf_swfluxsmoo(nsx,nsy)
415     _RL objf_swdownsmoo(nsx,nsy)
416     _RL objf_uwindsmoo(nsx,nsy)
417     _RL objf_vwindsmoo(nsx,nsy)
418 heimbach 1.1 _RL objf_obcsn(nsx,nsy)
419     _RL objf_obcss(nsx,nsy)
420     _RL objf_obcsw(nsx,nsy)
421     _RL objf_obcse(nsx,nsy)
422 heimbach 1.2 _RL objf_obcsvol
423 heimbach 1.1 _RL objf_curmtr(nsx,nsy)
424     _RL objf_ageos(nsx,nsy)
425     _RL objf_kapgm(nsx,nsy)
426     _RL objf_diffkr(nsx,nsy)
427     _RL objf_theta_ini_fin(nsx,nsy)
428     _RL objf_salt_ini_fin(nsx,nsy)
429 heimbach 1.3 _RL objf_eddytau(nsx,nsy)
430 heimbach 1.1
431 heimbach 1.4 common /ecco_cost_num/
432     & num_hflux,
433     & num_hfluxm,
434     & num_hfluxmm,
435     & num_sflux,
436     & num_sfluxm,
437     & num_sfluxmm,
438     & num_tauu,
439     & num_tauum,
440     & num_tauv,
441     & num_tauvm,
442     & num_hmean,
443     & num_h,
444     & num_temp,
445     & num_salt,
446     & num_temp0,
447     & num_salt0,
448     & num_sst,
449     & num_tmi,
450     & num_sss,
451     & num_ctdt,
452     & num_ctds,
453     & num_ctdtclim,
454     & num_ctdsclim,
455     & num_xbt,
456     & num_argot,
457     & num_argos,
458     & num_drift,
459     & num_tdrift,
460     & num_sdrift,
461     & num_wdrift,
462     & num_scatx,
463     & num_scaty,
464     & num_scatxm,
465     & num_scatym,
466     & num_atemp,
467     & num_aqh,
468 heimbach 1.6 & num_precip,
469 heimbach 1.7 & num_swflux,
470 heimbach 1.9 & num_swdown,
471 heimbach 1.4 & num_uwind,
472     & num_vwind,
473 heimbach 1.8 & num_atempm,
474     & num_aqhm,
475     & num_precipm,
476     & num_swfluxm,
477 heimbach 1.9 & num_swdownm,
478 heimbach 1.8 & num_uwindm,
479     & num_vwindm,
480 heimbach 1.4 & num_obcsn,
481     & num_obcss,
482     & num_obcsw,
483     & num_obcse,
484     & num_obcsvol,
485     & num_curmtr,
486     & num_ageos,
487 heimbach 1.9 & num_kapgm,
488 heimbach 1.4 & num_diffkr,
489     & num_theta_ini_fin,
490     & num_salt_ini_fin,
491 heimbach 1.19 & num_eddytau
492 heimbach 1.4
493     _RL num_hflux (nsx,nsy)
494     _RL num_hfluxm (nsx,nsy)
495     _RL num_hfluxmm(nsx,nsy)
496     _RL num_sflux (nsx,nsy)
497     _RL num_sfluxm (nsx,nsy)
498     _RL num_sfluxmm(nsx,nsy)
499     _RL num_tauu (nsx,nsy)
500     _RL num_tauum (nsx,nsy)
501     _RL num_tauv (nsx,nsy)
502     _RL num_tauvm (nsx,nsy)
503     _RL num_hmean
504     _RL num_h (nsx,nsy)
505     _RL num_temp (nsx,nsy)
506     _RL num_salt (nsx,nsy)
507     _RL num_temp0(nsx,nsy)
508     _RL num_salt0(nsx,nsy)
509     _RL num_sst (nsx,nsy)
510     _RL num_tmi (nsx,nsy)
511     _RL num_sss (nsx,nsy)
512     _RL num_ctdt (nsx,nsy)
513     _RL num_ctds (nsx,nsy)
514     _RL num_ctdtclim (nsx,nsy)
515     _RL num_ctdsclim (nsx,nsy)
516     _RL num_xbt (nsx,nsy)
517     _RL num_argot(nsx,nsy)
518     _RL num_argos(nsx,nsy)
519     _RL num_drift(nsx,nsy)
520     _RL num_tdrift(nsx,nsy)
521     _RL num_sdrift(nsx,nsy)
522     _RL num_wdrift(nsx,nsy)
523     _RL num_scatx(nsx,nsy)
524     _RL num_scaty(nsx,nsy)
525     _RL num_scatxm(nsx,nsy)
526     _RL num_scatym(nsx,nsy)
527     _RL num_atemp(nsx,nsy)
528     _RL num_aqh (nsx,nsy)
529 heimbach 1.6 _RL num_precip(nsx,nsy)
530 heimbach 1.7 _RL num_swflux(nsx,nsy)
531 heimbach 1.9 _RL num_swdown(nsx,nsy)
532 heimbach 1.4 _RL num_uwind(nsx,nsy)
533     _RL num_vwind(nsx,nsy)
534 heimbach 1.8 _RL num_atempm(nsx,nsy)
535     _RL num_aqhm (nsx,nsy)
536     _RL num_precipm(nsx,nsy)
537     _RL num_swfluxm(nsx,nsy)
538 heimbach 1.9 _RL num_swdownm(nsx,nsy)
539 heimbach 1.8 _RL num_uwindm(nsx,nsy)
540     _RL num_vwindm(nsx,nsy)
541 heimbach 1.4 _RL num_obcsn(nsx,nsy)
542     _RL num_obcss(nsx,nsy)
543     _RL num_obcsw(nsx,nsy)
544     _RL num_obcse(nsx,nsy)
545     _RL num_obcsvol
546     _RL num_curmtr(nsx,nsy)
547     _RL num_ageos(nsx,nsy)
548     _RL num_kapgm(nsx,nsy)
549     _RL num_diffkr(nsx,nsy)
550     _RL num_theta_ini_fin(nsx,nsy)
551     _RL num_salt_ini_fin(nsx,nsy)
552     _RL num_eddytau(nsx,nsy)
553    
554 heimbach 1.1 common /ecco_cost_aux_r/
555     & mult_hflux,
556     & mult_sflux,
557 heimbach 1.16 & mult_hfluxmm,
558     & mult_sfluxmm,
559 heimbach 1.1 & mult_tauu,
560     & mult_tauv,
561     & mult_hmean,
562     & mult_h,
563     & mult_temp,
564     & mult_salt,
565     & mult_temp0,
566     & mult_salt0,
567 heimbach 1.2 & mult_sst,
568 heimbach 1.1 & mult_tmi,
569     & mult_sss,
570     & mult_ctdt,
571     & mult_ctds,
572     & mult_ctdtclim,
573     & mult_ctdsclim,
574     & mult_xbt,
575     & mult_argot,
576     & mult_argos,
577     & mult_drift,
578     & mult_tdrift,
579     & mult_sdrift,
580     & mult_wdrift,
581     & mult_scatx,
582     & mult_scaty,
583     & mult_atemp,
584     & mult_aqh,
585 heimbach 1.6 & mult_precip,
586 heimbach 1.7 & mult_swflux,
587 heimbach 1.9 & mult_swdown,
588 heimbach 1.1 & mult_uwind,
589     & mult_vwind,
590     & mult_obcsn,
591     & mult_obcss,
592     & mult_obcsw,
593     & mult_obcse,
594     & mult_obcsvol,
595     & mult_curmtr,
596     & mult_ageos,
597     & mult_kapgm,
598     & mult_diffkr,
599 heimbach 1.3 & mult_ini_fin,
600 heimbach 1.13 & mult_eddytau,
601 heimbach 1.14 & mult_smooth_ic,
602 heimbach 1.19 & mult_smooth_bc
603 heimbach 1.1 _RL mult_hflux
604     _RL mult_sflux
605 heimbach 1.16 _RL mult_hfluxmm
606     _RL mult_sfluxmm
607 heimbach 1.1 _RL mult_tauu
608     _RL mult_tauv
609     _RL mult_hmean
610     _RL mult_h
611     _RL mult_temp
612     _RL mult_salt
613     _RL mult_temp0
614     _RL mult_salt0
615 heimbach 1.2 _RL mult_sst
616 heimbach 1.1 _RL mult_tmi
617     _RL mult_sss
618     _RL mult_ctdt
619     _RL mult_ctds
620     _RL mult_ctdtclim
621     _RL mult_ctdsclim
622     _RL mult_xbt
623     _RL mult_argot
624     _RL mult_argos
625     _RL mult_drift
626     _RL mult_tdrift
627     _RL mult_sdrift
628     _RL mult_wdrift
629     _RL mult_scatx
630     _RL mult_scaty
631     _RL mult_atemp
632     _RL mult_aqh
633 heimbach 1.6 _RL mult_precip
634 heimbach 1.7 _RL mult_swflux
635 heimbach 1.9 _RL mult_swdown
636 heimbach 1.1 _RL mult_uwind
637     _RL mult_vwind
638     _RL mult_obcsn
639     _RL mult_obcss
640     _RL mult_obcsw
641     _RL mult_obcse
642     _RL mult_obcsvol
643     _RL mult_curmtr
644     _RL mult_ageos
645     _RL mult_kapgm
646     _RL mult_diffkr
647     _RL mult_ini_fin
648 heimbach 1.3 _RL mult_eddytau
649 heimbach 1.14 _RL mult_smooth_ic
650     _RL mult_smooth_bc
651 heimbach 1.1
652     c Record counters relevant for the cost function evaluation.
653     c ==========================================================
654     c
655     c nmonsrec - number of monthly records that will be generated by
656     c the current model integration.
657     c ndaysrec - number of daily records that will be generated by
658     c the current model integration.
659    
660     common /ecco_cost_i/
661     & nmonsrec,
662 heimbach 1.11 & ndaysrec,
663     & nnztbar,
664     & nnzsbar
665 heimbach 1.1 integer nmonsrec
666     integer ndaysrec
667 heimbach 1.11 integer nnztbar
668     integer nnzsbar
669 heimbach 1.1
670    
671     c Data files for the weights used in the cost function:
672     c =====================================================
673     c
674     c hflux_errfile - heat flux error.
675     c sflux_errfile - salt flux error.
676     c tauu_errfile - zonal wind stress error.
677     c tauum_errfile - zonal wind stress error.
678     c tauv_errfile - meridional wind stress error.
679     c tauvm_errfile - meridional wind stress error.
680     c tscatx_errfile - zonal wind stress error.
681     c tscaty_errfile - meridional wind stress error.
682     c data_errfile - weights for theta, salt, and SST
683     c geoid_errfile - geoid error.
684     c geoid_covariancefile - geoid error covariance.
685     c ssh_errfile - sea surface height error.
686     c ctdt_errfile - CTD temperature error.
687     c ctds_errfile - CTD salinity error.
688     c drift_errfile - drifter error.
689     c salterrfile - representation error due unresolved eddies
690     c temperrfile - representation error due unresolved eddies
691     c velerrfile - representation error
692    
693     common /ecco_cost_c/
694     & hflux_errfile,
695     & hfluxm_errfile,
696     & sflux_errfile,
697     & sfluxm_errfile,
698     & tauu_errfile,
699     & tauum_errfile,
700     & tauv_errfile,
701     & tauvm_errfile,
702     & scatx_errfile,
703     & scaty_errfile,
704     & data_errfile,
705     & geoid_errfile,
706     & geoid_covariancefile,
707     & ssh_errfile,
708     & ctdt_errfile,
709     & ctds_errfile,
710     & drift_errfile,
711     & udrifterrfile,
712     & vdrifterrfile,
713     & salterrfile,
714     & temperrfile,
715     & velerrfile,
716 heimbach 1.12 & salt0errfile,
717     & temp0errfile,
718     & vel0errfile,
719 heimbach 1.1 & atemp_errfile,
720     & aqh_errfile,
721 heimbach 1.6 & precip_errfile,
722 heimbach 1.7 & swflux_errfile,
723 heimbach 1.9 & swdown_errfile,
724 heimbach 1.1 & uwind_errfile,
725     & vwind_errfile
726     character*(MAX_LEN_FNAM) hflux_errfile
727     character*(MAX_LEN_FNAM) sflux_errfile
728     character*(MAX_LEN_FNAM) tauu_errfile
729     character*(MAX_LEN_FNAM) tauv_errfile
730     character*(MAX_LEN_FNAM) hfluxm_errfile
731     character*(MAX_LEN_FNAM) sfluxm_errfile
732     character*(MAX_LEN_FNAM) tauum_errfile
733     character*(MAX_LEN_FNAM) tauvm_errfile
734     character*(MAX_LEN_FNAM) scatx_errfile
735     character*(MAX_LEN_FNAM) scaty_errfile
736     character*(MAX_LEN_FNAM) data_errfile
737     character*(MAX_LEN_FNAM) geoid_errfile
738     character*(MAX_LEN_FNAM) geoid_covariancefile
739     character*(MAX_LEN_FNAM) ssh_errfile
740     character*(MAX_LEN_FNAM) ctdt_errfile
741     character*(MAX_LEN_FNAM) ctds_errfile
742     character*(MAX_LEN_FNAM) drift_errfile
743     character*(MAX_LEN_FNAM) udrifterrfile
744     character*(MAX_LEN_FNAM) vdrifterrfile
745     character*(MAX_LEN_FNAM) salterrfile
746     character*(MAX_LEN_FNAM) temperrfile
747     character*(MAX_LEN_FNAM) velerrfile
748 heimbach 1.12 character*(MAX_LEN_FNAM) salt0errfile
749     character*(MAX_LEN_FNAM) temp0errfile
750     character*(MAX_LEN_FNAM) vel0errfile
751 heimbach 1.1 character*(MAX_LEN_FNAM) atemp_errfile
752     character*(MAX_LEN_FNAM) aqh_errfile
753 heimbach 1.6 character*(MAX_LEN_FNAM) precip_errfile
754 heimbach 1.7 character*(MAX_LEN_FNAM) swflux_errfile
755 heimbach 1.9 character*(MAX_LEN_FNAM) swdown_errfile
756 heimbach 1.1 character*(MAX_LEN_FNAM) uwind_errfile
757     character*(MAX_LEN_FNAM) vwind_errfile
758    
759    
760     c Arrays where the weights are stored:
761     c ====================================
762     c
763     c cosphi - cosine of latitude.
764     c whflux - weight for heat flux.
765     c wsflux - weight for salt flux.
766     c wtauu - weight for zonal wind stress.
767     c wtauu - weight for meridional wind stress.
768     c wscatx - weight for zonal scat stress.
769     c wscaty - weight for meridional scat stress.
770     c wtheta - weight for temperature.
771     c wtheta2 - representation error due to unresolved eddies
772     c wsst - weight for sea surface temperature.
773     c wsss - weight for sea surface salinity.
774     c wsalt - weight for salinity.
775     c wsalt2 - representation error due to unresolved eddies
776     c wtp - weight for TOPEX/POSEIDON data.
777     c wers - weight for ERS data.
778     c wp - weight for geoid.
779     c wctdt - weight for CTD temperature.
780     c wctds - weight for CTD salinity.
781     c wudrift - weight for mean zonal velocity from drifters.
782     c wvdrift - weight for mean meridional velocity from drifters.
783    
784     common /ecco_cost_weights_r/
785     & frame,
786     & cosphi,
787     & whflux,wsflux,wtauu,wtauv,
788 heimbach 1.9 & watemp,waqh,wprecip,wswflux,wswdown,
789     & wuwind,wvwind,
790 heimbach 1.1 & wscatx,wscaty,
791     & wtheta,wtheta2,wthetaLev,
792     & wsalt,wsalt2,wsaltLev,
793 heimbach 1.20 & wdiffkr,wdiffkr2,wdiffkrFld,
794     & wkapgm,wkapgm2,wkapgmFld,
795     & wedtaux,wedtaux2,wedtauxFld,
796     & wedtauy,wedtauy2,wedtauyFld,
797 heimbach 1.1 & wsst,wsss,
798 heimbach 1.15 & wtp,wers,wgfo,
799 heimbach 1.1 & wp,
800     & wctdt,wctds,
801     & wudrift,wvdrift,
802     & whfluxmm,wsfluxmm,
803     & wcurrent,wcurrent2,
804     & wcurrentLev,wbaro
805    
806     _RL frame (1-olx:snx+olx,1-oly:sny+oly )
807     _RL cosphi (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
808     _RL whflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
809     _RL whfluxm (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
810     _RL whfluxmm(1-olx:snx+olx,1-oly:sny+oly)
811     _RL wsflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
812     _RL wsfluxm (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
813     _RL wsfluxmm(1-olx:snx+olx,1-oly:sny+oly)
814     _RL wtauu (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
815     _RL wtauv (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
816     _RL wtauum (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
817     _RL wtauvm (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
818     _RL wscatx (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
819     _RL wscaty (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
820     _RL watemp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
821     _RL waqh (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
822 heimbach 1.6 _RL wprecip (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
823 heimbach 1.7 _RL wswflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
824 heimbach 1.9 _RL wswdown (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
825 heimbach 1.1 _RL wuwind (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
826     _RL wvwind (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
827     _RL wtheta ( nr,nsx,nsy)
828     _RL wsalt ( nr,nsx,nsy)
829     _RL wtheta2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
830     _RL wsalt2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
831     _RL wthetaLev (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
832     _RL wsaltLev (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
833     _RL wsst (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
834     _RL wsss (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
835     _RL wtp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
836     _RL wers (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
837 heimbach 1.15 _RL wgfo (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
838 heimbach 1.1 _RL wp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
839     _RL wctdt ( nr,nsx,nsy)
840     _RL wctds ( nr,nsx,nsy)
841     _RL wudrift (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
842     _RL wvdrift (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
843     _RL wcurrent( nr,nsx,nsy)
844     _RL wcurrent2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
845     _RL wcurrentLev (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
846     _RL wbaro
847 heimbach 1.20 _RL wdiffkr ( nr,nsx,nsy)
848     _RL wdiffkr2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
849     _RL wdiffkrFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
850     _RL wkapgm ( nr,nsx,nsy)
851     _RL wkapgm2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
852     _RL wkapgmFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
853     _RL wedtaux ( nr,nsx,nsy)
854     _RL wedtaux2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
855     _RL wedtauxFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
856     _RL wedtauy ( nr,nsx,nsy)
857     _RL wedtauy2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
858     _RL wedtauyFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
859 heimbach 1.1
860 heimbach 1.6 common /ecco_cost_weights_0_r/
861 heimbach 1.7 & whflux0, wsflux0, wtau0,
862 heimbach 1.20 & watemp0, waqh0, wprecip0, wswflux0, wswdown0, wwind0,
863     & wdiffkr0, wkapgm0, wedtau0
864 heimbach 1.6 _RL whflux0
865     _RL wsflux0
866     _RL wtau0
867     _RL watemp0
868     _RL waqh0
869     _RL wprecip0
870 heimbach 1.7 _RL wswflux0
871 heimbach 1.9 _RL wswdown0
872 heimbach 1.6 _RL wwind0
873 heimbach 1.20 _RL wdiffkr0
874     _RL wkapgm0
875     _RL wedtau0
876 heimbach 1.8
877     common /ecco_cost_weights_mean_r/
878     & wmean_hflux, wmean_sflux, wmean_tau,
879     & wmean_atemp, wmean_aqh,
880 heimbach 1.9 & wmean_precip, wmean_swflux, wmean_swdown, wmean_wind
881 heimbach 1.8 _RL wmean_hflux
882     _RL wmean_sflux
883     _RL wmean_tau
884     _RL wmean_atemp
885     _RL wmean_aqh
886     _RL wmean_precip
887     _RL wmean_swflux
888 heimbach 1.9 _RL wmean_swdown
889 heimbach 1.8 _RL wmean_wind
890 heimbach 1.6
891 heimbach 1.5 common /ecco_cost_weights_2_r/
892     & whflux2,wsflux2,wtauu2,wtauv2
893     _RL whflux2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
894     _RL wsflux2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
895     _RL wtauu2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
896     _RL wtauv2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
897    
898    
899    
900 heimbach 1.1 #if (defined (ALLOW_OBCSN_COST_CONTRIBUTION) || \
901     defined (ALLOW_OBCSN_CONTROL))
902     common /ecco_cost_weights_obcsn/
903     & wobcsn, wobcsnLev
904     _RL wobcsn ( nr,nobcs)
905     _RL wobcsnLev (1-olx:snx+olx,nr,nsx,nsy,nobcs)
906     #endif
907     #if (defined (ALLOW_OBCSS_COST_CONTRIBUTION) || \
908     defined (ALLOW_OBCSS_CONTROL))
909     common /ecco_cost_weights_obcss/
910     & wobcss, wobcssLev
911     _RL wobcss ( nr,nobcs)
912     _RL wobcssLev (1-olx:snx+olx,nr,nsx,nsy,nobcs)
913     #endif
914     #if (defined (ALLOW_OBCSW_COST_CONTRIBUTION) || \
915     defined (ALLOW_OBCSW_CONTROL))
916     common /ecco_cost_weights_obcsw/
917     & wobcsw, wobcswLev
918     _RL wobcsw ( nr,nobcs)
919     _RL wobcswLev (1-oly:sny+oly,nr,nsx,nsy,nobcs)
920     #endif
921     #if (defined (ALLOW_OBCSE_COST_CONTRIBUTION) || \
922     defined (ALLOW_OBCSE_CONTROL))
923     common /ecco_cost_weights_obcse/
924     & wobcse, wobcseLev
925     _RL wobcse ( nr,nobcs)
926     _RL wobcseLev (1-oly:sny+oly,nr,nsx,nsy,nobcs)
927     #endif
928    
929 heimbach 1.2
930 heimbach 1.1 c Arrays that contain observations for the model-data comparison:
931     c ===============================================================
932     c
933     c tdat - reference temperature data.
934     c scatxdat - reference zonal wind stress.
935     c scatydat - reference meridional wind stress.
936 heimbach 1.2 c sstdat - reference sea surface temperature data.
937 heimbach 1.1 c tmidat - reference TMI sea surface temperature data.
938     c sssdat - reference sea surface temperature data.
939     c tauxmask - mask for reference wind stress data.
940     c tauymask - mask for reference wind stress data.
941     c scatxmask - mask for scat wind stress data.
942     c scatymask - mask for scat wind stress data.
943 heimbach 1.2 c sstmask - mask for reference sea surface temperature data.
944 heimbach 1.1 c tmimask - mask for reference sea surface temperature data.
945     c sssmask - mask for reference sea surface temperature data.
946     c sdat - reference salinity data.
947     c tpmean - reference mean sea surface height data.
948     c tpmeanmask - mask for reference mean sea surface height data.
949     c tpobs - TOPEX/POSEIDON data.
950     c tpmask - mask for TOPEX/POSEIDON data.
951     c ersobs - ERS data.
952     c ersmask - mask for ERS data.
953     c ctdtobs - CTD temperature data
954     c ctdsobs - CTD salinity data
955     c xbtobs - XBT data
956     c argot - ARGO temperature data
957     c argos - ARGO salt data
958     c udriftdat - drifters zonal velocities
959     c vdriftdat - drifters meridional velocities
960    
961     common /ecco_cost_data_r/
962     & tdat,
963     & scatxdat,
964     & scatydat,
965 heimbach 1.2 & sstdat,
966 heimbach 1.1 & tmidat,
967     & sssdat,
968 heimbach 1.2 & sstmask,
969 heimbach 1.1 & tmimask,
970     & sssmask,
971     & tauxmask,
972     & tauymask,
973     & scatxmask,
974     & scatymask,
975     & sdat,
976     & tpmean,
977     & tpmeanmask,
978     & tpobs,
979     & tpmask,
980     & ersobs,
981     & ersmask,
982 heimbach 1.15 & gfoobs,
983     & gfomask,
984 heimbach 1.1 & ctdtobs,
985     & ctdsobs,
986     & xbtobs,
987     & argotobs,
988     & argosobs,
989     & udriftdat,
990     & vdriftdat,
991     & curmtruobs,
992     & curmtrvobs
993    
994     _RL tdat (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
995     _RL scatxdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
996     _RL scatydat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
997 heimbach 1.2 _RL sstdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
998 heimbach 1.1 _RL tmidat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
999     _RL sssdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1000     _RL tauxmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1001     _RL tauymask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1002     _RL scatxmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1003     _RL scatymask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1004 heimbach 1.2 _RL sstmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1005 heimbach 1.1 _RL tmimask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1006     _RL sssmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1007     _RL sdat (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1008     _RL tpmean (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1009     _RL tpmeanmask(1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1010     _RL tpobs (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1011     _RL tpmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1012     _RL ersobs (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1013     _RL ersmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1014 heimbach 1.15 _RL gfoobs (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1015     _RL gfomask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1016 heimbach 1.1 _RL ctdtobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1017     _RL ctdsobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1018     _RL xbtobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1019     _RL argotobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1020     _RL argosobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1021     _RL udriftdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1022     _RL vdriftdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1023     _RL curmtruobs(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1024     _RL curmtrvobs(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1025    
1026 heimbach 1.2
1027 heimbach 1.1 c Files that contain obervations:
1028     c ===============================
1029     c
1030     c tdatfile - reference data file for temperature.
1031     c sdatfile - reference data file for salinity.
1032     c scatxdatfile - reference data file for zonal wind stress.
1033     c scatydatfile - reference data file for meridional wind stress.
1034     c sstdatfile - reference data file for sea surface temperature.
1035 heimbach 1.2 c tmidatfile - reference data file for TMI sea surface temperature.
1036 heimbach 1.1 c topexmeanfile - reference data file for mean sea surface height.
1037     c topexfile - reference data file for sea surface height data
1038     c (TOPEX/POSEIDON).
1039     c ersfile - reference data file for sea surface height data
1040     c (ERS).
1041     c ctdtfile, ctdsfile- reference data file for temperature and salinity
1042     c from CTD
1043     c ctdtclimfile, ctdsclimfile- reference data file for temperature
1044 heimbach 1.2 c and salinity from CTD with out timetag
1045 heimbach 1.1 c xbtfile - reference data file for xbt
1046     c ARGOtfile - reference data file for ARGO
1047     c ARGOsfile - reference data file for ARGO
1048     c driftfile - reference data file for drifter's mean velocities
1049    
1050     common /ecco_cost_data_c/
1051     & tdatfile,
1052     & sdatfile,
1053     & scatxdatfile,
1054     & scatydatfile,
1055 heimbach 1.2 & sstdatfile,
1056 heimbach 1.1 & tmidatfile,
1057     & sssdatfile,
1058     & topexmeanfile,
1059     & topexfile,
1060     & ersfile,
1061 heimbach 1.15 & gfofile,
1062 heimbach 1.1 & ctdtfile,
1063     & ctdsfile,
1064     & ctdtclimfile,
1065     & ctdsclimfile,
1066     & xbtfile,
1067     & argotfile,
1068     & argosfile,
1069     & udriftfile,
1070     & vdriftfile,
1071     & curmtrufile,
1072 heimbach 1.19 & curmtrvfile
1073 heimbach 1.1
1074     character*(MAX_LEN_FNAM) tdatfile
1075     character*(MAX_LEN_FNAM) sdatfile
1076     character*(MAX_LEN_FNAM) scatxdatfile
1077     character*(MAX_LEN_FNAM) scatydatfile
1078 heimbach 1.2 character*(MAX_LEN_FNAM) sstdatfile
1079 heimbach 1.1 character*(MAX_LEN_FNAM) tmidatfile
1080     character*(MAX_LEN_FNAM) sssdatfile
1081     character*(MAX_LEN_FNAM) topexmeanfile
1082     character*(MAX_LEN_FNAM) topexfile
1083     character*(MAX_LEN_FNAM) ersfile
1084 heimbach 1.15 character*(MAX_LEN_FNAM) gfofile
1085 heimbach 1.1 character*(MAX_LEN_FNAM) ctdtfile
1086     character*(MAX_LEN_FNAM) ctdsfile
1087     character*(MAX_LEN_FNAM) ctdtclimfile
1088     character*(MAX_LEN_FNAM) ctdsclimfile
1089     character*(MAX_LEN_FNAM) xbtfile
1090     character*(MAX_LEN_FNAM) argotfile
1091     character*(MAX_LEN_FNAM) argosfile
1092     character*(MAX_LEN_FNAM) argofile
1093     character*(MAX_LEN_FNAM) udriftfile
1094     character*(MAX_LEN_FNAM) vdriftfile
1095     character*(MAX_LEN_FNAM) curmtrufile
1096     character*(MAX_LEN_FNAM) curmtrvfile
1097    
1098 heimbach 1.2
1099 heimbach 1.1 c Flags used in the model-data comparison:
1100     c ========================================
1101     c
1102     c using_ers - flag that indicates the use of ERS data
1103    
1104     common /ecco_cost_data_flags/
1105     & using_topex,
1106 heimbach 1.15 & using_ers,
1107     & using_gfo
1108 heimbach 1.1 logical using_topex
1109     logical using_ers
1110 heimbach 1.15 logical using_gfo
1111 heimbach 1.1
1112     c Calendar information for the observations:
1113     c ==========================================
1114     c
1115 heimbach 1.2 c sststartdate - start date of the sea surface temperature data.
1116 heimbach 1.1 c tmistartdate - start date of the sea surface temperature data.
1117     c topexstartdate - start date of the sea surface height data.
1118     c ersstartdate - start date of the sea surface height data.
1119 heimbach 1.2 c sshperiod - sampling interval for the sea surface height data.
1120 heimbach 1.1
1121     common /ecco_cost_data_times_i/
1122     & scatxstartdate,
1123     & scatystartdate,
1124     & sststartdate,
1125     & argotstartdate,
1126     & argosstartdate,
1127 heimbach 1.2 & tmistartdate,
1128     & sssstartdate,
1129 heimbach 1.1 & topexstartdate,
1130 heimbach 1.15 & ersstartdate,
1131     & gfostartdate
1132 heimbach 1.1 integer scatxstartdate(4)
1133     integer scatystartdate(4)
1134     integer sststartdate(4)
1135     integer argotstartdate(4)
1136     integer argosstartdate(4)
1137 heimbach 1.2 integer tmistartdate(4)
1138     integer sssstartdate(4)
1139 heimbach 1.1 integer topexstartdate(4)
1140     integer ersstartdate(4)
1141 heimbach 1.15 integer gfostartdate(4)
1142 heimbach 1.1
1143     common /ecco_cost_data_aux_i/
1144     & tmistartdate1,
1145     & tmistartdate2,
1146     & sststartdate1,
1147     & sststartdate2,
1148     & sssstartdate1,
1149     & sssstartdate2,
1150     & argotstartdate1,
1151     & argotstartdate2,
1152     & argosstartdate1,
1153     & argosstartdate2,
1154     & topexstartdate1,
1155     & topexstartdate2,
1156     & ersstartdate1,
1157     & ersstartdate2,
1158 heimbach 1.15 & gfostartdate1,
1159     & gfostartdate2,
1160 heimbach 1.1 & scatstartdate1,
1161 heimbach 1.10 & scatstartdate2
1162 heimbach 1.1
1163     integer tmistartdate1
1164     integer tmistartdate2
1165     integer sststartdate1
1166     integer sststartdate2
1167     integer sssstartdate1
1168     integer sssstartdate2
1169     integer argotstartdate1
1170     integer argotstartdate2
1171     integer argosstartdate1
1172     integer argosstartdate2
1173     integer topexstartdate1
1174     integer topexstartdate2
1175     integer ersstartdate1
1176     integer ersstartdate2
1177 heimbach 1.15 integer gfostartdate1
1178     integer gfostartdate2
1179 heimbach 1.1 integer scatstartdate1
1180     integer scatstartdate2
1181    
1182     common /ecco_cost_data_times_r/
1183     & topexperiod,
1184     & ersperiod,
1185 heimbach 1.15 & gfoperiod,
1186 heimbach 1.10 & scatperiod
1187 heimbach 1.1 _RL topexperiod
1188     _RL ersperiod
1189 heimbach 1.15 _RL gfoperiod
1190 heimbach 1.1 _RL scatperiod
1191    
1192 heimbach 1.17 common /ecco_cost_data_detrend/
1193     & topexintercept,
1194     & ersintercept,
1195     & gfointercept,
1196     & topexslope,
1197     & ersslope,
1198     & gfoslope
1199     _RL topexintercept
1200     _RL ersintercept
1201     _RL gfointercept
1202     _RL topexslope
1203     _RL ersslope
1204     _RL gfoslope
1205    
1206 heimbach 1.1 c ==================================================================
1207     c END OF HEADER COST
1208     c ==================================================================
1209 heimbach 1.2
1210    

  ViewVC Help
Powered by ViewVC 1.1.22