/[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.1 - (show 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
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