/[MITgcm]/MITgcm/pkg/ecco/ecco_cost.h
ViewVC logotype

Contents of /MITgcm/pkg/ecco/ecco_cost.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (show 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
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
11 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 & sbar_gen,
82 & tbar_gen,
83 & wfmean
84
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 #ifdef ALLOW_SST_COST_CONTRIBUTION
93 _RL tbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
94 #else
95 _RL tbar
96 #endif
97 #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
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 #ifdef ALLOW_SSS_COST_CONTRIBUTION
113 _RL sbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
114 #else
115 _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 defined (ALLOW_OBCS_COST_CONTRIBUTION))
127 _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 c objf_sst - Sea surface temperature contribution.
264 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 c objf_ctdtclim - Temperature measurements from Woce CTD without timetag
269 c objf_ctdsclim - Salinity measurements 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_sst,
304 & 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
337 _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 _RL objf_hmean
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_sst (nsx,nsy)
354 _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 _RL objf_obcsvol
380 _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 & mult_sst,
400 & 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
431 _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 _RL mult_sst
442 _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
675 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 c sstdat - reference sea surface temperature data.
682 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 c sstmask - mask for reference sea surface temperature data.
689 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 & sstdat,
711 & tmidat,
712 & sssdat,
713 & sstmask,
714 & 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 _RL sstdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
741 _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 _RL sstmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
748 _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
768 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 c tmidatfile - reference data file for TMI sea surface temperature.
777 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 c and salinity from CTD with out timetag
786 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 & sstdatfile,
797 & 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 character*(MAX_LEN_FNAM) sstdatfile
819 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
838 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 c sststartdate - start date of the sea surface temperature data.
853 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 c sshperiod - sampling interval for the sea surface height data.
857
858 common /ecco_cost_data_times_i/
859 & scatxstartdate,
860 & scatystartdate,
861 & sststartdate,
862 & argotstartdate,
863 & argosstartdate,
864 & tmistartdate,
865 & sssstartdate,
866 & topexstartdate,
867 & ersstartdate
868 integer scatxstartdate(4)
869 integer scatystartdate(4)
870 integer sststartdate(4)
871 integer argotstartdate(4)
872 integer argosstartdate(4)
873 integer tmistartdate(4)
874 integer sssstartdate(4)
875 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
942

  ViewVC Help
Powered by ViewVC 1.1.22