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

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

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


Revision 1.49 - (hide annotations) (download)
Tue Aug 24 14:34:19 2010 UTC (13 years, 9 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62j
Changes since 1.48: +6 -8 lines
File MIME type: text/plain
remove tabs

1 jmc 1.49 C $Header: /u/gcmpack/MITgcm/pkg/ecco/ecco_cost.h,v 1.48 2010/03/22 02:19:35 jmc Exp $
2 jmc 1.30 C $Name: $
3 heimbach 1.1
4     c ==================================================================
5     c HEADER AVERAGES
6     c ==================================================================
7     c
8     c o Header for averaged temperature, salinity, and surface pressure
9     c fields and counters associated with the averaging.
10     c
11     c started: Christian Eckert eckert@mit.edu 30-Jun-1999
12 heimbach 1.2 c
13 heimbach 1.1 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 jmc 1.30 common /average_i/
26 heimbach 1.21 & sum1day,sum1mon,sum1year,
27     & dayrec,monrec,yearrec
28 heimbach 1.1 integer sum1day
29     integer sum1mon
30 heimbach 1.21 integer sum1year
31 heimbach 1.1 integer dayrec
32     integer monrec
33 heimbach 1.21 integer yearrec
34 heimbach 1.1
35 gforget 1.41 c Number of sshv4cost Cost terms:
36     c =============================
37     INTEGER NSSHV4COST
38     PARAMETER ( NSSHV4COST=5 )
39    
40 gforget 1.46 c Number of User Cost terms:
41     c =============================
42     INTEGER NUSERCOST
43     PARAMETER ( NUSERCOST=10 )
44    
45 heimbach 1.36 c Number of days: (hard-coded to set up some vector dimensions
46 heimbach 1.35 c =============================
47 heimbach 1.37 c 17 years: 6210
48 heimbach 1.35 INTEGER maxNumDays
49 heimbach 1.37 PARAMETER ( maxNumDays = 6210 )
50 heimbach 1.35
51 heimbach 1.43 c Number of Generic Cost terms:
52     c =============================
53     INTEGER NGENCOST
54 heimbach 1.47 PARAMETER ( NGENCOST=1 )
55 heimbach 1.43
56     #ifdef ALLOW_GENCOST_CONTRIBUTION
57     c objf_gencost - gencost user defined contribution
58     common /ecco_gencost_ctrl/
59     & xx_genbar_dummy
60     _RL xx_genbar_dummy(NGENCOST)
61    
62 heimbach 1.47 common /ecco_gencost_r_1/
63 heimbach 1.43 & objf_gencost, num_gencost, mult_gencost,
64 heimbach 1.47 & gencost_barfld, gencost_modfld, gencost_weight,
65 heimbach 1.43 & gencost_spmin, gencost_spmax, gencost_spzero
66     _RL objf_gencost(nsx,nsy,NGENCOST)
67     _RL num_gencost(nsx,nsy,NGENCOST)
68     _RL mult_gencost(NGENCOST)
69     _RL gencost_spmin(NGENCOST)
70     _RL gencost_spmax(NGENCOST)
71     _RL gencost_spzero(NGENCOST)
72 gforget 1.45 _RL gencost_barfld(1-olx:snx+olx,1-oly:sny+oly,
73     & nsx,nsy,NGENCOST)
74     _RL gencost_modfld(1-olx:snx+olx,1-oly:sny+oly,
75     & nsx,nsy,NGENCOST)
76 heimbach 1.47 _RL gencost_weight(1-olx:snx+olx,1-oly:sny+oly,
77     & nsx,nsy,NGENCOST)
78    
79     common /ecco_gencost_r_2/
80     & gencost_period
81     _RL gencost_period(NGENCOST)
82 heimbach 1.43
83 heimbach 1.47 common /ecco_gencost_i_1/
84 heimbach 1.43 & gencost_nrec
85 jmc 1.49 integer gencost_nrec(NGENCOST)
86 heimbach 1.43
87     common /ecco_gencost_c/
88     & gencost_errfile,
89     & gencost_datafile,
90     & gencost_barfile,
91 heimbach 1.44 & gencost_avgperiod,
92     & gencost_mask
93 heimbach 1.43 character*(MAX_LEN_FNAM) gencost_errfile(NGENCOST)
94     character*(MAX_LEN_FNAM) gencost_datafile(NGENCOST)
95     character*(MAX_LEN_FNAM) gencost_barfile(NGENCOST)
96     character*(5) gencost_avgperiod(NGENCOST)
97 heimbach 1.44 character*(1) gencost_mask(NGENCOST)
98 heimbach 1.43
99     #endif /* ALLOW_GENCOST_CONTRIBUTION */
100    
101 heimbach 1.1 c Averaged Fields:
102     c ================
103     c
104     c tbar - contains the averaged temperature field after the call
105     c to subroutine POST_MONTHLY. Before, it accumulates the
106     c intantaneous temperatures.
107     c sbar - contains the averaged salinity field after the call
108     c to subroutine POST_MONTHLY. Before, it accumulates the
109     c intantaneous salinities.
110     c psbar - contains the averaged surface pressure field after the call
111     c to subroutine POST_DAILY. Before, it accumulates the
112     c intantaneous surface pressure field.
113 jmc 1.30 c ubar - contains the averaged zonal velocity component for the
114 heimbach 1.1 c whole integration period. Before, it accumulates the
115     c intantaneous field.
116     c vbar - contains the averaged zonal velocity component for the
117     c whole integration period. Before, it accumulates the
118     c intantaneous field.
119     c tauxbar - contains the averaged zonal velocity component for the
120     c whole integration period. Before, it accumulates the
121     c intantaneous field.
122     c tauybar - contains the averaged zonal velocity component for the
123     c whole integration period. Before, it accumulates the
124     c intantaneous field.
125 heimbach 1.47 c hfluxmeanbar - contains the averaged zonal velocity component for the
126 heimbach 1.1 c whole integration period. Before, it accumulates the
127     c intantaneous field.
128 heimbach 1.47 c sfluxmeanbar - contains the averaged zonal velocity component for the
129 heimbach 1.1 c whole integration period. Before, it accumulates the
130     c intantaneous field.
131    
132 jmc 1.30 common /averages_r/
133 heimbach 1.1 & tbar,
134     & sbar,
135 heimbach 1.33 & sstbar,
136 heimbach 1.1 & psbar,
137 heimbach 1.28 & bpbar,
138 heimbach 1.1 & ubar,
139     & vbar,
140     & wbar,
141     & tauxbar,
142     & tauybar,
143 heimbach 1.47 & hfluxmeanbar,
144     & sfluxmeanbar,
145 jmc 1.30 & Slmean,
146 heimbach 1.1 & Tlmean,
147     & wlmean,
148     & Sfmean,
149 jmc 1.30 & Tfmean,
150 jmc 1.49 & sbar_gen,
151     & tbar_gen,
152 heimbach 1.2 & wfmean
153 heimbach 1.1
154     #if (defined (ALLOW_THETA_COST_CONTRIBUTION) || \
155     defined (ALLOW_CTDT_COST_CONTRIBUTION) || \
156     defined (ALLOW_XBT_COST_CONTRIBUTION) || \
157     defined (ALLOW_DRIFT_COST_CONTRIBUTION) || \
158     defined (ALLOW_OBCS_COST_CONTRIBUTION))
159     _RL tbar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
160     #else
161 heimbach 1.2 #ifdef ALLOW_SST_COST_CONTRIBUTION
162     _RL tbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
163     #else
164 heimbach 1.1 _RL tbar
165     #endif
166 heimbach 1.2 #endif
167     #ifdef GENERIC_BAR_MONTH
168     _RL tbar_gen (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
169     _RL sbar_gen (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
170     #else
171     _RL tbar_gen
172     _RL sbar_gen
173     #endif
174 heimbach 1.1
175 heimbach 1.38 #ifdef ALLOW_DAILYSST_COST_CONTRIBUTION
176     cph#ifdef ALLOW_SEAICE_COST_AREASST
177 heimbach 1.33 _RL sstbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
178     #else
179     _RL sstbar
180     #endif
181    
182 heimbach 1.1 #if (defined (ALLOW_SALT_COST_CONTRIBUTION) || \
183     defined (ALLOW_CTDS_COST_CONTRIBUTION) || \
184     defined (ALLOW_DRIFT_COST_CONTRIBUTION) || \
185     defined (ALLOW_OBCS_COST_CONTRIBUTION))
186     _RL sbar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
187     #else
188 heimbach 1.2 #ifdef ALLOW_SSS_COST_CONTRIBUTION
189     _RL sbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
190     #else
191 heimbach 1.1 _RL sbar
192     #endif
193     #endif
194    
195     #ifdef ALLOW_SSH_COST_CONTRIBUTION
196     _RL psbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
197     #else
198     _RL psbar
199     #endif
200    
201 heimbach 1.28 #ifdef ALLOW_BP_COST_CONTRIBUTION
202     _RL bpbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
203     #else
204     _RL bpbar
205     #endif
206    
207 heimbach 1.1 #if (defined (ALLOW_DRIFTER_COST_CONTRIBUTION) || \
208 heimbach 1.2 defined (ALLOW_OBCS_COST_CONTRIBUTION))
209 heimbach 1.1 _RL ubar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
210     _RL vbar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
211     #else
212     _RL ubar
213     _RL vbar
214     #endif
215    
216     #ifdef ALLOW_DRIFTW_COST_CONTRIBUTION
217     _RL wbar (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
218     #else
219     _RL wbar
220     #endif
221    
222     #ifdef ALLOW_DRIFT_COST_CONTRIBUTION
223     _RL Tlmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
224     _RL Slmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
225     _RL Tfmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
226     _RL Sfmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
227     #else
228     _RL Tlmean
229     _RL Slmean
230     _RL Tfmean
231 jmc 1.30 _RL Sfmean
232 heimbach 1.1 #endif
233    
234     #ifdef ALLOW_DRIFTW_COST_CONTRIBUTION
235     _RL wlmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
236     _RL wfmean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
237     #else
238     _RL wlmean
239     _RL wfmean
240     #endif
241    
242     #ifdef ALLOW_SCAT_COST_CONTRIBUTION
243     _RL tauxbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
244     _RL tauybar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
245     #else
246 jmc 1.30 _RL tauxbar
247     _RL tauybar
248 heimbach 1.1 #endif
249    
250     #ifdef ALLOW_MEAN_HFLUX_COST_CONTRIBUTION
251 heimbach 1.47 _RL hfluxmeanbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
252 jmc 1.30 #else
253 heimbach 1.47 _RL hfluxmeanbar
254 heimbach 1.1 #endif
255    
256     #ifdef ALLOW_MEAN_SFLUX_COST_CONTRIBUTION
257 heimbach 1.47 _RL sfluxmeanbar (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
258 jmc 1.30 #else
259 heimbach 1.47 _RL sfluxmeanbar
260 heimbach 1.1 #endif
261    
262    
263 jmc 1.30 common /averages_c/
264 heimbach 1.1 & tbarfile,
265     & sbarfile,
266 heimbach 1.33 & sstbarfile,
267 heimbach 1.1 & psbarfile,
268 heimbach 1.28 & bpbarfile,
269 heimbach 1.1 & ubarfile,
270     & vbarfile,
271     & wbarfile,
272     & tauxbarfile,
273     & tauybarfile,
274 heimbach 1.43 & hfluxmeanbarfile,
275     & sfluxmeanbarfile,
276 heimbach 1.27 & costTranspDataFile
277 heimbach 1.1 character*(MAX_LEN_FNAM) tbarfile
278     character*(MAX_LEN_FNAM) sbarfile
279 heimbach 1.33 character*(MAX_LEN_FNAM) sstbarfile
280 heimbach 1.1 character*(MAX_LEN_FNAM) psbarfile
281 heimbach 1.28 character*(MAX_LEN_FNAM) bpbarfile
282 heimbach 1.1 character*(MAX_LEN_FNAM) ubarfile
283     character*(MAX_LEN_FNAM) vbarfile
284     character*(MAX_LEN_FNAM) wbarfile
285     character*(MAX_LEN_FNAM) tauxbarfile
286     character*(MAX_LEN_FNAM) tauybarfile
287 heimbach 1.43 character*(MAX_LEN_FNAM) hfluxmeanbarfile
288     character*(MAX_LEN_FNAM) sfluxmeanbarfile
289 heimbach 1.27 character*(MAX_LEN_FNAM) costTranspDataFile
290    
291     #ifdef ALLOW_TRANSPORT_COST_CONTRIBUTION
292     common /averages_transp_r/
293     & transpbar
294     & , transpobs
295     & , wtransp
296 jmc 1.30 _RL transpbar(maxNumDays,nsx,nsy)
297 heimbach 1.27 _RL transpobs(maxNumDays)
298     _RL wtransp(maxNumDays)
299     #endif
300 heimbach 1.1
301     c file precision and field type
302    
303 jmc 1.30 common /prec_type_cost/
304 heimbach 1.1 & cost_iprec,
305     & cost_yftype
306    
307     integer cost_iprec
308     character*(2) cost_yftype
309    
310     c ==================================================================
311     c END OF HEADER AVERAGES
312     c ==================================================================
313    
314    
315    
316     c ==================================================================
317     c HEADER COST
318     c ==================================================================
319     c
320     c o Header for model-data comparison.
321     c
322     c The individual cost function contributions are multiplied by
323     c factors mult_"var" which allow to switch off these contributions
324     c without removing them in the adjoint code. This is useful for
325     c doing tests with the adjoint and perhaps useful in assimilation
326     c experiments where individual contributions are successively
327     c switched on. For future applications it would be better to place
328     c the initialisation of the multipliers somewhere else, for example
329     c in a namelist, which is read in at the start of the model.
330     c
331     c started: Christian Eckert eckert@mit.edu 24-Feb-1999
332     c
333     c changed: Christian Eckert eckert@mit.edu
334     c
335     c
336     c ==================================================================
337     c HEADER COST
338     c ==================================================================
339    
340    
341     c The cost function, its contributions, and multipliers:
342     c ======================================================
343     c
344     c fc - Final cost function.
345     c objf_hflux - Heat flux contribution.
346     c objf_sflux - Salt flux contribution.
347     c objf_tauu - Zonal wind stress contribution.
348     c objf_tauv - Meridional wind stress contribution.
349     c objf_hfluxm - time-mean Heat flux contribution.
350     c objf_sfluxm - time-mean Salt flux contribution.
351     c objf_tauum - time-mean Zonal wind stress contribution.
352     c objf_tauvm - time-mean Meridional wind stress contribution.
353     c objf_hfluxmm - Global time-mean Heat flux contribution.
354     c objf_sfluxmm - Global time-mean Salt flux contribution.
355     c objf_hmean - Mean sea surface height contribution.
356     c objf_h - Residual sea surface height contribution.
357 heimbach 1.21 c objf_tp - Residual sea surface height contribution from T/P
358     c objf_ers - Residual sea surface height contribution from T/P
359     c objf_gfo - Residual sea surface height contribution from T/P
360 heimbach 1.1 c objf_temp - Temperature contribution.
361     c objf_salt - Salinity contribution.
362     c objf_temp0 - Initial conditions Temperature contribution.
363     c objf_salt0 - Initial conditions Salinity contribution.
364 heimbach 1.2 c objf_sst - Sea surface temperature contribution.
365 heimbach 1.1 c objf_tmi - Sea surface temperature contribution.
366     c objf_sss - Sea surface salinity contribution.
367 jmc 1.30 c objf_ctdt - Temperature measurements from Woce CTD
368     c objf_ctds - Salinity measurements from Woce CTD
369 heimbach 1.2 c objf_ctdtclim - Temperature measurements from Woce CTD without timetag
370     c objf_ctdsclim - Salinity measurements from Woce CTD without timetag
371 heimbach 1.1 c objf_xbt - XBT temperature data
372     c objf_argot - ARGO temperature profiles
373     c objf_argos - ARGO salt profiles
374 gforget 1.46 c objf_usercost - user defined cost contribution
375 heimbach 1.1 c objf_scatxm - time-mean zonal SCAT contribution
376     c objf_scatym - time-mean meridional SCAT contribution
377     c objf_scatx - zonal SCAT contribution
378     c objf_scaty - meridional SCAT contribution
379     c objf_kapgm - kappa GM contribution
380 gforget 1.31 c objf_kapredi - kappa REDI contribution
381 heimbach 1.1 c objf_diffkr - diffusion contribution
382     c objf_theta_ini_fin - final vs. initial theta misfit
383     c objf_salt_ini_fin - final vs. initial salt misfit
384 gforget 1.32 c objf_eddytau - eddy streamfunction contribution
385 gforget 1.25 c objf_bottomdrag - bottom drag contribution
386 heimbach 1.1 c
387     c mult_"var" - multipliers for the individual cost
388     c function contributions.
389    
390     common /ecco_cost_objf/
391 mlosch 1.42 & objf_hflux, objf_hfluxm, objf_hfluxmm, objf_hfluxsmoo,
392     & objf_sflux, objf_sfluxm, objf_sfluxmm, objf_sfluxsmoo,
393     & objf_tauu, objf_tauum, objf_tauusmoo,
394     & objf_tauv, objf_tauvm, objf_tauvsmoo,
395     & objf_hmean,
396 heimbach 1.43 & objf_h, objf_tp, objf_ers, objf_gfo,
397 mlosch 1.42 & objf_sshv4cost,
398     & objf_temp, objf_salt,
399     & objf_temp0, objf_salt0,
400     & objf_temp0smoo, objf_salt0smoo,
401 heimbach 1.43 & objf_sst, objf_tmi, objf_sss,
402 mlosch 1.42 & objf_bp,
403 gforget 1.46 & objf_usercost,
404 mlosch 1.42 & objf_ctdt, objf_ctds,
405     & objf_ctdtclim, objf_ctdsclim,
406 heimbach 1.43 & objf_xbt, objf_argot, objf_argos,
407 mlosch 1.42 & objf_drift, objf_tdrift, objf_sdrift, objf_wdrift,
408     & objf_scatx, objf_scaty, objf_scatxm, objf_scatym,
409     & objf_atemp, objf_atempm, objf_atempsmoo,
410     & objf_aqh, objf_aqhm, objf_aqhsmoo,
411     & objf_precip, objf_precipm, objf_precipsmoo,
412     & objf_swflux, objf_swfluxm, objf_swfluxsmoo,
413     & objf_swdown, objf_swdownm, objf_swdownsmoo,
414     & objf_snowprecip, objf_snowprecipm, objf_snowprecipsmoo,
415     & objf_lwflux, objf_lwfluxm, objf_lwfluxsmoo,
416     & objf_lwdown, objf_lwdownm, objf_lwdownsmoo,
417     & objf_evap, objf_evapm, objf_evapsmoo,
418     & objf_apressure, objf_apressurem, objf_apressuresmoo,
419     & objf_runoff, objf_runoffm, objf_runoffsmoo,
420     & objf_uwind, objf_uwindm, objf_uwindsmoo,
421     & objf_vwind, objf_vwindm, objf_vwindsmoo,
422 jmc 1.49 & objf_obcsn, objf_obcss, objf_obcsw, objf_obcse,
423 mlosch 1.42 & objf_obcsvol,
424     & objf_curmtr,
425     & objf_ageos,
426     & objf_kapgm,
427     & objf_kapredi,
428     & objf_diffkr,
429     & objf_theta_ini_fin, objf_salt_ini_fin,
430     & objf_eddytau,
431     & objf_bottomdrag,
432     & objf_transp
433 heimbach 1.43
434 heimbach 1.1 _RL objf_hflux (nsx,nsy)
435     _RL objf_hfluxm (nsx,nsy)
436 heimbach 1.29 _RL objf_hfluxmm
437 heimbach 1.13 _RL objf_hfluxsmoo (nsx,nsy)
438 heimbach 1.1 _RL objf_sflux (nsx,nsy)
439     _RL objf_sfluxm (nsx,nsy)
440 heimbach 1.24 _RL objf_sfluxmm
441 heimbach 1.13 _RL objf_sfluxsmoo (nsx,nsy)
442 heimbach 1.1 _RL objf_tauu (nsx,nsy)
443     _RL objf_tauum (nsx,nsy)
444 heimbach 1.13 _RL objf_tauusmoo (nsx,nsy)
445 heimbach 1.1 _RL objf_tauv (nsx,nsy)
446     _RL objf_tauvm (nsx,nsy)
447 heimbach 1.13 _RL objf_tauvsmoo (nsx,nsy)
448 heimbach 1.2 _RL objf_hmean
449 heimbach 1.1 _RL objf_h (nsx,nsy)
450 heimbach 1.21 _RL objf_tp (nsx,nsy)
451     _RL objf_ers (nsx,nsy)
452     _RL objf_gfo (nsx,nsy)
453 gforget 1.41 _RL objf_sshv4cost(NSSHV4COST,nsx,nsy)
454 heimbach 1.1 _RL objf_temp (nsx,nsy)
455     _RL objf_salt (nsx,nsy)
456     _RL objf_temp0(nsx,nsy)
457     _RL objf_salt0(nsx,nsy)
458 heimbach 1.14 _RL objf_temp0smoo(nsx,nsy)
459     _RL objf_salt0smoo(nsx,nsy)
460 heimbach 1.2 _RL objf_sst (nsx,nsy)
461 heimbach 1.1 _RL objf_tmi (nsx,nsy)
462 jmc 1.30 _RL objf_sss (nsx,nsy)
463     _RL objf_bp (nsx,nsy)
464 heimbach 1.1 _RL objf_ctdt (nsx,nsy)
465     _RL objf_ctds (nsx,nsy)
466     _RL objf_ctdtclim (nsx,nsy)
467     _RL objf_ctdsclim (nsx,nsy)
468     _RL objf_xbt (nsx,nsy)
469     _RL objf_argot(nsx,nsy)
470 gforget 1.46 _RL objf_usercost(NUSERCOST,nsx,nsy)
471 heimbach 1.1 _RL objf_argos(nsx,nsy)
472     _RL objf_drift(nsx,nsy)
473     _RL objf_tdrift(nsx,nsy)
474     _RL objf_sdrift(nsx,nsy)
475     _RL objf_wdrift(nsx,nsy)
476     _RL objf_scatx(nsx,nsy)
477     _RL objf_scaty(nsx,nsy)
478     _RL objf_scatxm(nsx,nsy)
479     _RL objf_scatym(nsx,nsy)
480     _RL objf_atemp(nsx,nsy)
481     _RL objf_aqh (nsx,nsy)
482 heimbach 1.6 _RL objf_precip(nsx,nsy)
483 heimbach 1.7 _RL objf_swflux(nsx,nsy)
484 heimbach 1.9 _RL objf_swdown(nsx,nsy)
485 heimbach 1.23 _RL objf_snowprecip(nsx,nsy)
486     _RL objf_lwflux(nsx,nsy)
487     _RL objf_lwdown(nsx,nsy)
488     _RL objf_evap(nsx,nsy)
489     _RL objf_apressure(nsx,nsy)
490     _RL objf_runoff(nsx,nsy)
491 heimbach 1.1 _RL objf_uwind(nsx,nsy)
492     _RL objf_vwind(nsx,nsy)
493 heimbach 1.8 _RL objf_atempm(nsx,nsy)
494     _RL objf_aqhm (nsx,nsy)
495     _RL objf_precipm(nsx,nsy)
496     _RL objf_swfluxm(nsx,nsy)
497 heimbach 1.9 _RL objf_swdownm(nsx,nsy)
498 heimbach 1.23 _RL objf_snowprecipm(nsx,nsy)
499     _RL objf_lwfluxm(nsx,nsy)
500     _RL objf_lwdownm(nsx,nsy)
501     _RL objf_evapm(nsx,nsy)
502     _RL objf_apressurem(nsx,nsy)
503     _RL objf_runoffm(nsx,nsy)
504 heimbach 1.8 _RL objf_uwindm(nsx,nsy)
505     _RL objf_vwindm(nsx,nsy)
506 heimbach 1.13 _RL objf_atempsmoo(nsx,nsy)
507     _RL objf_aqhsmoo (nsx,nsy)
508     _RL objf_precipsmoo(nsx,nsy)
509     _RL objf_swfluxsmoo(nsx,nsy)
510     _RL objf_swdownsmoo(nsx,nsy)
511 heimbach 1.23 _RL objf_snowprecipsmoo(nsx,nsy)
512     _RL objf_lwfluxsmoo(nsx,nsy)
513     _RL objf_lwdownsmoo(nsx,nsy)
514     _RL objf_evapsmoo(nsx,nsy)
515     _RL objf_apressuresmoo(nsx,nsy)
516     _RL objf_runoffsmoo(nsx,nsy)
517 heimbach 1.13 _RL objf_uwindsmoo(nsx,nsy)
518     _RL objf_vwindsmoo(nsx,nsy)
519 heimbach 1.1 _RL objf_obcsn(nsx,nsy)
520     _RL objf_obcss(nsx,nsy)
521     _RL objf_obcsw(nsx,nsy)
522     _RL objf_obcse(nsx,nsy)
523 heimbach 1.2 _RL objf_obcsvol
524 heimbach 1.1 _RL objf_curmtr(nsx,nsy)
525     _RL objf_ageos(nsx,nsy)
526     _RL objf_kapgm(nsx,nsy)
527 gforget 1.31 _RL objf_kapredi(nsx,nsy)
528 heimbach 1.1 _RL objf_diffkr(nsx,nsy)
529     _RL objf_theta_ini_fin(nsx,nsy)
530     _RL objf_salt_ini_fin(nsx,nsy)
531 heimbach 1.3 _RL objf_eddytau(nsx,nsy)
532 gforget 1.25 _RL objf_bottomdrag(nsx,nsy)
533 heimbach 1.27 _RL objf_transp
534 heimbach 1.1
535 heimbach 1.4 common /ecco_cost_num/
536     & num_hflux,
537     & num_hfluxm,
538     & num_hfluxmm,
539     & num_sflux,
540     & num_sfluxm,
541     & num_sfluxmm,
542     & num_tauu,
543     & num_tauum,
544     & num_tauv,
545     & num_tauvm,
546     & num_hmean,
547     & num_h,
548 heimbach 1.21 & num_tp,
549     & num_ers,
550     & num_gfo,
551 gforget 1.41 & num_sshv4cost,
552 heimbach 1.4 & num_temp,
553     & num_salt,
554     & num_temp0,
555     & num_salt0,
556     & num_sst,
557     & num_tmi,
558     & num_sss,
559 heimbach 1.28 & num_bp,
560 heimbach 1.4 & num_ctdt,
561     & num_ctds,
562     & num_ctdtclim,
563     & num_ctdsclim,
564     & num_xbt,
565     & num_argot,
566     & num_argos,
567 gforget 1.46 & num_usercost,
568 heimbach 1.4 & num_drift,
569     & num_tdrift,
570     & num_sdrift,
571     & num_wdrift,
572     & num_scatx,
573     & num_scaty,
574     & num_scatxm,
575     & num_scatym,
576     & num_atemp,
577     & num_aqh,
578 heimbach 1.6 & num_precip,
579 heimbach 1.7 & num_swflux,
580 heimbach 1.9 & num_swdown,
581 heimbach 1.23 & num_snowprecip,
582     & num_lwflux,
583     & num_lwdown,
584     & num_evap,
585     & num_apressure,
586     & num_runoff,
587 heimbach 1.4 & num_uwind,
588     & num_vwind,
589 heimbach 1.8 & num_atempm,
590     & num_aqhm,
591     & num_precipm,
592     & num_swfluxm,
593 heimbach 1.9 & num_swdownm,
594 heimbach 1.23 & num_snowprecipm,
595     & num_lwfluxm,
596     & num_lwdownm,
597     & num_evapm,
598     & num_apressurem,
599     & num_runoffm,
600 heimbach 1.8 & num_uwindm,
601     & num_vwindm,
602 heimbach 1.4 & num_obcsn,
603     & num_obcss,
604     & num_obcsw,
605     & num_obcse,
606     & num_obcsvol,
607     & num_curmtr,
608     & num_ageos,
609 heimbach 1.9 & num_kapgm,
610 gforget 1.31 & num_kapredi,
611 heimbach 1.4 & num_diffkr,
612     & num_theta_ini_fin,
613     & num_salt_ini_fin,
614 gforget 1.25 & num_eddytau,
615 heimbach 1.27 & num_bottomdrag,
616     & num_transp
617 heimbach 1.4
618     _RL num_hflux (nsx,nsy)
619     _RL num_hfluxm (nsx,nsy)
620     _RL num_hfluxmm(nsx,nsy)
621     _RL num_sflux (nsx,nsy)
622     _RL num_sfluxm (nsx,nsy)
623     _RL num_sfluxmm(nsx,nsy)
624     _RL num_tauu (nsx,nsy)
625     _RL num_tauum (nsx,nsy)
626     _RL num_tauv (nsx,nsy)
627     _RL num_tauvm (nsx,nsy)
628     _RL num_hmean
629     _RL num_h (nsx,nsy)
630 heimbach 1.21 _RL num_tp (nsx,nsy)
631     _RL num_ers (nsx,nsy)
632     _RL num_gfo (nsx,nsy)
633 gforget 1.41 _RL num_sshv4cost(NSSHV4COST,nsx,nsy)
634 heimbach 1.4 _RL num_temp (nsx,nsy)
635     _RL num_salt (nsx,nsy)
636     _RL num_temp0(nsx,nsy)
637     _RL num_salt0(nsx,nsy)
638     _RL num_sst (nsx,nsy)
639     _RL num_tmi (nsx,nsy)
640 jmc 1.30 _RL num_sss (nsx,nsy)
641     _RL num_bp (nsx,nsy)
642 heimbach 1.4 _RL num_ctdt (nsx,nsy)
643     _RL num_ctds (nsx,nsy)
644     _RL num_ctdtclim (nsx,nsy)
645     _RL num_ctdsclim (nsx,nsy)
646     _RL num_xbt (nsx,nsy)
647     _RL num_argot(nsx,nsy)
648     _RL num_argos(nsx,nsy)
649 gforget 1.46 _RL num_usercost(NUSERCOST,nsx,nsy)
650 heimbach 1.4 _RL num_drift(nsx,nsy)
651     _RL num_tdrift(nsx,nsy)
652     _RL num_sdrift(nsx,nsy)
653     _RL num_wdrift(nsx,nsy)
654     _RL num_scatx(nsx,nsy)
655     _RL num_scaty(nsx,nsy)
656     _RL num_scatxm(nsx,nsy)
657     _RL num_scatym(nsx,nsy)
658     _RL num_atemp(nsx,nsy)
659     _RL num_aqh (nsx,nsy)
660 heimbach 1.6 _RL num_precip(nsx,nsy)
661 heimbach 1.7 _RL num_swflux(nsx,nsy)
662 heimbach 1.9 _RL num_swdown(nsx,nsy)
663 heimbach 1.23 _RL num_snowprecip(nsx,nsy)
664     _RL num_lwflux(nsx,nsy)
665     _RL num_lwdown(nsx,nsy)
666     _RL num_evap(nsx,nsy)
667     _RL num_apressure(nsx,nsy)
668     _RL num_runoff(nsx,nsy)
669 heimbach 1.4 _RL num_uwind(nsx,nsy)
670     _RL num_vwind(nsx,nsy)
671 heimbach 1.8 _RL num_atempm(nsx,nsy)
672     _RL num_aqhm (nsx,nsy)
673     _RL num_precipm(nsx,nsy)
674     _RL num_swfluxm(nsx,nsy)
675 heimbach 1.9 _RL num_swdownm(nsx,nsy)
676 heimbach 1.23 _RL num_snowprecipm(nsx,nsy)
677     _RL num_lwfluxm(nsx,nsy)
678     _RL num_lwdownm(nsx,nsy)
679     _RL num_evapm(nsx,nsy)
680     _RL num_apressurem(nsx,nsy)
681     _RL num_runoffm(nsx,nsy)
682 heimbach 1.8 _RL num_uwindm(nsx,nsy)
683     _RL num_vwindm(nsx,nsy)
684 heimbach 1.4 _RL num_obcsn(nsx,nsy)
685     _RL num_obcss(nsx,nsy)
686     _RL num_obcsw(nsx,nsy)
687     _RL num_obcse(nsx,nsy)
688     _RL num_obcsvol
689     _RL num_curmtr(nsx,nsy)
690     _RL num_ageos(nsx,nsy)
691     _RL num_kapgm(nsx,nsy)
692 gforget 1.31 _RL num_kapredi(nsx,nsy)
693 heimbach 1.4 _RL num_diffkr(nsx,nsy)
694     _RL num_theta_ini_fin(nsx,nsy)
695     _RL num_salt_ini_fin(nsx,nsy)
696     _RL num_eddytau(nsx,nsy)
697 gforget 1.25 _RL num_bottomdrag(nsx,nsy)
698 heimbach 1.27 _RL num_transp
699 heimbach 1.4
700 heimbach 1.1 common /ecco_cost_aux_r/
701     & mult_hflux,
702     & mult_sflux,
703 heimbach 1.16 & mult_hfluxmm,
704     & mult_sfluxmm,
705 heimbach 1.1 & mult_tauu,
706     & mult_tauv,
707     & mult_hmean,
708     & mult_h,
709 heimbach 1.21 & mult_tp,
710     & mult_ers,
711     & mult_gfo,
712 gforget 1.41 & mult_sshv4cost,
713 heimbach 1.1 & mult_temp,
714     & mult_salt,
715     & mult_temp0,
716     & mult_salt0,
717 heimbach 1.2 & mult_sst,
718 heimbach 1.1 & mult_tmi,
719     & mult_sss,
720 heimbach 1.28 & mult_bp,
721 heimbach 1.1 & mult_ctdt,
722     & mult_ctds,
723     & mult_ctdtclim,
724     & mult_ctdsclim,
725     & mult_xbt,
726     & mult_argot,
727     & mult_argos,
728 gforget 1.46 & mult_usercost,
729 heimbach 1.1 & mult_drift,
730     & mult_tdrift,
731     & mult_sdrift,
732     & mult_wdrift,
733     & mult_scatx,
734     & mult_scaty,
735     & mult_atemp,
736     & mult_aqh,
737 heimbach 1.6 & mult_precip,
738 heimbach 1.7 & mult_swflux,
739 heimbach 1.9 & mult_swdown,
740 heimbach 1.23 & mult_snowprecip,
741     & mult_lwflux,
742     & mult_lwdown,
743     & mult_evap,
744     & mult_apressure,
745     & mult_runoff,
746 heimbach 1.1 & mult_uwind,
747     & mult_vwind,
748     & mult_obcsn,
749     & mult_obcss,
750     & mult_obcsw,
751     & mult_obcse,
752     & mult_obcsvol,
753     & mult_curmtr,
754     & mult_ageos,
755     & mult_kapgm,
756 gforget 1.31 & mult_kapredi,
757 heimbach 1.1 & mult_diffkr,
758 heimbach 1.3 & mult_ini_fin,
759 gforget 1.25 & mult_edtau,
760     & mult_bottomdrag,
761 heimbach 1.14 & mult_smooth_ic,
762 heimbach 1.27 & mult_smooth_bc,
763     & mult_transp
764 heimbach 1.1 _RL mult_hflux
765     _RL mult_sflux
766 heimbach 1.16 _RL mult_hfluxmm
767     _RL mult_sfluxmm
768 heimbach 1.1 _RL mult_tauu
769     _RL mult_tauv
770     _RL mult_hmean
771     _RL mult_h
772 heimbach 1.21 _RL mult_tp
773     _RL mult_ers
774     _RL mult_gfo
775 gforget 1.41 _RL mult_sshv4cost(NSSHV4COST)
776 heimbach 1.1 _RL mult_temp
777     _RL mult_salt
778     _RL mult_temp0
779     _RL mult_salt0
780 heimbach 1.2 _RL mult_sst
781 heimbach 1.1 _RL mult_tmi
782     _RL mult_sss
783 heimbach 1.28 _RL mult_bp
784 heimbach 1.1 _RL mult_ctdt
785     _RL mult_ctds
786     _RL mult_ctdtclim
787     _RL mult_ctdsclim
788     _RL mult_xbt
789     _RL mult_argot
790     _RL mult_argos
791 gforget 1.46 _RL mult_usercost(NUSERCOST)
792 heimbach 1.1 _RL mult_drift
793     _RL mult_tdrift
794     _RL mult_sdrift
795     _RL mult_wdrift
796     _RL mult_scatx
797     _RL mult_scaty
798     _RL mult_atemp
799     _RL mult_aqh
800 heimbach 1.6 _RL mult_precip
801 heimbach 1.7 _RL mult_swflux
802 heimbach 1.9 _RL mult_swdown
803 heimbach 1.23 _RL mult_snowprecip
804     _RL mult_lwflux
805     _RL mult_lwdown
806     _RL mult_evap
807     _RL mult_apressure
808     _RL mult_runoff
809 heimbach 1.1 _RL mult_uwind
810     _RL mult_vwind
811     _RL mult_obcsn
812     _RL mult_obcss
813     _RL mult_obcsw
814     _RL mult_obcse
815     _RL mult_obcsvol
816     _RL mult_curmtr
817     _RL mult_ageos
818     _RL mult_kapgm
819 gforget 1.31 _RL mult_kapredi
820 heimbach 1.1 _RL mult_diffkr
821     _RL mult_ini_fin
822 gforget 1.25 _RL mult_edtau
823     _RL mult_bottomdrag
824 heimbach 1.14 _RL mult_smooth_ic
825     _RL mult_smooth_bc
826 heimbach 1.27 _RL mult_transp
827 heimbach 1.1
828     c Record counters relevant for the cost function evaluation.
829     c ==========================================================
830     c
831 heimbach 1.21 c nyearsrec - number of yearly records that will be generated by
832     c the current model integration.
833     c nmonsrec - number of monthly records that will be generated by
834     c the current model integration.
835     c ndaysrec - number of daily records that will be generated by
836     c the current model integration.
837 heimbach 1.1
838     common /ecco_cost_i/
839 heimbach 1.21 & nyearsrec,
840 heimbach 1.1 & nmonsrec,
841 heimbach 1.11 & ndaysrec,
842     & nnztbar,
843     & nnzsbar
844 heimbach 1.21 integer nyearsrec
845 heimbach 1.1 integer nmonsrec
846     integer ndaysrec
847 heimbach 1.11 integer nnztbar
848     integer nnzsbar
849 heimbach 1.1
850    
851     c Data files for the weights used in the cost function:
852     c =====================================================
853     c
854     c hflux_errfile - heat flux error.
855     c sflux_errfile - salt flux error.
856     c tauu_errfile - zonal wind stress error.
857     c tauum_errfile - zonal wind stress error.
858     c tauv_errfile - meridional wind stress error.
859     c tauvm_errfile - meridional wind stress error.
860     c tscatx_errfile - zonal wind stress error.
861     c tscaty_errfile - meridional wind stress error.
862     c data_errfile - weights for theta, salt, and SST
863     c geoid_errfile - geoid error.
864     c geoid_covariancefile - geoid error covariance.
865     c ssh_errfile - sea surface height error.
866     c ctdt_errfile - CTD temperature error.
867     c ctds_errfile - CTD salinity error.
868     c drift_errfile - drifter error.
869     c salterrfile - representation error due unresolved eddies
870     c temperrfile - representation error due unresolved eddies
871     c velerrfile - representation error
872    
873 jmc 1.30 common /ecco_cost_c/
874 heimbach 1.1 & hflux_errfile,
875     & hfluxm_errfile,
876     & sflux_errfile,
877     & sfluxm_errfile,
878     & tauu_errfile,
879     & tauum_errfile,
880     & tauv_errfile,
881     & tauvm_errfile,
882     & scatx_errfile,
883     & scaty_errfile,
884     & data_errfile,
885     & geoid_errfile,
886     & geoid_covariancefile,
887     & ssh_errfile,
888 heimbach 1.22 & tp_errfile,
889     & ers_errfile,
890     & gfo_errfile,
891 gforget 1.41 & sshv4cost_errfile,
892 heimbach 1.1 & ctdt_errfile,
893 jmc 1.30 & ctds_errfile,
894 heimbach 1.1 & drift_errfile,
895 jmc 1.30 & udrifterrfile,
896     & vdrifterrfile,
897 heimbach 1.1 & salterrfile,
898     & temperrfile,
899     & velerrfile,
900 heimbach 1.12 & salt0errfile,
901     & temp0errfile,
902     & vel0errfile,
903 gforget 1.39 & ssterrfile,
904     & ssserrfile,
905 gforget 1.40 & bperrfile,
906 heimbach 1.1 & atemp_errfile,
907     & aqh_errfile,
908 heimbach 1.6 & precip_errfile,
909 heimbach 1.7 & swflux_errfile,
910 heimbach 1.9 & swdown_errfile,
911 heimbach 1.23 & snowprecip_errfile,
912     & lwflux_errfile,
913     & lwdown_errfile,
914     & evap_errfile,
915     & apressure_errfile,
916     & runoff_errfile,
917 gforget 1.25 & edtau_errfile,
918     & kapgm_errfile,
919 gforget 1.31 & kapredi_errfile,
920 gforget 1.25 & diffkr_errfile,
921     & bottomdrag_errfile,
922 gforget 1.46 & usercost_errfile,
923 heimbach 1.1 & uwind_errfile,
924     & vwind_errfile
925     character*(MAX_LEN_FNAM) hflux_errfile
926     character*(MAX_LEN_FNAM) sflux_errfile
927     character*(MAX_LEN_FNAM) tauu_errfile
928     character*(MAX_LEN_FNAM) tauv_errfile
929     character*(MAX_LEN_FNAM) hfluxm_errfile
930     character*(MAX_LEN_FNAM) sfluxm_errfile
931     character*(MAX_LEN_FNAM) tauum_errfile
932     character*(MAX_LEN_FNAM) tauvm_errfile
933     character*(MAX_LEN_FNAM) scatx_errfile
934     character*(MAX_LEN_FNAM) scaty_errfile
935     character*(MAX_LEN_FNAM) data_errfile
936     character*(MAX_LEN_FNAM) geoid_errfile
937     character*(MAX_LEN_FNAM) geoid_covariancefile
938     character*(MAX_LEN_FNAM) ssh_errfile
939 heimbach 1.22 character*(MAX_LEN_FNAM) tp_errfile
940     character*(MAX_LEN_FNAM) ers_errfile
941     character*(MAX_LEN_FNAM) gfo_errfile
942 gforget 1.41 character*(MAX_LEN_FNAM) sshv4cost_errfile(NSSHV4COST)
943 jmc 1.30 character*(MAX_LEN_FNAM) ctdt_errfile
944     character*(MAX_LEN_FNAM) ctds_errfile
945 heimbach 1.1 character*(MAX_LEN_FNAM) drift_errfile
946     character*(MAX_LEN_FNAM) udrifterrfile
947 jmc 1.30 character*(MAX_LEN_FNAM) vdrifterrfile
948 heimbach 1.1 character*(MAX_LEN_FNAM) salterrfile
949     character*(MAX_LEN_FNAM) temperrfile
950     character*(MAX_LEN_FNAM) velerrfile
951 heimbach 1.12 character*(MAX_LEN_FNAM) salt0errfile
952     character*(MAX_LEN_FNAM) temp0errfile
953     character*(MAX_LEN_FNAM) vel0errfile
954 gforget 1.39 character*(MAX_LEN_FNAM) ssterrfile
955     character*(MAX_LEN_FNAM) ssserrfile
956 gforget 1.40 character*(MAX_LEN_FNAM) bperrfile
957 heimbach 1.1 character*(MAX_LEN_FNAM) atemp_errfile
958     character*(MAX_LEN_FNAM) aqh_errfile
959 heimbach 1.6 character*(MAX_LEN_FNAM) precip_errfile
960 heimbach 1.7 character*(MAX_LEN_FNAM) swflux_errfile
961 heimbach 1.9 character*(MAX_LEN_FNAM) swdown_errfile
962 heimbach 1.23 character*(MAX_LEN_FNAM) snowprecip_errfile
963     character*(MAX_LEN_FNAM) lwflux_errfile
964     character*(MAX_LEN_FNAM) lwdown_errfile
965     character*(MAX_LEN_FNAM) evap_errfile
966     character*(MAX_LEN_FNAM) apressure_errfile
967     character*(MAX_LEN_FNAM) runoff_errfile
968 gforget 1.25 character*(MAX_LEN_FNAM) edtau_errfile
969     character*(MAX_LEN_FNAM) kapgm_errfile
970 gforget 1.31 character*(MAX_LEN_FNAM) kapredi_errfile
971 gforget 1.25 character*(MAX_LEN_FNAM) diffkr_errfile
972     character*(MAX_LEN_FNAM) bottomdrag_errfile
973 gforget 1.46 character*(MAX_LEN_FNAM) usercost_errfile(NUSERCOST)
974 heimbach 1.1 character*(MAX_LEN_FNAM) uwind_errfile
975     character*(MAX_LEN_FNAM) vwind_errfile
976    
977    
978     c Arrays where the weights are stored:
979     c ====================================
980     c
981     c cosphi - cosine of latitude.
982     c whflux - weight for heat flux.
983     c wsflux - weight for salt flux.
984     c wtauu - weight for zonal wind stress.
985     c wtauu - weight for meridional wind stress.
986     c wscatx - weight for zonal scat stress.
987     c wscaty - weight for meridional scat stress.
988     c wtheta - weight for temperature.
989     c wtheta2 - representation error due to unresolved eddies
990     c wsst - weight for sea surface temperature.
991     c wsss - weight for sea surface salinity.
992     c wsalt - weight for salinity.
993     c wsalt2 - representation error due to unresolved eddies
994     c wtp - weight for TOPEX/POSEIDON data.
995     c wers - weight for ERS data.
996     c wp - weight for geoid.
997     c wctdt - weight for CTD temperature.
998     c wctds - weight for CTD salinity.
999     c wudrift - weight for mean zonal velocity from drifters.
1000     c wvdrift - weight for mean meridional velocity from drifters.
1001    
1002 jmc 1.30 common /ecco_cost_weights_r/
1003 heimbach 1.1 & frame,
1004     & cosphi,
1005     & whflux,wsflux,wtauu,wtauv,
1006 heimbach 1.23 & watemp,waqh,wprecip,wsnowprecip,
1007     & wswflux,wswdown,wlwflux,wlwdown,
1008     & wevap,wapressure,wrunoff,
1009 gforget 1.25 & wbottomdrag,
1010 heimbach 1.9 & wuwind,wvwind,
1011 heimbach 1.1 & wscatx,wscaty,
1012     & wtheta,wtheta2,wthetaLev,
1013     & wsalt,wsalt2,wsaltLev,
1014 heimbach 1.20 & wdiffkr,wdiffkr2,wdiffkrFld,
1015     & wkapgm,wkapgm2,wkapgmFld,
1016 gforget 1.31 & wkapredi,wkapredi2,wkaprediFld,
1017 heimbach 1.20 & wedtaux,wedtaux2,wedtauxFld,
1018     & wedtauy,wedtauy2,wedtauyFld,
1019 heimbach 1.28 & wsst,wsss,wbp,
1020 heimbach 1.15 & wtp,wers,wgfo,
1021 gforget 1.41 & wp,wsshv4,
1022 heimbach 1.1 & wctdt,wctds,
1023     & wudrift,wvdrift,
1024     & whfluxmm,wsfluxmm,
1025     & wcurrent,wcurrent2,
1026     & wcurrentLev,wbaro
1027    
1028     _RL frame (1-olx:snx+olx,1-oly:sny+oly )
1029     _RL cosphi (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1030     _RL whflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1031     _RL whfluxm (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1032     _RL whfluxmm(1-olx:snx+olx,1-oly:sny+oly)
1033     _RL wsflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1034     _RL wsfluxm (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1035     _RL wsfluxmm(1-olx:snx+olx,1-oly:sny+oly)
1036     _RL wtauu (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1037     _RL wtauv (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1038     _RL wtauum (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1039     _RL wtauvm (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1040     _RL wscatx (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1041     _RL wscaty (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1042     _RL watemp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1043     _RL waqh (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1044 heimbach 1.6 _RL wprecip (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1045 heimbach 1.7 _RL wswflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1046 heimbach 1.9 _RL wswdown (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1047 heimbach 1.23 _RL wsnowprecip (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1048     _RL wlwflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1049     _RL wlwdown (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1050     _RL wevap (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1051     _RL wapressure(1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1052     _RL wrunoff (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1053 gforget 1.25 _RL wbottomdrag (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
1054 heimbach 1.1 _RL wuwind (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1055     _RL wvwind (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1056     _RL wtheta ( nr,nsx,nsy)
1057     _RL wsalt ( nr,nsx,nsy)
1058     _RL wtheta2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1059     _RL wsalt2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1060     _RL wthetaLev (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1061     _RL wsaltLev (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1062     _RL wsst (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1063     _RL wsss (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1064 heimbach 1.28 _RL wbp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1065 heimbach 1.1 _RL wtp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1066 gforget 1.41 _RL wsshv4 (1-olx:snx+olx,1-oly:sny+oly,NSSHV4COST,nsx,nsy)
1067 heimbach 1.1 _RL wers (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1068 heimbach 1.15 _RL wgfo (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1069 heimbach 1.1 _RL wp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1070     _RL wctdt ( nr,nsx,nsy)
1071     _RL wctds ( nr,nsx,nsy)
1072     _RL wudrift (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1073     _RL wvdrift (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1074     _RL wcurrent( nr,nsx,nsy)
1075     _RL wcurrent2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1076     _RL wcurrentLev (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1077     _RL wbaro
1078 heimbach 1.20 _RL wdiffkr ( nr,nsx,nsy)
1079     _RL wdiffkr2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1080     _RL wdiffkrFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1081     _RL wkapgm ( nr,nsx,nsy)
1082     _RL wkapgm2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1083     _RL wkapgmFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1084 gforget 1.31 _RL wkapredi ( nr,nsx,nsy)
1085     _RL wkapredi2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1086     _RL wkaprediFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1087 heimbach 1.20 _RL wedtaux ( nr,nsx,nsy)
1088     _RL wedtaux2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1089     _RL wedtauxFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1090     _RL wedtauy ( nr,nsx,nsy)
1091     _RL wedtauy2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1092     _RL wedtauyFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1093 heimbach 1.1
1094 heimbach 1.6 common /ecco_cost_weights_0_r/
1095 heimbach 1.7 & whflux0, wsflux0, wtau0,
1096 heimbach 1.23 & watemp0, waqh0, wprecip0, wsnowprecip0, wwind0,
1097 jmc 1.30 & wswflux0, wswdown0, wlwflux0, wlwdown0,
1098 gforget 1.31 & wevap0, wapressure0, wrunoff0, wkapredi0,
1099 gforget 1.25 & wbottomdrag0,wdiffkr0, wkapgm0, wedtau0
1100 heimbach 1.6 _RL whflux0
1101     _RL wsflux0
1102     _RL wtau0
1103     _RL watemp0
1104     _RL waqh0
1105     _RL wprecip0
1106 heimbach 1.7 _RL wswflux0
1107 heimbach 1.9 _RL wswdown0
1108 heimbach 1.23 _RL wsnowprecip0
1109     _RL wlwflux0
1110     _RL wlwdown0
1111     _RL wevap0
1112     _RL wapressure0
1113     _RL wrunoff0
1114 gforget 1.25 _RL wbottomdrag0
1115 heimbach 1.6 _RL wwind0
1116 heimbach 1.20 _RL wdiffkr0
1117     _RL wkapgm0
1118 gforget 1.31 _RL wkapredi0
1119 heimbach 1.20 _RL wedtau0
1120 heimbach 1.8
1121     common /ecco_cost_weights_mean_r/
1122     & wmean_hflux, wmean_sflux, wmean_tau,
1123 jmc 1.30 & wmean_atemp, wmean_aqh,
1124 heimbach 1.23 & wmean_precip, wmean_snowprecip, wmean_wind,
1125     & wmean_swflux, wmean_swdown, wmean_lwflux, wmean_lwdown,
1126     & wmean_evap, wmean_apressure, wmean_runoff
1127 heimbach 1.8 _RL wmean_hflux
1128     _RL wmean_sflux
1129     _RL wmean_tau
1130     _RL wmean_atemp
1131     _RL wmean_aqh
1132     _RL wmean_precip
1133     _RL wmean_swflux
1134 heimbach 1.9 _RL wmean_swdown
1135 heimbach 1.23 _RL wmean_snowprecip
1136     _RL wmean_lwflux
1137     _RL wmean_lwdown
1138     _RL wmean_evap
1139     _RL wmean_apressure
1140     _RL wmean_runoff
1141 heimbach 1.8 _RL wmean_wind
1142 jmc 1.49
1143 heimbach 1.5 common /ecco_cost_weights_2_r/
1144     & whflux2,wsflux2,wtauu2,wtauv2
1145     _RL whflux2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1146     _RL wsflux2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1147     _RL wtauu2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1148     _RL wtauv2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1149    
1150 heimbach 1.1 #if (defined (ALLOW_OBCSN_COST_CONTRIBUTION) || \
1151     defined (ALLOW_OBCSN_CONTROL))
1152     common /ecco_cost_weights_obcsn/
1153     & wobcsn, wobcsnLev
1154     _RL wobcsn ( nr,nobcs)
1155     _RL wobcsnLev (1-olx:snx+olx,nr,nsx,nsy,nobcs)
1156     #endif
1157     #if (defined (ALLOW_OBCSS_COST_CONTRIBUTION) || \
1158     defined (ALLOW_OBCSS_CONTROL))
1159     common /ecco_cost_weights_obcss/
1160     & wobcss, wobcssLev
1161     _RL wobcss ( nr,nobcs)
1162     _RL wobcssLev (1-olx:snx+olx,nr,nsx,nsy,nobcs)
1163     #endif
1164     #if (defined (ALLOW_OBCSW_COST_CONTRIBUTION) || \
1165     defined (ALLOW_OBCSW_CONTROL))
1166     common /ecco_cost_weights_obcsw/
1167     & wobcsw, wobcswLev
1168     _RL wobcsw ( nr,nobcs)
1169     _RL wobcswLev (1-oly:sny+oly,nr,nsx,nsy,nobcs)
1170     #endif
1171     #if (defined (ALLOW_OBCSE_COST_CONTRIBUTION) || \
1172     defined (ALLOW_OBCSE_CONTROL))
1173     common /ecco_cost_weights_obcse/
1174     & wobcse, wobcseLev
1175     _RL wobcse ( nr,nobcs)
1176     _RL wobcseLev (1-oly:sny+oly,nr,nsx,nsy,nobcs)
1177     #endif
1178    
1179 heimbach 1.2
1180 heimbach 1.1 c Arrays that contain observations for the model-data comparison:
1181     c ===============================================================
1182     c
1183     c tdat - reference temperature data.
1184     c scatxdat - reference zonal wind stress.
1185     c scatydat - reference meridional wind stress.
1186 heimbach 1.2 c sstdat - reference sea surface temperature data.
1187 heimbach 1.1 c tmidat - reference TMI sea surface temperature data.
1188     c sssdat - reference sea surface temperature data.
1189 heimbach 1.28 c bpdat - bottom pressure from time-varying GRACE.
1190 heimbach 1.1 c tauxmask - mask for reference wind stress data.
1191 jmc 1.30 c tauymask - mask for reference wind stress data.
1192 heimbach 1.1 c scatxmask - mask for scat wind stress data.
1193 jmc 1.30 c scatymask - mask for scat wind stress data.
1194 heimbach 1.2 c sstmask - mask for reference sea surface temperature data.
1195 heimbach 1.1 c tmimask - mask for reference sea surface temperature data.
1196     c sssmask - mask for reference sea surface temperature data.
1197     c sdat - reference salinity data.
1198     c tpmean - reference mean sea surface height data.
1199     c tpmeanmask - mask for reference mean sea surface height data.
1200     c tpobs - TOPEX/POSEIDON data.
1201     c tpmask - mask for TOPEX/POSEIDON data.
1202     c ersobs - ERS data.
1203     c ersmask - mask for ERS data.
1204     c ctdtobs - CTD temperature data
1205     c ctdsobs - CTD salinity data
1206 jmc 1.30 c xbtobs - XBT data
1207     c argot - ARGO temperature data
1208     c argos - ARGO salt data
1209 heimbach 1.1 c udriftdat - drifters zonal velocities
1210     c vdriftdat - drifters meridional velocities
1211    
1212     common /ecco_cost_data_r/
1213     & tdat,
1214     & scatxdat,
1215     & scatydat,
1216 heimbach 1.28 & bpdat,
1217 heimbach 1.2 & sstmask,
1218 heimbach 1.1 & tmimask,
1219     & sssmask,
1220 heimbach 1.28 & bpmask,
1221 heimbach 1.1 & tauxmask,
1222     & tauymask,
1223     & scatxmask,
1224     & scatymask,
1225     & sdat,
1226     & tpmean,
1227     & tpmeanmask,
1228     & tpobs,
1229     & tpmask,
1230     & ersobs,
1231     & ersmask,
1232 heimbach 1.15 & gfoobs,
1233     & gfomask,
1234 heimbach 1.1 & ctdtobs,
1235     & ctdsobs,
1236     & xbtobs,
1237     & argotobs,
1238     & argosobs,
1239     & udriftdat,
1240     & vdriftdat,
1241     & curmtruobs,
1242     & curmtrvobs
1243 jmc 1.30
1244 heimbach 1.1 _RL tdat (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1245     _RL scatxdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1246     _RL scatydat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1247 heimbach 1.28 _RL bpdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1248 heimbach 1.1 _RL tauxmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1249     _RL tauymask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1250     _RL scatxmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1251     _RL scatymask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1252 heimbach 1.2 _RL sstmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1253 heimbach 1.1 _RL tmimask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1254     _RL sssmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1255 heimbach 1.28 _RL bpmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1256 heimbach 1.1 _RL sdat (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1257     _RL tpmean (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1258     _RL tpmeanmask(1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1259     _RL tpobs (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1260     _RL tpmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1261     _RL ersobs (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1262     _RL ersmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1263 heimbach 1.15 _RL gfoobs (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1264     _RL gfomask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1265 heimbach 1.1 _RL ctdtobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1266     _RL ctdsobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1267     _RL xbtobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1268     _RL argotobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1269     _RL argosobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1270     _RL udriftdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1271     _RL vdriftdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1272     _RL curmtruobs(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1273     _RL curmtrvobs(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1274    
1275 heimbach 1.2
1276 heimbach 1.1 c Files that contain obervations:
1277     c ===============================
1278     c
1279     c tdatfile - reference data file for temperature.
1280     c sdatfile - reference data file for salinity.
1281     c scatxdatfile - reference data file for zonal wind stress.
1282     c scatydatfile - reference data file for meridional wind stress.
1283     c sstdatfile - reference data file for sea surface temperature.
1284 heimbach 1.2 c tmidatfile - reference data file for TMI sea surface temperature.
1285 heimbach 1.1 c topexmeanfile - reference data file for mean sea surface height.
1286     c topexfile - reference data file for sea surface height data
1287     c (TOPEX/POSEIDON).
1288     c ersfile - reference data file for sea surface height data
1289     c (ERS).
1290 jmc 1.30 c ctdtfile, ctdsfile- reference data file for temperature and salinity
1291 heimbach 1.1 c from CTD
1292     c ctdtclimfile, ctdsclimfile- reference data file for temperature
1293 heimbach 1.2 c and salinity from CTD with out timetag
1294 heimbach 1.1 c xbtfile - reference data file for xbt
1295     c ARGOtfile - reference data file for ARGO
1296     c ARGOsfile - reference data file for ARGO
1297 jmc 1.48 c driftfile - reference data file for drifter mean velocities
1298 heimbach 1.1
1299     common /ecco_cost_data_c/
1300     & tdatfile,
1301     & sdatfile,
1302     & scatxdatfile,
1303     & scatydatfile,
1304 heimbach 1.2 & sstdatfile,
1305 heimbach 1.1 & tmidatfile,
1306     & sssdatfile,
1307 heimbach 1.28 & bpdatfile,
1308 heimbach 1.1 & topexmeanfile,
1309     & topexfile,
1310     & ersfile,
1311 heimbach 1.15 & gfofile,
1312 heimbach 1.1 & ctdtfile,
1313     & ctdsfile,
1314     & ctdtclimfile,
1315     & ctdsclimfile,
1316     & xbtfile,
1317     & argotfile,
1318     & argosfile,
1319 jmc 1.30 & udriftfile,
1320 heimbach 1.1 & vdriftfile,
1321 gforget 1.46 & usercost_datafile,
1322 heimbach 1.1 & curmtrufile,
1323 heimbach 1.19 & curmtrvfile
1324 heimbach 1.1
1325     character*(MAX_LEN_FNAM) tdatfile
1326     character*(MAX_LEN_FNAM) sdatfile
1327     character*(MAX_LEN_FNAM) scatxdatfile
1328     character*(MAX_LEN_FNAM) scatydatfile
1329 heimbach 1.2 character*(MAX_LEN_FNAM) sstdatfile
1330 heimbach 1.1 character*(MAX_LEN_FNAM) tmidatfile
1331     character*(MAX_LEN_FNAM) sssdatfile
1332 heimbach 1.28 character*(MAX_LEN_FNAM) bpdatfile
1333 heimbach 1.1 character*(MAX_LEN_FNAM) topexmeanfile
1334     character*(MAX_LEN_FNAM) topexfile
1335     character*(MAX_LEN_FNAM) ersfile
1336 heimbach 1.15 character*(MAX_LEN_FNAM) gfofile
1337 heimbach 1.1 character*(MAX_LEN_FNAM) ctdtfile
1338     character*(MAX_LEN_FNAM) ctdsfile
1339     character*(MAX_LEN_FNAM) ctdtclimfile
1340     character*(MAX_LEN_FNAM) ctdsclimfile
1341     character*(MAX_LEN_FNAM) xbtfile
1342     character*(MAX_LEN_FNAM) argotfile
1343     character*(MAX_LEN_FNAM) argosfile
1344     character*(MAX_LEN_FNAM) argofile
1345 gforget 1.46 character*(MAX_LEN_FNAM) usercost_datafile(NUSERCOST)
1346 heimbach 1.1 character*(MAX_LEN_FNAM) udriftfile
1347 jmc 1.30 character*(MAX_LEN_FNAM) vdriftfile
1348 heimbach 1.1 character*(MAX_LEN_FNAM) curmtrufile
1349     character*(MAX_LEN_FNAM) curmtrvfile
1350    
1351 heimbach 1.2
1352 heimbach 1.1 c Flags used in the model-data comparison:
1353     c ========================================
1354     c
1355     c using_ers - flag that indicates the use of ERS data
1356    
1357     common /ecco_cost_data_flags/
1358     & using_topex,
1359 heimbach 1.15 & using_ers,
1360     & using_gfo
1361 heimbach 1.1 logical using_topex
1362     logical using_ers
1363 heimbach 1.15 logical using_gfo
1364 heimbach 1.1
1365     c Calendar information for the observations:
1366     c ==========================================
1367     c
1368 heimbach 1.2 c sststartdate - start date of the sea surface temperature data.
1369 heimbach 1.1 c tmistartdate - start date of the sea surface temperature data.
1370     c topexstartdate - start date of the sea surface height data.
1371     c ersstartdate - start date of the sea surface height data.
1372 heimbach 1.2 c sshperiod - sampling interval for the sea surface height data.
1373 heimbach 1.1
1374     common /ecco_cost_data_times_i/
1375     & scatxstartdate,
1376     & scatystartdate,
1377     & sststartdate,
1378     & argotstartdate,
1379     & argosstartdate,
1380 heimbach 1.2 & tmistartdate,
1381     & sssstartdate,
1382 heimbach 1.28 & bpstartdate,
1383 heimbach 1.1 & topexstartdate,
1384 heimbach 1.15 & ersstartdate,
1385     & gfostartdate
1386 heimbach 1.1 integer scatxstartdate(4)
1387     integer scatystartdate(4)
1388     integer sststartdate(4)
1389     integer argotstartdate(4)
1390     integer argosstartdate(4)
1391 heimbach 1.2 integer tmistartdate(4)
1392     integer sssstartdate(4)
1393 heimbach 1.28 integer bpstartdate(4)
1394 heimbach 1.1 integer topexstartdate(4)
1395     integer ersstartdate(4)
1396 heimbach 1.15 integer gfostartdate(4)
1397 heimbach 1.1
1398     common /ecco_cost_data_aux_i/
1399     & tmistartdate1,
1400     & tmistartdate2,
1401     & sststartdate1,
1402     & sststartdate2,
1403     & sssstartdate1,
1404     & sssstartdate2,
1405 heimbach 1.28 & bpstartdate1,
1406     & bpstartdate2,
1407 heimbach 1.1 & argotstartdate1,
1408     & argotstartdate2,
1409     & argosstartdate1,
1410     & argosstartdate2,
1411     & topexstartdate1,
1412     & topexstartdate2,
1413     & ersstartdate1,
1414     & ersstartdate2,
1415 heimbach 1.15 & gfostartdate1,
1416     & gfostartdate2,
1417 heimbach 1.1 & scatstartdate1,
1418 heimbach 1.10 & scatstartdate2
1419 heimbach 1.1
1420     integer tmistartdate1
1421     integer tmistartdate2
1422     integer sststartdate1
1423     integer sststartdate2
1424     integer sssstartdate1
1425     integer sssstartdate2
1426 heimbach 1.28 integer bpstartdate1
1427     integer bpstartdate2
1428 heimbach 1.1 integer argotstartdate1
1429     integer argotstartdate2
1430     integer argosstartdate1
1431     integer argosstartdate2
1432     integer topexstartdate1
1433     integer topexstartdate2
1434     integer ersstartdate1
1435     integer ersstartdate2
1436 heimbach 1.15 integer gfostartdate1
1437     integer gfostartdate2
1438 heimbach 1.1 integer scatstartdate1
1439     integer scatstartdate2
1440    
1441     common /ecco_cost_data_times_r/
1442     & topexperiod,
1443     & ersperiod,
1444 heimbach 1.15 & gfoperiod,
1445 heimbach 1.10 & scatperiod
1446 heimbach 1.1 _RL topexperiod
1447     _RL ersperiod
1448 heimbach 1.15 _RL gfoperiod
1449 heimbach 1.1 _RL scatperiod
1450    
1451 heimbach 1.17 common /ecco_cost_data_detrend/
1452     & topexintercept,
1453     & ersintercept,
1454     & gfointercept,
1455     & topexslope,
1456     & ersslope,
1457     & gfoslope
1458     _RL topexintercept
1459     _RL ersintercept
1460     _RL gfointercept
1461     _RL topexslope
1462     _RL ersslope
1463     _RL gfoslope
1464    
1465 gforget 1.41 cgf factor to convert sshv4cost_errfile in m
1466     common /ecco_cost_errfactor/
1467     & sshv4cost_errfactor
1468     _RL sshv4cost_errfactor(NSSHV4COST)
1469    
1470 heimbach 1.35 #ifdef ALLOW_SSH_COST_CONTRIBUTION
1471     common /ecco_ssh_daymask_r/
1472     & tpTimeMask, ersTimeMask, gfoTimeMask
1473     _RL tpTimeMask(maxNumDays)
1474     _RL ersTimeMask(maxNumDays)
1475     _RL gfoTimeMask(maxNumDays)
1476     #endif
1477    
1478     common /ecco_ssh_daymask_c/
1479     & tpTimeMaskFile, ersTimeMaskFile, gfoTimeMaskFile
1480     character*(MAX_LEN_FNAM) tpTimeMaskFile
1481     character*(MAX_LEN_FNAM) ersTimeMaskFile
1482     character*(MAX_LEN_FNAM) gfoTimeMaskFile
1483    
1484 heimbach 1.1 c ==================================================================
1485     c END OF HEADER COST
1486     c ==================================================================
1487 heimbach 1.2
1488    

  ViewVC Help
Powered by ViewVC 1.1.22