/[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.1 - (hide annotations) (download)
Thu Nov 6 22:10:08 2003 UTC (20 years, 7 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint52l_pre, checkpoint52e_pre, hrcube4, checkpoint52n_post, checkpoint52j_post, checkpoint53d_post, checkpoint54a_pre, checkpoint55c_post, checkpoint54e_post, checkpoint52e_post, checkpoint54a_post, checkpoint53c_post, checkpoint55d_pre, hrcube_1, branch-netcdf, checkpoint52d_pre, checkpoint52l_post, checkpoint52k_post, checkpoint52b_pre, checkpoint54b_post, checkpoint53b_pre, checkpoint55b_post, checkpoint54d_post, checkpoint52m_post, checkpoint55, checkpoint53a_post, checkpoint54, checkpoint54f_post, checkpoint53b_post, checkpoint52a_pre, checkpoint53, checkpoint52, checkpoint52d_post, checkpoint52a_post, checkpoint52b_post, checkpoint53g_post, checkpoint52f_post, checkpoint52c_post, ecco_c52_e35, hrcube5, checkpoint52i_post, checkpoint52j_pre, checkpoint53f_post, checkpoint55a_post, checkpoint53d_pre, checkpoint54c_post, checkpoint52i_pre, checkpoint51u_post, checkpoint52h_pre, checkpoint52f_pre, hrcube_2, hrcube_3
Branch point for: netcdf-sm0
File MIME type: text/plain
o merging from ecco-branch
o pkg/ecco now containes ecco-specific part of cost function
o top level routines the_main_loop, forward_step
  supersede those in model/src/
  previous input data.cost now in data.ecco
  (new namelist ecco_cost_nml)

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

  ViewVC Help
Powered by ViewVC 1.1.22