/[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.2 - (hide annotations) (download)
Mon Oct 11 16:38:53 2004 UTC (19 years, 7 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint57d_post, checkpoint57b_post, checkpoint57c_pre, checkpoint55j_post, checkpoint56b_post, checkpoint55h_post, checkpoint56c_post, checkpoint57a_post, checkpoint55g_post, checkpoint55f_post, checkpoint57a_pre, checkpoint55i_post, checkpoint57, checkpoint56, eckpoint57e_pre, checkpoint57c_post, checkpoint55e_post, checkpoint56a_post, checkpoint55d_post
Changes since 1.1: +51 -49 lines
File MIME type: text/plain
o ECCO specific cost function terms (up-to-date with 1x1 runs)
o ecco_cost_weights is modified to 1x1 runs
o modifs to allow observations to be read in as
  single file or yearly files

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 added sea-ice term: menemenlis@jpl.nasa.gov 26-Feb-2003
12     c
13     c ==================================================================
14     c HEADER AVERAGES
15     c ==================================================================
16    
17     c Averaging counters:
18     c ===================
19     c
20     c sum1day - counter for the daily averaging
21     c sum1mon - counter for the monthly averaging
22     c dayrec - number of averaged surface pressure records.
23     c monrec - number of averaged theta and salinity records.
24    
25     common /average_i/
26     & sum1day,sum1mon,
27     & dayrec,monrec
28     integer sum1day
29     integer sum1mon
30     integer dayrec
31     integer monrec
32    
33    
34     c Averaged Fields:
35     c ================
36     c
37     c tbar - contains the averaged temperature field after the call
38     c to subroutine POST_MONTHLY. Before, it accumulates the
39     c intantaneous temperatures.
40     c sbar - contains the averaged salinity field after the call
41     c to subroutine POST_MONTHLY. Before, it accumulates the
42     c intantaneous salinities.
43     c psbar - contains the averaged surface pressure field after the call
44     c to subroutine POST_DAILY. Before, it accumulates the
45     c intantaneous surface pressure field.
46     c ubar - contains the averaged zonal velocity component for the
47     c whole integration period. Before, it accumulates the
48     c intantaneous field.
49     c vbar - contains the averaged zonal velocity component for the
50     c whole integration period. Before, it accumulates the
51     c intantaneous field.
52     c tauxbar - contains the averaged zonal velocity component for the
53     c whole integration period. Before, it accumulates the
54     c intantaneous field.
55     c tauybar - contains the averaged zonal velocity component for the
56     c whole integration period. Before, it accumulates the
57     c intantaneous field.
58     c hfluxbar - contains the averaged zonal velocity component for the
59     c whole integration period. Before, it accumulates the
60     c intantaneous field.
61     c sfluxbar - contains the averaged zonal velocity component for the
62     c whole integration period. Before, it accumulates the
63     c intantaneous field.
64    
65     common /averages_r/
66     & tbar,
67     & sbar,
68     & psbar,
69     & ubar,
70     & vbar,
71     & wbar,
72     & tauxbar,
73     & tauybar,
74     & hfluxbar,
75     & sfluxbar,
76     & Slmean,
77     & Tlmean,
78     & wlmean,
79     & Sfmean,
80     & Tfmean,
81 heimbach 1.2 & sbar_gen,
82     & tbar_gen,
83     & wfmean
84 heimbach 1.1
85     #if (defined (ALLOW_THETA_COST_CONTRIBUTION) || \
86     defined (ALLOW_CTDT_COST_CONTRIBUTION) || \
87     defined (ALLOW_XBT_COST_CONTRIBUTION) || \
88     defined (ALLOW_DRIFT_COST_CONTRIBUTION) || \
89     defined (ALLOW_OBCS_COST_CONTRIBUTION))
90     _RL tbar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
91     #else
92 heimbach 1.2 #ifdef ALLOW_SST_COST_CONTRIBUTION
93     _RL tbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
94     #else
95 heimbach 1.1 _RL tbar
96     #endif
97 heimbach 1.2 #endif
98     #ifdef GENERIC_BAR_MONTH
99     _RL tbar_gen (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
100     _RL sbar_gen (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
101     #else
102     _RL tbar_gen
103     _RL sbar_gen
104     #endif
105 heimbach 1.1
106     #if (defined (ALLOW_SALT_COST_CONTRIBUTION) || \
107     defined (ALLOW_CTDS_COST_CONTRIBUTION) || \
108     defined (ALLOW_DRIFT_COST_CONTRIBUTION) || \
109     defined (ALLOW_OBCS_COST_CONTRIBUTION))
110     _RL sbar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
111     #else
112 heimbach 1.2 #ifdef ALLOW_SSS_COST_CONTRIBUTION
113     _RL sbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
114     #else
115 heimbach 1.1 _RL sbar
116     #endif
117     #endif
118    
119     #ifdef ALLOW_SSH_COST_CONTRIBUTION
120     _RL psbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
121     #else
122     _RL psbar
123     #endif
124    
125     #if (defined (ALLOW_DRIFTER_COST_CONTRIBUTION) || \
126 heimbach 1.2 defined (ALLOW_OBCS_COST_CONTRIBUTION))
127 heimbach 1.1 _RL ubar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
128     _RL vbar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
129     #else
130     _RL ubar
131     _RL vbar
132     #endif
133    
134     #ifdef ALLOW_DRIFTW_COST_CONTRIBUTION
135     _RL wbar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
136     #else
137     _RL wbar
138     #endif
139    
140     #ifdef ALLOW_DRIFT_COST_CONTRIBUTION
141     _RL Tlmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
142     _RL Slmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
143     _RL Tfmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
144     _RL Sfmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
145     #else
146     _RL Tlmean
147     _RL Slmean
148     _RL Tfmean
149     _RL Sfmean
150     #endif
151    
152     #ifdef ALLOW_DRIFTW_COST_CONTRIBUTION
153     _RL wlmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
154     _RL wfmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
155     #else
156     _RL wlmean
157     _RL wfmean
158     #endif
159    
160     #ifdef ALLOW_SCAT_COST_CONTRIBUTION
161     _RL tauxbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
162     _RL tauybar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
163     #else
164     _RL tauxbar
165     _RL tauybar
166     #endif
167    
168     #ifdef ALLOW_MEAN_HFLUX_COST_CONTRIBUTION
169     _RL hfluxbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
170     #else
171     _RL hfluxbar
172     #endif
173    
174     #ifdef ALLOW_MEAN_SFLUX_COST_CONTRIBUTION
175     _RL sfluxbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
176     #else
177     _RL sfluxbar
178     #endif
179    
180    
181     common /averages_c/
182     & tbarfile,
183     & sbarfile,
184     & psbarfile,
185     & ubarfile,
186     & vbarfile,
187     & wbarfile,
188     & tauxbarfile,
189     & tauybarfile,
190     & hfluxbarfile,
191     & sfluxbarfile
192     character*(MAX_LEN_FNAM) tbarfile
193     character*(MAX_LEN_FNAM) sbarfile
194     character*(MAX_LEN_FNAM) psbarfile
195     character*(MAX_LEN_FNAM) ubarfile
196     character*(MAX_LEN_FNAM) vbarfile
197     character*(MAX_LEN_FNAM) wbarfile
198     character*(MAX_LEN_FNAM) tauxbarfile
199     character*(MAX_LEN_FNAM) tauybarfile
200     character*(MAX_LEN_FNAM) hfluxbarfile
201     character*(MAX_LEN_FNAM) sfluxbarfile
202    
203     c file precision and field type
204    
205     common /prec_type_cost/
206     & cost_iprec,
207     & cost_yftype
208    
209     integer cost_iprec
210     character*(2) cost_yftype
211    
212     c ==================================================================
213     c END OF HEADER AVERAGES
214     c ==================================================================
215    
216    
217    
218     c ==================================================================
219     c HEADER COST
220     c ==================================================================
221     c
222     c o Header for model-data comparison.
223     c
224     c The individual cost function contributions are multiplied by
225     c factors mult_"var" which allow to switch off these contributions
226     c without removing them in the adjoint code. This is useful for
227     c doing tests with the adjoint and perhaps useful in assimilation
228     c experiments where individual contributions are successively
229     c switched on. For future applications it would be better to place
230     c the initialisation of the multipliers somewhere else, for example
231     c in a namelist, which is read in at the start of the model.
232     c
233     c started: Christian Eckert eckert@mit.edu 24-Feb-1999
234     c
235     c changed: Christian Eckert eckert@mit.edu
236     c
237     c
238     c ==================================================================
239     c HEADER COST
240     c ==================================================================
241    
242    
243     c The cost function, its contributions, and multipliers:
244     c ======================================================
245     c
246     c fc - Final cost function.
247     c objf_hflux - Heat flux contribution.
248     c objf_sflux - Salt flux contribution.
249     c objf_tauu - Zonal wind stress contribution.
250     c objf_tauv - Meridional wind stress contribution.
251     c objf_hfluxm - time-mean Heat flux contribution.
252     c objf_sfluxm - time-mean Salt flux contribution.
253     c objf_tauum - time-mean Zonal wind stress contribution.
254     c objf_tauvm - time-mean Meridional wind stress contribution.
255     c objf_hfluxmm - Global time-mean Heat flux contribution.
256     c objf_sfluxmm - Global time-mean Salt flux contribution.
257     c objf_hmean - Mean sea surface height contribution.
258     c objf_h - Residual sea surface height contribution.
259     c objf_temp - Temperature contribution.
260     c objf_salt - Salinity contribution.
261     c objf_temp0 - Initial conditions Temperature contribution.
262     c objf_salt0 - Initial conditions Salinity contribution.
263 heimbach 1.2 c objf_sst - Sea surface temperature contribution.
264 heimbach 1.1 c objf_tmi - Sea surface temperature contribution.
265     c objf_sss - Sea surface salinity contribution.
266     c objf_ctdt - Temperature measurements from Woce CTD
267     c objf_ctds - Salinity measurements from Woce CTD
268 heimbach 1.2 c objf_ctdtclim - Temperature measurements from Woce CTD without timetag
269     c objf_ctdsclim - Salinity measurements from Woce CTD without timetag
270 heimbach 1.1 c objf_xbt - XBT temperature data
271     c objf_argot - ARGO temperature profiles
272     c objf_argos - ARGO salt profiles
273     c objf_scatxm - time-mean zonal SCAT contribution
274     c objf_scatym - time-mean meridional SCAT contribution
275     c objf_scatx - zonal SCAT contribution
276     c objf_scaty - meridional SCAT contribution
277     c objf_ice - sea-ice volume
278     c objf_kapgm - kappa GM contribution
279     c objf_diffkr - diffusion contribution
280     c objf_theta_ini_fin - final vs. initial theta misfit
281     c objf_salt_ini_fin - final vs. initial salt misfit
282     c
283     c mult_"var" - multipliers for the individual cost
284     c function contributions.
285    
286     common /ecco_cost_objf/
287     & objf_hflux,
288     & objf_hfluxm,
289     & objf_hfluxmm,
290     & objf_sflux,
291     & objf_sfluxm,
292     & objf_sfluxmm,
293     & objf_tauu,
294     & objf_tauum,
295     & objf_tauv,
296     & objf_tauvm,
297     & objf_hmean,
298     & objf_h,
299     & objf_temp,
300     & objf_salt,
301     & objf_temp0,
302     & objf_salt0,
303 heimbach 1.2 & objf_sst,
304 heimbach 1.1 & objf_tmi,
305     & objf_sss,
306     & objf_ctdt,
307     & objf_ctds,
308     & objf_ctdtclim,
309     & objf_ctdsclim,
310     & objf_xbt,
311     & objf_argot,
312     & objf_argos,
313     & objf_drift,
314     & objf_tdrift,
315     & objf_sdrift,
316     & objf_wdrift,
317     & objf_scatx,
318     & objf_scaty,
319     & objf_scatxm,
320     & objf_scatym,
321     & objf_atemp,
322     & objf_aqh,
323     & objf_uwind,
324     & objf_vwind,
325     & objf_obcsn,
326     & objf_obcss,
327     & objf_obcsw,
328     & objf_obcse,
329     & objf_obcsvol,
330     & objf_curmtr,
331     & objf_ageos,
332     & objf_ice,
333     & objf_diffkr,
334     & objf_theta_ini_fin,
335     & objf_salt_ini_fin
336 heimbach 1.2
337 heimbach 1.1 _RL objf_hflux (nsx,nsy)
338     _RL objf_hfluxm (nsx,nsy)
339     _RL objf_hfluxmm(nsx,nsy)
340     _RL objf_sflux (nsx,nsy)
341     _RL objf_sfluxm (nsx,nsy)
342     _RL objf_sfluxmm(nsx,nsy)
343     _RL objf_tauu (nsx,nsy)
344     _RL objf_tauum (nsx,nsy)
345     _RL objf_tauv (nsx,nsy)
346     _RL objf_tauvm (nsx,nsy)
347 heimbach 1.2 _RL objf_hmean
348 heimbach 1.1 _RL objf_h (nsx,nsy)
349     _RL objf_temp (nsx,nsy)
350     _RL objf_salt (nsx,nsy)
351     _RL objf_temp0(nsx,nsy)
352     _RL objf_salt0(nsx,nsy)
353 heimbach 1.2 _RL objf_sst (nsx,nsy)
354 heimbach 1.1 _RL objf_tmi (nsx,nsy)
355     _RL objf_sss (nsx,nsy)
356     _RL objf_ctdt (nsx,nsy)
357     _RL objf_ctds (nsx,nsy)
358     _RL objf_ctdtclim (nsx,nsy)
359     _RL objf_ctdsclim (nsx,nsy)
360     _RL objf_xbt (nsx,nsy)
361     _RL objf_argot(nsx,nsy)
362     _RL objf_argos(nsx,nsy)
363     _RL objf_drift(nsx,nsy)
364     _RL objf_tdrift(nsx,nsy)
365     _RL objf_sdrift(nsx,nsy)
366     _RL objf_wdrift(nsx,nsy)
367     _RL objf_scatx(nsx,nsy)
368     _RL objf_scaty(nsx,nsy)
369     _RL objf_scatxm(nsx,nsy)
370     _RL objf_scatym(nsx,nsy)
371     _RL objf_atemp(nsx,nsy)
372     _RL objf_aqh (nsx,nsy)
373     _RL objf_uwind(nsx,nsy)
374     _RL objf_vwind(nsx,nsy)
375     _RL objf_obcsn(nsx,nsy)
376     _RL objf_obcss(nsx,nsy)
377     _RL objf_obcsw(nsx,nsy)
378     _RL objf_obcse(nsx,nsy)
379 heimbach 1.2 _RL objf_obcsvol
380 heimbach 1.1 _RL objf_curmtr(nsx,nsy)
381     _RL objf_ageos(nsx,nsy)
382     _RL objf_ice (nsx,nsy)
383     _RL objf_kapgm(nsx,nsy)
384     _RL objf_diffkr(nsx,nsy)
385     _RL objf_theta_ini_fin(nsx,nsy)
386     _RL objf_salt_ini_fin(nsx,nsy)
387    
388     common /ecco_cost_aux_r/
389     & mult_hflux,
390     & mult_sflux,
391     & mult_tauu,
392     & mult_tauv,
393     & mult_hmean,
394     & mult_h,
395     & mult_temp,
396     & mult_salt,
397     & mult_temp0,
398     & mult_salt0,
399 heimbach 1.2 & mult_sst,
400 heimbach 1.1 & mult_tmi,
401     & mult_sss,
402     & mult_ctdt,
403     & mult_ctds,
404     & mult_ctdtclim,
405     & mult_ctdsclim,
406     & mult_xbt,
407     & mult_argot,
408     & mult_argos,
409     & mult_drift,
410     & mult_tdrift,
411     & mult_sdrift,
412     & mult_wdrift,
413     & mult_scatx,
414     & mult_scaty,
415     & mult_atemp,
416     & mult_aqh,
417     & mult_uwind,
418     & mult_vwind,
419     & mult_obcsn,
420     & mult_obcss,
421     & mult_obcsw,
422     & mult_obcse,
423     & mult_obcsvol,
424     & mult_curmtr,
425     & mult_ageos,
426     & mult_ice,
427     & mult_kapgm,
428     & mult_diffkr,
429     & mult_ini_fin
430 heimbach 1.2
431 heimbach 1.1 _RL mult_hflux
432     _RL mult_sflux
433     _RL mult_tauu
434     _RL mult_tauv
435     _RL mult_hmean
436     _RL mult_h
437     _RL mult_temp
438     _RL mult_salt
439     _RL mult_temp0
440     _RL mult_salt0
441 heimbach 1.2 _RL mult_sst
442 heimbach 1.1 _RL mult_tmi
443     _RL mult_sss
444     _RL mult_ctdt
445     _RL mult_ctds
446     _RL mult_ctdtclim
447     _RL mult_ctdsclim
448     _RL mult_xbt
449     _RL mult_argot
450     _RL mult_argos
451     _RL mult_drift
452     _RL mult_tdrift
453     _RL mult_sdrift
454     _RL mult_wdrift
455     _RL mult_scatx
456     _RL mult_scaty
457     _RL mult_atemp
458     _RL mult_aqh
459     _RL mult_uwind
460     _RL mult_vwind
461     _RL mult_obcsn
462     _RL mult_obcss
463     _RL mult_obcsw
464     _RL mult_obcse
465     _RL mult_obcsvol
466     _RL mult_curmtr
467     _RL mult_ageos
468     _RL mult_ice
469     _RL mult_kapgm
470     _RL mult_diffkr
471     _RL mult_ini_fin
472    
473    
474     c Record counters relevant for the cost function evaluation.
475     c ==========================================================
476     c
477     c nmonsrec - number of monthly records that will be generated by
478     c the current model integration.
479     c ndaysrec - number of daily records that will be generated by
480     c the current model integration.
481    
482     common /ecco_cost_i/
483     & nmonsrec,
484     & ndaysrec
485     integer nmonsrec
486     integer ndaysrec
487    
488    
489     c Data files for the weights used in the cost function:
490     c =====================================================
491     c
492     c hflux_errfile - heat flux error.
493     c sflux_errfile - salt flux error.
494     c tauu_errfile - zonal wind stress error.
495     c tauum_errfile - zonal wind stress error.
496     c tauv_errfile - meridional wind stress error.
497     c tauvm_errfile - meridional wind stress error.
498     c tscatx_errfile - zonal wind stress error.
499     c tscaty_errfile - meridional wind stress error.
500     c data_errfile - weights for theta, salt, and SST
501     c geoid_errfile - geoid error.
502     c geoid_covariancefile - geoid error covariance.
503     c ssh_errfile - sea surface height error.
504     c ctdt_errfile - CTD temperature error.
505     c ctds_errfile - CTD salinity error.
506     c drift_errfile - drifter error.
507     c salterrfile - representation error due unresolved eddies
508     c temperrfile - representation error due unresolved eddies
509     c velerrfile - representation error
510    
511     common /ecco_cost_c/
512     & hflux_errfile,
513     & hfluxm_errfile,
514     & sflux_errfile,
515     & sfluxm_errfile,
516     & tauu_errfile,
517     & tauum_errfile,
518     & tauv_errfile,
519     & tauvm_errfile,
520     & scatx_errfile,
521     & scaty_errfile,
522     & data_errfile,
523     & geoid_errfile,
524     & geoid_covariancefile,
525     & ssh_errfile,
526     & ctdt_errfile,
527     & ctds_errfile,
528     & drift_errfile,
529     & udrifterrfile,
530     & vdrifterrfile,
531     & salterrfile,
532     & temperrfile,
533     & velerrfile,
534     & atemp_errfile,
535     & aqh_errfile,
536     & uwind_errfile,
537     & vwind_errfile
538     character*(MAX_LEN_FNAM) hflux_errfile
539     character*(MAX_LEN_FNAM) sflux_errfile
540     character*(MAX_LEN_FNAM) tauu_errfile
541     character*(MAX_LEN_FNAM) tauv_errfile
542     character*(MAX_LEN_FNAM) hfluxm_errfile
543     character*(MAX_LEN_FNAM) sfluxm_errfile
544     character*(MAX_LEN_FNAM) tauum_errfile
545     character*(MAX_LEN_FNAM) tauvm_errfile
546     character*(MAX_LEN_FNAM) scatx_errfile
547     character*(MAX_LEN_FNAM) scaty_errfile
548     character*(MAX_LEN_FNAM) data_errfile
549     character*(MAX_LEN_FNAM) geoid_errfile
550     character*(MAX_LEN_FNAM) geoid_covariancefile
551     character*(MAX_LEN_FNAM) ssh_errfile
552     character*(MAX_LEN_FNAM) ctdt_errfile
553     character*(MAX_LEN_FNAM) ctds_errfile
554     character*(MAX_LEN_FNAM) drift_errfile
555     character*(MAX_LEN_FNAM) udrifterrfile
556     character*(MAX_LEN_FNAM) vdrifterrfile
557     character*(MAX_LEN_FNAM) salterrfile
558     character*(MAX_LEN_FNAM) temperrfile
559     character*(MAX_LEN_FNAM) velerrfile
560     character*(MAX_LEN_FNAM) atemp_errfile
561     character*(MAX_LEN_FNAM) aqh_errfile
562     character*(MAX_LEN_FNAM) uwind_errfile
563     character*(MAX_LEN_FNAM) vwind_errfile
564    
565    
566     c Arrays where the weights are stored:
567     c ====================================
568     c
569     c cosphi - cosine of latitude.
570     c whflux - weight for heat flux.
571     c wsflux - weight for salt flux.
572     c wtauu - weight for zonal wind stress.
573     c wtauu - weight for meridional wind stress.
574     c wscatx - weight for zonal scat stress.
575     c wscaty - weight for meridional scat stress.
576     c wtheta - weight for temperature.
577     c wtheta2 - representation error due to unresolved eddies
578     c wsst - weight for sea surface temperature.
579     c wsss - weight for sea surface salinity.
580     c wsalt - weight for salinity.
581     c wsalt2 - representation error due to unresolved eddies
582     c wtp - weight for TOPEX/POSEIDON data.
583     c wers - weight for ERS data.
584     c wp - weight for geoid.
585     c wctdt - weight for CTD temperature.
586     c wctds - weight for CTD salinity.
587     c wudrift - weight for mean zonal velocity from drifters.
588     c wvdrift - weight for mean meridional velocity from drifters.
589    
590     common /ecco_cost_weights_r/
591     & frame,
592     & cosphi,
593     & whflux,wsflux,wtauu,wtauv,
594     & watemp,waqh,wuwind,wvwind,
595     & wscatx,wscaty,
596     & wtheta,wtheta2,wthetaLev,
597     & wsalt,wsalt2,wsaltLev,
598     & wsst,wsss,
599     & wtp,wers,
600     & wp,
601     & wctdt,wctds,
602     & wudrift,wvdrift,
603     & whfluxmm,wsfluxmm,
604     & wcurrent,wcurrent2,
605     & wcurrentLev,wbaro
606    
607     _RL frame (1-olx:snx+olx,1-oly:sny+oly )
608     _RL cosphi (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
609     _RL whflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
610     _RL whfluxm (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
611     _RL whfluxmm(1-olx:snx+olx,1-oly:sny+oly)
612     _RL wsflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
613     _RL wsfluxm (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
614     _RL wsfluxmm(1-olx:snx+olx,1-oly:sny+oly)
615     _RL wtauu (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
616     _RL wtauv (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
617     _RL wtauum (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
618     _RL wtauvm (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
619     _RL wscatx (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
620     _RL wscaty (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
621     _RL watemp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
622     _RL waqh (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
623     _RL wuwind (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
624     _RL wvwind (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
625     _RL wtheta ( nr,nsx,nsy)
626     _RL wsalt ( nr,nsx,nsy)
627     _RL wtheta2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
628     _RL wsalt2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
629     _RL wthetaLev (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
630     _RL wsaltLev (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
631     _RL wsst (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
632     _RL wsss (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
633     _RL wtp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
634     _RL wers (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
635     _RL wp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
636     _RL wctdt ( nr,nsx,nsy)
637     _RL wctds ( nr,nsx,nsy)
638     _RL wudrift (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
639     _RL wvdrift (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
640     _RL wcurrent( nr,nsx,nsy)
641     _RL wcurrent2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
642     _RL wcurrentLev (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
643     _RL wbaro
644    
645     #if (defined (ALLOW_OBCSN_COST_CONTRIBUTION) || \
646     defined (ALLOW_OBCSN_CONTROL))
647     common /ecco_cost_weights_obcsn/
648     & wobcsn, wobcsnLev
649     _RL wobcsn ( nr,nobcs)
650     _RL wobcsnLev (1-olx:snx+olx,nr,nsx,nsy,nobcs)
651     #endif
652     #if (defined (ALLOW_OBCSS_COST_CONTRIBUTION) || \
653     defined (ALLOW_OBCSS_CONTROL))
654     common /ecco_cost_weights_obcss/
655     & wobcss, wobcssLev
656     _RL wobcss ( nr,nobcs)
657     _RL wobcssLev (1-olx:snx+olx,nr,nsx,nsy,nobcs)
658     #endif
659     #if (defined (ALLOW_OBCSW_COST_CONTRIBUTION) || \
660     defined (ALLOW_OBCSW_CONTROL))
661     common /ecco_cost_weights_obcsw/
662     & wobcsw, wobcswLev
663     _RL wobcsw ( nr,nobcs)
664     _RL wobcswLev (1-oly:sny+oly,nr,nsx,nsy,nobcs)
665     #endif
666     #if (defined (ALLOW_OBCSE_COST_CONTRIBUTION) || \
667     defined (ALLOW_OBCSE_CONTROL))
668     common /ecco_cost_weights_obcse/
669     & wobcse, wobcseLev
670     _RL wobcse ( nr,nobcs)
671     _RL wobcseLev (1-oly:sny+oly,nr,nsx,nsy,nobcs)
672     #endif
673    
674 heimbach 1.2
675 heimbach 1.1 c Arrays that contain observations for the model-data comparison:
676     c ===============================================================
677     c
678     c tdat - reference temperature data.
679     c scatxdat - reference zonal wind stress.
680     c scatydat - reference meridional wind stress.
681 heimbach 1.2 c sstdat - reference sea surface temperature data.
682 heimbach 1.1 c tmidat - reference TMI sea surface temperature data.
683     c sssdat - reference sea surface temperature data.
684     c tauxmask - mask for reference wind stress data.
685     c tauymask - mask for reference wind stress data.
686     c scatxmask - mask for scat wind stress data.
687     c scatymask - mask for scat wind stress data.
688 heimbach 1.2 c sstmask - mask for reference sea surface temperature data.
689 heimbach 1.1 c tmimask - mask for reference sea surface temperature data.
690     c sssmask - mask for reference sea surface temperature data.
691     c sdat - reference salinity data.
692     c tpmean - reference mean sea surface height data.
693     c tpmeanmask - mask for reference mean sea surface height data.
694     c tpobs - TOPEX/POSEIDON data.
695     c tpmask - mask for TOPEX/POSEIDON data.
696     c ersobs - ERS data.
697     c ersmask - mask for ERS data.
698     c ctdtobs - CTD temperature data
699     c ctdsobs - CTD salinity data
700     c xbtobs - XBT data
701     c argot - ARGO temperature data
702     c argos - ARGO salt data
703     c udriftdat - drifters zonal velocities
704     c vdriftdat - drifters meridional velocities
705    
706     common /ecco_cost_data_r/
707     & tdat,
708     & scatxdat,
709     & scatydat,
710 heimbach 1.2 & sstdat,
711 heimbach 1.1 & tmidat,
712     & sssdat,
713 heimbach 1.2 & sstmask,
714 heimbach 1.1 & tmimask,
715     & sssmask,
716     & tauxmask,
717     & tauymask,
718     & scatxmask,
719     & scatymask,
720     & sdat,
721     & tpmean,
722     & tpmeanmask,
723     & tpobs,
724     & tpmask,
725     & ersobs,
726     & ersmask,
727     & ctdtobs,
728     & ctdsobs,
729     & xbtobs,
730     & argotobs,
731     & argosobs,
732     & udriftdat,
733     & vdriftdat,
734     & curmtruobs,
735     & curmtrvobs
736    
737     _RL tdat (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
738     _RL scatxdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
739     _RL scatydat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
740 heimbach 1.2 _RL sstdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
741 heimbach 1.1 _RL tmidat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
742     _RL sssdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
743     _RL tauxmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
744     _RL tauymask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
745     _RL scatxmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
746     _RL scatymask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
747 heimbach 1.2 _RL sstmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
748 heimbach 1.1 _RL tmimask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
749     _RL sssmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
750     _RL sdat (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
751     _RL tpmean (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
752     _RL tpmeanmask(1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
753     _RL tpobs (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
754     _RL tpmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
755     _RL ersobs (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
756     _RL ersmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
757     _RL ctdtobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
758     _RL ctdsobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
759     _RL xbtobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
760     _RL argotobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
761     _RL argosobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
762     _RL udriftdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
763     _RL vdriftdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
764     _RL curmtruobs(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
765     _RL curmtrvobs(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
766    
767 heimbach 1.2
768 heimbach 1.1 c Files that contain obervations:
769     c ===============================
770     c
771     c tdatfile - reference data file for temperature.
772     c sdatfile - reference data file for salinity.
773     c scatxdatfile - reference data file for zonal wind stress.
774     c scatydatfile - reference data file for meridional wind stress.
775     c sstdatfile - reference data file for sea surface temperature.
776 heimbach 1.2 c tmidatfile - reference data file for TMI sea surface temperature.
777 heimbach 1.1 c topexmeanfile - reference data file for mean sea surface height.
778     c topexfile - reference data file for sea surface height data
779     c (TOPEX/POSEIDON).
780     c ersfile - reference data file for sea surface height data
781     c (ERS).
782     c ctdtfile, ctdsfile- reference data file for temperature and salinity
783     c from CTD
784     c ctdtclimfile, ctdsclimfile- reference data file for temperature
785 heimbach 1.2 c and salinity from CTD with out timetag
786 heimbach 1.1 c xbtfile - reference data file for xbt
787     c ARGOtfile - reference data file for ARGO
788     c ARGOsfile - reference data file for ARGO
789     c driftfile - reference data file for drifter's mean velocities
790    
791     common /ecco_cost_data_c/
792     & tdatfile,
793     & sdatfile,
794     & scatxdatfile,
795     & scatydatfile,
796 heimbach 1.2 & sstdatfile,
797 heimbach 1.1 & tmidatfile,
798     & sssdatfile,
799     & topexmeanfile,
800     & topexfile,
801     & ersfile,
802     & ctdtfile,
803     & ctdsfile,
804     & ctdtclimfile,
805     & ctdsclimfile,
806     & xbtfile,
807     & argotfile,
808     & argosfile,
809     & udriftfile,
810     & vdriftfile,
811     & curmtrufile,
812     & curmtrvfile
813    
814     character*(MAX_LEN_FNAM) tdatfile
815     character*(MAX_LEN_FNAM) sdatfile
816     character*(MAX_LEN_FNAM) scatxdatfile
817     character*(MAX_LEN_FNAM) scatydatfile
818 heimbach 1.2 character*(MAX_LEN_FNAM) sstdatfile
819 heimbach 1.1 character*(MAX_LEN_FNAM) tmidatfile
820     character*(MAX_LEN_FNAM) sssdatfile
821     character*(MAX_LEN_FNAM) topexmeanfile
822     character*(MAX_LEN_FNAM) topexfile
823     character*(MAX_LEN_FNAM) ersfile
824     character*(MAX_LEN_FNAM) ctdtfile
825     character*(MAX_LEN_FNAM) ctdsfile
826     character*(MAX_LEN_FNAM) ctdtclimfile
827     character*(MAX_LEN_FNAM) ctdsclimfile
828     character*(MAX_LEN_FNAM) xbtfile
829     character*(MAX_LEN_FNAM) argotfile
830     character*(MAX_LEN_FNAM) argosfile
831     character*(MAX_LEN_FNAM) argofile
832     character*(MAX_LEN_FNAM) udriftfile
833     character*(MAX_LEN_FNAM) vdriftfile
834     character*(MAX_LEN_FNAM) curmtrufile
835     character*(MAX_LEN_FNAM) curmtrvfile
836    
837 heimbach 1.2
838 heimbach 1.1 c Flags used in the model-data comparison:
839     c ========================================
840     c
841     c using_ers - flag that indicates the use of ERS data
842    
843     common /ecco_cost_data_flags/
844     & using_topex,
845     & using_ers
846     logical using_topex
847     logical using_ers
848    
849     c Calendar information for the observations:
850     c ==========================================
851     c
852 heimbach 1.2 c sststartdate - start date of the sea surface temperature data.
853 heimbach 1.1 c tmistartdate - start date of the sea surface temperature data.
854     c topexstartdate - start date of the sea surface height data.
855     c ersstartdate - start date of the sea surface height data.
856 heimbach 1.2 c sshperiod - sampling interval for the sea surface height data.
857 heimbach 1.1
858     common /ecco_cost_data_times_i/
859     & scatxstartdate,
860     & scatystartdate,
861     & sststartdate,
862     & argotstartdate,
863     & argosstartdate,
864 heimbach 1.2 & tmistartdate,
865     & sssstartdate,
866 heimbach 1.1 & topexstartdate,
867     & ersstartdate
868     integer scatxstartdate(4)
869     integer scatystartdate(4)
870     integer sststartdate(4)
871     integer argotstartdate(4)
872     integer argosstartdate(4)
873 heimbach 1.2 integer tmistartdate(4)
874     integer sssstartdate(4)
875 heimbach 1.1 integer topexstartdate(4)
876     integer ersstartdate(4)
877    
878     common /ecco_cost_data_aux_i/
879     & tmistartdate1,
880     & tmistartdate2,
881     & sststartdate1,
882     & sststartdate2,
883     & sssstartdate1,
884     & sssstartdate2,
885     & argotstartdate1,
886     & argotstartdate2,
887     & argosstartdate1,
888     & argosstartdate2,
889     & topexstartdate1,
890     & topexstartdate2,
891     & ersstartdate1,
892     & ersstartdate2,
893     & scatstartdate1,
894     & scatstartdate2,
895     & costIceStart1,
896     & costIceStart2,
897     & costIceEnd1,
898     & costIceEnd2
899    
900     integer tmistartdate1
901     integer tmistartdate2
902     integer sststartdate1
903     integer sststartdate2
904     integer sssstartdate1
905     integer sssstartdate2
906     integer argotstartdate1
907     integer argotstartdate2
908     integer argosstartdate1
909     integer argosstartdate2
910     integer topexstartdate1
911     integer topexstartdate2
912     integer ersstartdate1
913     integer ersstartdate2
914     integer scatstartdate1
915     integer scatstartdate2
916     integer costIceStart1
917     integer costIceStart2
918     integer costIceEnd1
919     integer costIceEnd2
920    
921     common /ecco_cost_data_times_r/
922     & topexperiod,
923     & ersperiod,
924     & scatperiod,
925     & costIceStart,
926     & costIceEnd
927     _RL topexperiod
928     _RL ersperiod
929     _RL scatperiod
930     _RL costIceStart
931     _RL costIceEnd
932    
933     c cost_ice_flag - cost_ice flag (see cost_ice.F)
934    
935     common /ecco_cost_ice_i/ cost_ice_flag
936     integer cost_ice_flag
937    
938     c ==================================================================
939     c END OF HEADER COST
940     c ==================================================================
941 heimbach 1.2
942    

  ViewVC Help
Powered by ViewVC 1.1.22