/[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.16 - (hide annotations) (download)
Thu Mar 2 02:53:23 2006 UTC (18 years, 3 months ago) by heimbach
Branch: MAIN
Changes since 1.15: +4 -0 lines
File MIME type: text/plain
Adding parameter to remove on-the-fly global mean and trend from
exf forcing and ctrl control adjustments

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     & objf_eddytau
357 heimbach 1.2
358 heimbach 1.1 _RL objf_hflux (nsx,nsy)
359     _RL objf_hfluxm (nsx,nsy)
360     _RL objf_hfluxmm(nsx,nsy)
361 heimbach 1.13 _RL objf_hfluxsmoo (nsx,nsy)
362 heimbach 1.1 _RL objf_sflux (nsx,nsy)
363     _RL objf_sfluxm (nsx,nsy)
364     _RL objf_sfluxmm(nsx,nsy)
365 heimbach 1.13 _RL objf_sfluxsmoo (nsx,nsy)
366 heimbach 1.1 _RL objf_tauu (nsx,nsy)
367     _RL objf_tauum (nsx,nsy)
368 heimbach 1.13 _RL objf_tauusmoo (nsx,nsy)
369 heimbach 1.1 _RL objf_tauv (nsx,nsy)
370     _RL objf_tauvm (nsx,nsy)
371 heimbach 1.13 _RL objf_tauvsmoo (nsx,nsy)
372 heimbach 1.2 _RL objf_hmean
373 heimbach 1.1 _RL objf_h (nsx,nsy)
374     _RL objf_temp (nsx,nsy)
375     _RL objf_salt (nsx,nsy)
376     _RL objf_temp0(nsx,nsy)
377     _RL objf_salt0(nsx,nsy)
378 heimbach 1.14 _RL objf_temp0smoo(nsx,nsy)
379     _RL objf_salt0smoo(nsx,nsy)
380 heimbach 1.2 _RL objf_sst (nsx,nsy)
381 heimbach 1.1 _RL objf_tmi (nsx,nsy)
382     _RL objf_sss (nsx,nsy)
383     _RL objf_ctdt (nsx,nsy)
384     _RL objf_ctds (nsx,nsy)
385     _RL objf_ctdtclim (nsx,nsy)
386     _RL objf_ctdsclim (nsx,nsy)
387     _RL objf_xbt (nsx,nsy)
388     _RL objf_argot(nsx,nsy)
389     _RL objf_argos(nsx,nsy)
390     _RL objf_drift(nsx,nsy)
391     _RL objf_tdrift(nsx,nsy)
392     _RL objf_sdrift(nsx,nsy)
393     _RL objf_wdrift(nsx,nsy)
394     _RL objf_scatx(nsx,nsy)
395     _RL objf_scaty(nsx,nsy)
396     _RL objf_scatxm(nsx,nsy)
397     _RL objf_scatym(nsx,nsy)
398     _RL objf_atemp(nsx,nsy)
399     _RL objf_aqh (nsx,nsy)
400 heimbach 1.6 _RL objf_precip(nsx,nsy)
401 heimbach 1.7 _RL objf_swflux(nsx,nsy)
402 heimbach 1.9 _RL objf_swdown(nsx,nsy)
403 heimbach 1.1 _RL objf_uwind(nsx,nsy)
404     _RL objf_vwind(nsx,nsy)
405 heimbach 1.8 _RL objf_atempm(nsx,nsy)
406     _RL objf_aqhm (nsx,nsy)
407     _RL objf_precipm(nsx,nsy)
408     _RL objf_swfluxm(nsx,nsy)
409 heimbach 1.9 _RL objf_swdownm(nsx,nsy)
410 heimbach 1.8 _RL objf_uwindm(nsx,nsy)
411     _RL objf_vwindm(nsx,nsy)
412 heimbach 1.13 _RL objf_atempsmoo(nsx,nsy)
413     _RL objf_aqhsmoo (nsx,nsy)
414     _RL objf_precipsmoo(nsx,nsy)
415     _RL objf_swfluxsmoo(nsx,nsy)
416     _RL objf_swdownsmoo(nsx,nsy)
417     _RL objf_uwindsmoo(nsx,nsy)
418     _RL objf_vwindsmoo(nsx,nsy)
419 heimbach 1.1 _RL objf_obcsn(nsx,nsy)
420     _RL objf_obcss(nsx,nsy)
421     _RL objf_obcsw(nsx,nsy)
422     _RL objf_obcse(nsx,nsy)
423 heimbach 1.2 _RL objf_obcsvol
424 heimbach 1.1 _RL objf_curmtr(nsx,nsy)
425     _RL objf_ageos(nsx,nsy)
426     _RL objf_kapgm(nsx,nsy)
427     _RL objf_diffkr(nsx,nsy)
428     _RL objf_theta_ini_fin(nsx,nsy)
429     _RL objf_salt_ini_fin(nsx,nsy)
430 heimbach 1.3 _RL objf_eddytau(nsx,nsy)
431 heimbach 1.1
432 heimbach 1.4 common /ecco_cost_num/
433     & num_hflux,
434     & num_hfluxm,
435     & num_hfluxmm,
436     & num_sflux,
437     & num_sfluxm,
438     & num_sfluxmm,
439     & num_tauu,
440     & num_tauum,
441     & num_tauv,
442     & num_tauvm,
443     & num_hmean,
444     & num_h,
445     & num_temp,
446     & num_salt,
447     & num_temp0,
448     & num_salt0,
449     & num_sst,
450     & num_tmi,
451     & num_sss,
452     & num_ctdt,
453     & num_ctds,
454     & num_ctdtclim,
455     & num_ctdsclim,
456     & num_xbt,
457     & num_argot,
458     & num_argos,
459     & num_drift,
460     & num_tdrift,
461     & num_sdrift,
462     & num_wdrift,
463     & num_scatx,
464     & num_scaty,
465     & num_scatxm,
466     & num_scatym,
467     & num_atemp,
468     & num_aqh,
469 heimbach 1.6 & num_precip,
470 heimbach 1.7 & num_swflux,
471 heimbach 1.9 & num_swdown,
472 heimbach 1.4 & num_uwind,
473     & num_vwind,
474 heimbach 1.8 & num_atempm,
475     & num_aqhm,
476     & num_precipm,
477     & num_swfluxm,
478 heimbach 1.9 & num_swdownm,
479 heimbach 1.8 & num_uwindm,
480     & num_vwindm,
481 heimbach 1.4 & num_obcsn,
482     & num_obcss,
483     & num_obcsw,
484     & num_obcse,
485     & num_obcsvol,
486     & num_curmtr,
487     & num_ageos,
488 heimbach 1.9 & num_kapgm,
489 heimbach 1.4 & num_diffkr,
490     & num_theta_ini_fin,
491     & num_salt_ini_fin,
492     & num_eddytau
493    
494     _RL num_hflux (nsx,nsy)
495     _RL num_hfluxm (nsx,nsy)
496     _RL num_hfluxmm(nsx,nsy)
497     _RL num_sflux (nsx,nsy)
498     _RL num_sfluxm (nsx,nsy)
499     _RL num_sfluxmm(nsx,nsy)
500     _RL num_tauu (nsx,nsy)
501     _RL num_tauum (nsx,nsy)
502     _RL num_tauv (nsx,nsy)
503     _RL num_tauvm (nsx,nsy)
504     _RL num_hmean
505     _RL num_h (nsx,nsy)
506     _RL num_temp (nsx,nsy)
507     _RL num_salt (nsx,nsy)
508     _RL num_temp0(nsx,nsy)
509     _RL num_salt0(nsx,nsy)
510     _RL num_sst (nsx,nsy)
511     _RL num_tmi (nsx,nsy)
512     _RL num_sss (nsx,nsy)
513     _RL num_ctdt (nsx,nsy)
514     _RL num_ctds (nsx,nsy)
515     _RL num_ctdtclim (nsx,nsy)
516     _RL num_ctdsclim (nsx,nsy)
517     _RL num_xbt (nsx,nsy)
518     _RL num_argot(nsx,nsy)
519     _RL num_argos(nsx,nsy)
520     _RL num_drift(nsx,nsy)
521     _RL num_tdrift(nsx,nsy)
522     _RL num_sdrift(nsx,nsy)
523     _RL num_wdrift(nsx,nsy)
524     _RL num_scatx(nsx,nsy)
525     _RL num_scaty(nsx,nsy)
526     _RL num_scatxm(nsx,nsy)
527     _RL num_scatym(nsx,nsy)
528     _RL num_atemp(nsx,nsy)
529     _RL num_aqh (nsx,nsy)
530 heimbach 1.6 _RL num_precip(nsx,nsy)
531 heimbach 1.7 _RL num_swflux(nsx,nsy)
532 heimbach 1.9 _RL num_swdown(nsx,nsy)
533 heimbach 1.4 _RL num_uwind(nsx,nsy)
534     _RL num_vwind(nsx,nsy)
535 heimbach 1.8 _RL num_atempm(nsx,nsy)
536     _RL num_aqhm (nsx,nsy)
537     _RL num_precipm(nsx,nsy)
538     _RL num_swfluxm(nsx,nsy)
539 heimbach 1.9 _RL num_swdownm(nsx,nsy)
540 heimbach 1.8 _RL num_uwindm(nsx,nsy)
541     _RL num_vwindm(nsx,nsy)
542 heimbach 1.4 _RL num_obcsn(nsx,nsy)
543     _RL num_obcss(nsx,nsy)
544     _RL num_obcsw(nsx,nsy)
545     _RL num_obcse(nsx,nsy)
546     _RL num_obcsvol
547     _RL num_curmtr(nsx,nsy)
548     _RL num_ageos(nsx,nsy)
549     _RL num_kapgm(nsx,nsy)
550     _RL num_diffkr(nsx,nsy)
551     _RL num_theta_ini_fin(nsx,nsy)
552     _RL num_salt_ini_fin(nsx,nsy)
553     _RL num_eddytau(nsx,nsy)
554    
555 heimbach 1.1 common /ecco_cost_aux_r/
556     & mult_hflux,
557     & mult_sflux,
558 heimbach 1.16 & mult_hfluxmm,
559     & mult_sfluxmm,
560 heimbach 1.1 & mult_tauu,
561     & mult_tauv,
562     & mult_hmean,
563     & mult_h,
564     & mult_temp,
565     & mult_salt,
566     & mult_temp0,
567     & mult_salt0,
568 heimbach 1.2 & mult_sst,
569 heimbach 1.1 & mult_tmi,
570     & mult_sss,
571     & mult_ctdt,
572     & mult_ctds,
573     & mult_ctdtclim,
574     & mult_ctdsclim,
575     & mult_xbt,
576     & mult_argot,
577     & mult_argos,
578     & mult_drift,
579     & mult_tdrift,
580     & mult_sdrift,
581     & mult_wdrift,
582     & mult_scatx,
583     & mult_scaty,
584     & mult_atemp,
585     & mult_aqh,
586 heimbach 1.6 & mult_precip,
587 heimbach 1.7 & mult_swflux,
588 heimbach 1.9 & mult_swdown,
589 heimbach 1.1 & mult_uwind,
590     & mult_vwind,
591     & mult_obcsn,
592     & mult_obcss,
593     & mult_obcsw,
594     & mult_obcse,
595     & mult_obcsvol,
596     & mult_curmtr,
597     & mult_ageos,
598     & mult_kapgm,
599     & mult_diffkr,
600 heimbach 1.3 & mult_ini_fin,
601 heimbach 1.13 & mult_eddytau,
602 heimbach 1.14 & mult_smooth_ic,
603     & mult_smooth_bc
604 heimbach 1.2
605 heimbach 1.1 _RL mult_hflux
606     _RL mult_sflux
607 heimbach 1.16 _RL mult_hfluxmm
608     _RL mult_sfluxmm
609 heimbach 1.1 _RL mult_tauu
610     _RL mult_tauv
611     _RL mult_hmean
612     _RL mult_h
613     _RL mult_temp
614     _RL mult_salt
615     _RL mult_temp0
616     _RL mult_salt0
617 heimbach 1.2 _RL mult_sst
618 heimbach 1.1 _RL mult_tmi
619     _RL mult_sss
620     _RL mult_ctdt
621     _RL mult_ctds
622     _RL mult_ctdtclim
623     _RL mult_ctdsclim
624     _RL mult_xbt
625     _RL mult_argot
626     _RL mult_argos
627     _RL mult_drift
628     _RL mult_tdrift
629     _RL mult_sdrift
630     _RL mult_wdrift
631     _RL mult_scatx
632     _RL mult_scaty
633     _RL mult_atemp
634     _RL mult_aqh
635 heimbach 1.6 _RL mult_precip
636 heimbach 1.7 _RL mult_swflux
637 heimbach 1.9 _RL mult_swdown
638 heimbach 1.1 _RL mult_uwind
639     _RL mult_vwind
640     _RL mult_obcsn
641     _RL mult_obcss
642     _RL mult_obcsw
643     _RL mult_obcse
644     _RL mult_obcsvol
645     _RL mult_curmtr
646     _RL mult_ageos
647     _RL mult_kapgm
648     _RL mult_diffkr
649     _RL mult_ini_fin
650 heimbach 1.3 _RL mult_eddytau
651 heimbach 1.14 _RL mult_smooth_ic
652     _RL mult_smooth_bc
653 heimbach 1.1
654     c Record counters relevant for the cost function evaluation.
655     c ==========================================================
656     c
657     c nmonsrec - number of monthly records that will be generated by
658     c the current model integration.
659     c ndaysrec - number of daily records that will be generated by
660     c the current model integration.
661    
662     common /ecco_cost_i/
663     & nmonsrec,
664 heimbach 1.11 & ndaysrec,
665     & nnztbar,
666     & nnzsbar
667 heimbach 1.1 integer nmonsrec
668     integer ndaysrec
669 heimbach 1.11 integer nnztbar
670     integer nnzsbar
671 heimbach 1.1
672    
673     c Data files for the weights used in the cost function:
674     c =====================================================
675     c
676     c hflux_errfile - heat flux error.
677     c sflux_errfile - salt flux error.
678     c tauu_errfile - zonal wind stress error.
679     c tauum_errfile - zonal wind stress error.
680     c tauv_errfile - meridional wind stress error.
681     c tauvm_errfile - meridional wind stress error.
682     c tscatx_errfile - zonal wind stress error.
683     c tscaty_errfile - meridional wind stress error.
684     c data_errfile - weights for theta, salt, and SST
685     c geoid_errfile - geoid error.
686     c geoid_covariancefile - geoid error covariance.
687     c ssh_errfile - sea surface height error.
688     c ctdt_errfile - CTD temperature error.
689     c ctds_errfile - CTD salinity error.
690     c drift_errfile - drifter error.
691     c salterrfile - representation error due unresolved eddies
692     c temperrfile - representation error due unresolved eddies
693     c velerrfile - representation error
694    
695     common /ecco_cost_c/
696     & hflux_errfile,
697     & hfluxm_errfile,
698     & sflux_errfile,
699     & sfluxm_errfile,
700     & tauu_errfile,
701     & tauum_errfile,
702     & tauv_errfile,
703     & tauvm_errfile,
704     & scatx_errfile,
705     & scaty_errfile,
706     & data_errfile,
707     & geoid_errfile,
708     & geoid_covariancefile,
709     & ssh_errfile,
710     & ctdt_errfile,
711     & ctds_errfile,
712     & drift_errfile,
713     & udrifterrfile,
714     & vdrifterrfile,
715     & salterrfile,
716     & temperrfile,
717     & velerrfile,
718 heimbach 1.12 & salt0errfile,
719     & temp0errfile,
720     & vel0errfile,
721 heimbach 1.1 & atemp_errfile,
722     & aqh_errfile,
723 heimbach 1.6 & precip_errfile,
724 heimbach 1.7 & swflux_errfile,
725 heimbach 1.9 & swdown_errfile,
726 heimbach 1.1 & uwind_errfile,
727     & vwind_errfile
728     character*(MAX_LEN_FNAM) hflux_errfile
729     character*(MAX_LEN_FNAM) sflux_errfile
730     character*(MAX_LEN_FNAM) tauu_errfile
731     character*(MAX_LEN_FNAM) tauv_errfile
732     character*(MAX_LEN_FNAM) hfluxm_errfile
733     character*(MAX_LEN_FNAM) sfluxm_errfile
734     character*(MAX_LEN_FNAM) tauum_errfile
735     character*(MAX_LEN_FNAM) tauvm_errfile
736     character*(MAX_LEN_FNAM) scatx_errfile
737     character*(MAX_LEN_FNAM) scaty_errfile
738     character*(MAX_LEN_FNAM) data_errfile
739     character*(MAX_LEN_FNAM) geoid_errfile
740     character*(MAX_LEN_FNAM) geoid_covariancefile
741     character*(MAX_LEN_FNAM) ssh_errfile
742     character*(MAX_LEN_FNAM) ctdt_errfile
743     character*(MAX_LEN_FNAM) ctds_errfile
744     character*(MAX_LEN_FNAM) drift_errfile
745     character*(MAX_LEN_FNAM) udrifterrfile
746     character*(MAX_LEN_FNAM) vdrifterrfile
747     character*(MAX_LEN_FNAM) salterrfile
748     character*(MAX_LEN_FNAM) temperrfile
749     character*(MAX_LEN_FNAM) velerrfile
750 heimbach 1.12 character*(MAX_LEN_FNAM) salt0errfile
751     character*(MAX_LEN_FNAM) temp0errfile
752     character*(MAX_LEN_FNAM) vel0errfile
753 heimbach 1.1 character*(MAX_LEN_FNAM) atemp_errfile
754     character*(MAX_LEN_FNAM) aqh_errfile
755 heimbach 1.6 character*(MAX_LEN_FNAM) precip_errfile
756 heimbach 1.7 character*(MAX_LEN_FNAM) swflux_errfile
757 heimbach 1.9 character*(MAX_LEN_FNAM) swdown_errfile
758 heimbach 1.1 character*(MAX_LEN_FNAM) uwind_errfile
759     character*(MAX_LEN_FNAM) vwind_errfile
760    
761    
762     c Arrays where the weights are stored:
763     c ====================================
764     c
765     c cosphi - cosine of latitude.
766     c whflux - weight for heat flux.
767     c wsflux - weight for salt flux.
768     c wtauu - weight for zonal wind stress.
769     c wtauu - weight for meridional wind stress.
770     c wscatx - weight for zonal scat stress.
771     c wscaty - weight for meridional scat stress.
772     c wtheta - weight for temperature.
773     c wtheta2 - representation error due to unresolved eddies
774     c wsst - weight for sea surface temperature.
775     c wsss - weight for sea surface salinity.
776     c wsalt - weight for salinity.
777     c wsalt2 - representation error due to unresolved eddies
778     c wtp - weight for TOPEX/POSEIDON data.
779     c wers - weight for ERS data.
780     c wp - weight for geoid.
781     c wctdt - weight for CTD temperature.
782     c wctds - weight for CTD salinity.
783     c wudrift - weight for mean zonal velocity from drifters.
784     c wvdrift - weight for mean meridional velocity from drifters.
785    
786     common /ecco_cost_weights_r/
787     & frame,
788     & cosphi,
789     & whflux,wsflux,wtauu,wtauv,
790 heimbach 1.9 & watemp,waqh,wprecip,wswflux,wswdown,
791     & wuwind,wvwind,
792 heimbach 1.1 & wscatx,wscaty,
793     & wtheta,wtheta2,wthetaLev,
794     & wsalt,wsalt2,wsaltLev,
795     & wsst,wsss,
796 heimbach 1.15 & wtp,wers,wgfo,
797 heimbach 1.1 & wp,
798     & wctdt,wctds,
799     & wudrift,wvdrift,
800     & whfluxmm,wsfluxmm,
801     & wcurrent,wcurrent2,
802     & wcurrentLev,wbaro
803    
804     _RL frame (1-olx:snx+olx,1-oly:sny+oly )
805     _RL cosphi (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
806     _RL whflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
807     _RL whfluxm (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
808     _RL whfluxmm(1-olx:snx+olx,1-oly:sny+oly)
809     _RL wsflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
810     _RL wsfluxm (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
811     _RL wsfluxmm(1-olx:snx+olx,1-oly:sny+oly)
812     _RL wtauu (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
813     _RL wtauv (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
814     _RL wtauum (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
815     _RL wtauvm (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
816     _RL wscatx (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
817     _RL wscaty (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
818     _RL watemp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
819     _RL waqh (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
820 heimbach 1.6 _RL wprecip (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
821 heimbach 1.7 _RL wswflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
822 heimbach 1.9 _RL wswdown (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
823 heimbach 1.1 _RL wuwind (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
824     _RL wvwind (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
825     _RL wtheta ( nr,nsx,nsy)
826     _RL wsalt ( nr,nsx,nsy)
827     _RL wtheta2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
828     _RL wsalt2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
829     _RL wthetaLev (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
830     _RL wsaltLev (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
831     _RL wsst (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
832     _RL wsss (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
833     _RL wtp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
834     _RL wers (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
835 heimbach 1.15 _RL wgfo (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
836 heimbach 1.1 _RL wp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
837     _RL wctdt ( nr,nsx,nsy)
838     _RL wctds ( nr,nsx,nsy)
839     _RL wudrift (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
840     _RL wvdrift (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
841     _RL wcurrent( nr,nsx,nsy)
842     _RL wcurrent2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
843     _RL wcurrentLev (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
844     _RL wbaro
845    
846 heimbach 1.6 common /ecco_cost_weights_0_r/
847 heimbach 1.7 & whflux0, wsflux0, wtau0,
848 heimbach 1.9 & watemp0, waqh0, wprecip0, wswflux0, wswdown0, wwind0
849 heimbach 1.6 _RL whflux0
850     _RL wsflux0
851     _RL wtau0
852     _RL watemp0
853     _RL waqh0
854     _RL wprecip0
855 heimbach 1.7 _RL wswflux0
856 heimbach 1.9 _RL wswdown0
857 heimbach 1.6 _RL wwind0
858 heimbach 1.8
859     common /ecco_cost_weights_mean_r/
860     & wmean_hflux, wmean_sflux, wmean_tau,
861     & wmean_atemp, wmean_aqh,
862 heimbach 1.9 & wmean_precip, wmean_swflux, wmean_swdown, wmean_wind
863 heimbach 1.8 _RL wmean_hflux
864     _RL wmean_sflux
865     _RL wmean_tau
866     _RL wmean_atemp
867     _RL wmean_aqh
868     _RL wmean_precip
869     _RL wmean_swflux
870 heimbach 1.9 _RL wmean_swdown
871 heimbach 1.8 _RL wmean_wind
872 heimbach 1.6
873 heimbach 1.5 common /ecco_cost_weights_2_r/
874     & whflux2,wsflux2,wtauu2,wtauv2
875     _RL whflux2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
876     _RL wsflux2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
877     _RL wtauu2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
878     _RL wtauv2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
879    
880    
881    
882 heimbach 1.1 #if (defined (ALLOW_OBCSN_COST_CONTRIBUTION) || \
883     defined (ALLOW_OBCSN_CONTROL))
884     common /ecco_cost_weights_obcsn/
885     & wobcsn, wobcsnLev
886     _RL wobcsn ( nr,nobcs)
887     _RL wobcsnLev (1-olx:snx+olx,nr,nsx,nsy,nobcs)
888     #endif
889     #if (defined (ALLOW_OBCSS_COST_CONTRIBUTION) || \
890     defined (ALLOW_OBCSS_CONTROL))
891     common /ecco_cost_weights_obcss/
892     & wobcss, wobcssLev
893     _RL wobcss ( nr,nobcs)
894     _RL wobcssLev (1-olx:snx+olx,nr,nsx,nsy,nobcs)
895     #endif
896     #if (defined (ALLOW_OBCSW_COST_CONTRIBUTION) || \
897     defined (ALLOW_OBCSW_CONTROL))
898     common /ecco_cost_weights_obcsw/
899     & wobcsw, wobcswLev
900     _RL wobcsw ( nr,nobcs)
901     _RL wobcswLev (1-oly:sny+oly,nr,nsx,nsy,nobcs)
902     #endif
903     #if (defined (ALLOW_OBCSE_COST_CONTRIBUTION) || \
904     defined (ALLOW_OBCSE_CONTROL))
905     common /ecco_cost_weights_obcse/
906     & wobcse, wobcseLev
907     _RL wobcse ( nr,nobcs)
908     _RL wobcseLev (1-oly:sny+oly,nr,nsx,nsy,nobcs)
909     #endif
910    
911 heimbach 1.2
912 heimbach 1.1 c Arrays that contain observations for the model-data comparison:
913     c ===============================================================
914     c
915     c tdat - reference temperature data.
916     c scatxdat - reference zonal wind stress.
917     c scatydat - reference meridional wind stress.
918 heimbach 1.2 c sstdat - reference sea surface temperature data.
919 heimbach 1.1 c tmidat - reference TMI sea surface temperature data.
920     c sssdat - reference sea surface temperature data.
921     c tauxmask - mask for reference wind stress data.
922     c tauymask - mask for reference wind stress data.
923     c scatxmask - mask for scat wind stress data.
924     c scatymask - mask for scat wind stress data.
925 heimbach 1.2 c sstmask - mask for reference sea surface temperature data.
926 heimbach 1.1 c tmimask - mask for reference sea surface temperature data.
927     c sssmask - mask for reference sea surface temperature data.
928     c sdat - reference salinity data.
929     c tpmean - reference mean sea surface height data.
930     c tpmeanmask - mask for reference mean sea surface height data.
931     c tpobs - TOPEX/POSEIDON data.
932     c tpmask - mask for TOPEX/POSEIDON data.
933     c ersobs - ERS data.
934     c ersmask - mask for ERS data.
935     c ctdtobs - CTD temperature data
936     c ctdsobs - CTD salinity data
937     c xbtobs - XBT data
938     c argot - ARGO temperature data
939     c argos - ARGO salt data
940     c udriftdat - drifters zonal velocities
941     c vdriftdat - drifters meridional velocities
942    
943     common /ecco_cost_data_r/
944     & tdat,
945     & scatxdat,
946     & scatydat,
947 heimbach 1.2 & sstdat,
948 heimbach 1.1 & tmidat,
949     & sssdat,
950 heimbach 1.2 & sstmask,
951 heimbach 1.1 & tmimask,
952     & sssmask,
953     & tauxmask,
954     & tauymask,
955     & scatxmask,
956     & scatymask,
957     & sdat,
958     & tpmean,
959     & tpmeanmask,
960     & tpobs,
961     & tpmask,
962     & ersobs,
963     & ersmask,
964 heimbach 1.15 & gfoobs,
965     & gfomask,
966 heimbach 1.1 & ctdtobs,
967     & ctdsobs,
968     & xbtobs,
969     & argotobs,
970     & argosobs,
971     & udriftdat,
972     & vdriftdat,
973     & curmtruobs,
974     & curmtrvobs
975    
976     _RL tdat (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
977     _RL scatxdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
978     _RL scatydat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
979 heimbach 1.2 _RL sstdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
980 heimbach 1.1 _RL tmidat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
981     _RL sssdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
982     _RL tauxmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
983     _RL tauymask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
984     _RL scatxmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
985     _RL scatymask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
986 heimbach 1.2 _RL sstmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
987 heimbach 1.1 _RL tmimask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
988     _RL sssmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
989     _RL sdat (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
990     _RL tpmean (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
991     _RL tpmeanmask(1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
992     _RL tpobs (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
993     _RL tpmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
994     _RL ersobs (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
995     _RL ersmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
996 heimbach 1.15 _RL gfoobs (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
997     _RL gfomask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
998 heimbach 1.1 _RL ctdtobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
999     _RL ctdsobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1000     _RL xbtobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1001     _RL argotobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1002     _RL argosobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1003     _RL udriftdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1004     _RL vdriftdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1005     _RL curmtruobs(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1006     _RL curmtrvobs(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1007    
1008 heimbach 1.2
1009 heimbach 1.1 c Files that contain obervations:
1010     c ===============================
1011     c
1012     c tdatfile - reference data file for temperature.
1013     c sdatfile - reference data file for salinity.
1014     c scatxdatfile - reference data file for zonal wind stress.
1015     c scatydatfile - reference data file for meridional wind stress.
1016     c sstdatfile - reference data file for sea surface temperature.
1017 heimbach 1.2 c tmidatfile - reference data file for TMI sea surface temperature.
1018 heimbach 1.1 c topexmeanfile - reference data file for mean sea surface height.
1019     c topexfile - reference data file for sea surface height data
1020     c (TOPEX/POSEIDON).
1021     c ersfile - reference data file for sea surface height data
1022     c (ERS).
1023     c ctdtfile, ctdsfile- reference data file for temperature and salinity
1024     c from CTD
1025     c ctdtclimfile, ctdsclimfile- reference data file for temperature
1026 heimbach 1.2 c and salinity from CTD with out timetag
1027 heimbach 1.1 c xbtfile - reference data file for xbt
1028     c ARGOtfile - reference data file for ARGO
1029     c ARGOsfile - reference data file for ARGO
1030     c driftfile - reference data file for drifter's mean velocities
1031    
1032     common /ecco_cost_data_c/
1033     & tdatfile,
1034     & sdatfile,
1035     & scatxdatfile,
1036     & scatydatfile,
1037 heimbach 1.2 & sstdatfile,
1038 heimbach 1.1 & tmidatfile,
1039     & sssdatfile,
1040     & topexmeanfile,
1041     & topexfile,
1042     & ersfile,
1043 heimbach 1.15 & gfofile,
1044 heimbach 1.1 & ctdtfile,
1045     & ctdsfile,
1046     & ctdtclimfile,
1047     & ctdsclimfile,
1048     & xbtfile,
1049     & argotfile,
1050     & argosfile,
1051     & udriftfile,
1052     & vdriftfile,
1053     & curmtrufile,
1054     & curmtrvfile
1055    
1056     character*(MAX_LEN_FNAM) tdatfile
1057     character*(MAX_LEN_FNAM) sdatfile
1058     character*(MAX_LEN_FNAM) scatxdatfile
1059     character*(MAX_LEN_FNAM) scatydatfile
1060 heimbach 1.2 character*(MAX_LEN_FNAM) sstdatfile
1061 heimbach 1.1 character*(MAX_LEN_FNAM) tmidatfile
1062     character*(MAX_LEN_FNAM) sssdatfile
1063     character*(MAX_LEN_FNAM) topexmeanfile
1064     character*(MAX_LEN_FNAM) topexfile
1065     character*(MAX_LEN_FNAM) ersfile
1066 heimbach 1.15 character*(MAX_LEN_FNAM) gfofile
1067 heimbach 1.1 character*(MAX_LEN_FNAM) ctdtfile
1068     character*(MAX_LEN_FNAM) ctdsfile
1069     character*(MAX_LEN_FNAM) ctdtclimfile
1070     character*(MAX_LEN_FNAM) ctdsclimfile
1071     character*(MAX_LEN_FNAM) xbtfile
1072     character*(MAX_LEN_FNAM) argotfile
1073     character*(MAX_LEN_FNAM) argosfile
1074     character*(MAX_LEN_FNAM) argofile
1075     character*(MAX_LEN_FNAM) udriftfile
1076     character*(MAX_LEN_FNAM) vdriftfile
1077     character*(MAX_LEN_FNAM) curmtrufile
1078     character*(MAX_LEN_FNAM) curmtrvfile
1079    
1080 heimbach 1.2
1081 heimbach 1.1 c Flags used in the model-data comparison:
1082     c ========================================
1083     c
1084     c using_ers - flag that indicates the use of ERS data
1085    
1086     common /ecco_cost_data_flags/
1087     & using_topex,
1088 heimbach 1.15 & using_ers,
1089     & using_gfo
1090 heimbach 1.1 logical using_topex
1091     logical using_ers
1092 heimbach 1.15 logical using_gfo
1093 heimbach 1.1
1094     c Calendar information for the observations:
1095     c ==========================================
1096     c
1097 heimbach 1.2 c sststartdate - start date of the sea surface temperature data.
1098 heimbach 1.1 c tmistartdate - start date of the sea surface temperature data.
1099     c topexstartdate - start date of the sea surface height data.
1100     c ersstartdate - start date of the sea surface height data.
1101 heimbach 1.2 c sshperiod - sampling interval for the sea surface height data.
1102 heimbach 1.1
1103     common /ecco_cost_data_times_i/
1104     & scatxstartdate,
1105     & scatystartdate,
1106     & sststartdate,
1107     & argotstartdate,
1108     & argosstartdate,
1109 heimbach 1.2 & tmistartdate,
1110     & sssstartdate,
1111 heimbach 1.1 & topexstartdate,
1112 heimbach 1.15 & ersstartdate,
1113     & gfostartdate
1114 heimbach 1.1 integer scatxstartdate(4)
1115     integer scatystartdate(4)
1116     integer sststartdate(4)
1117     integer argotstartdate(4)
1118     integer argosstartdate(4)
1119 heimbach 1.2 integer tmistartdate(4)
1120     integer sssstartdate(4)
1121 heimbach 1.1 integer topexstartdate(4)
1122     integer ersstartdate(4)
1123 heimbach 1.15 integer gfostartdate(4)
1124 heimbach 1.1
1125     common /ecco_cost_data_aux_i/
1126     & tmistartdate1,
1127     & tmistartdate2,
1128     & sststartdate1,
1129     & sststartdate2,
1130     & sssstartdate1,
1131     & sssstartdate2,
1132     & argotstartdate1,
1133     & argotstartdate2,
1134     & argosstartdate1,
1135     & argosstartdate2,
1136     & topexstartdate1,
1137     & topexstartdate2,
1138     & ersstartdate1,
1139     & ersstartdate2,
1140 heimbach 1.15 & gfostartdate1,
1141     & gfostartdate2,
1142 heimbach 1.1 & scatstartdate1,
1143 heimbach 1.10 & scatstartdate2
1144 heimbach 1.1
1145     integer tmistartdate1
1146     integer tmistartdate2
1147     integer sststartdate1
1148     integer sststartdate2
1149     integer sssstartdate1
1150     integer sssstartdate2
1151     integer argotstartdate1
1152     integer argotstartdate2
1153     integer argosstartdate1
1154     integer argosstartdate2
1155     integer topexstartdate1
1156     integer topexstartdate2
1157     integer ersstartdate1
1158     integer ersstartdate2
1159 heimbach 1.15 integer gfostartdate1
1160     integer gfostartdate2
1161 heimbach 1.1 integer scatstartdate1
1162     integer scatstartdate2
1163    
1164     common /ecco_cost_data_times_r/
1165     & topexperiod,
1166     & ersperiod,
1167 heimbach 1.15 & gfoperiod,
1168 heimbach 1.10 & scatperiod
1169 heimbach 1.1 _RL topexperiod
1170     _RL ersperiod
1171 heimbach 1.15 _RL gfoperiod
1172 heimbach 1.1 _RL scatperiod
1173    
1174     c ==================================================================
1175     c END OF HEADER COST
1176     c ==================================================================
1177 heimbach 1.2
1178    

  ViewVC Help
Powered by ViewVC 1.1.22