/[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.13 - (hide annotations) (download)
Thu Dec 22 15:57:40 2005 UTC (18 years, 6 months ago) by heimbach
Branch: MAIN
Changes since 1.12: +25 -1 lines
File MIME type: text/plain
o Adding smoothness constraint on forcing controls
  * enable at compile-time via ALLOW_SMOOTH_BOUNDARY_CTRL_COST
  * enable at run-time via mult_smooth = 1
  * Absolute scale somewhat unclear so far
  * no area weighting was included since no other cost term does so far

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

  ViewVC Help
Powered by ViewVC 1.1.22