/[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.6 - (show annotations) (download)
Thu Jul 28 13:51:36 2005 UTC (18 years, 9 months ago) by heimbach
Branch: MAIN
Changes since 1.5: +21 -1 lines
File MIME type: text/plain
Adding precip control

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

  ViewVC Help
Powered by ViewVC 1.1.22