/[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.18 - (hide annotations) (download)
Thu Mar 23 23:06:48 2006 UTC (18 years, 3 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint58d_post
Changes since 1.17: +12 -4 lines
File MIME type: text/plain
Adding Gael Forget profile cost code.

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

  ViewVC Help
Powered by ViewVC 1.1.22