/[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.50 - (hide annotations) (download)
Wed Aug 25 22:25:34 2010 UTC (13 years, 9 months ago) by gforget
Branch: MAIN
Changes since 1.49: +3 -1 lines
File MIME type: text/plain
In cost_sshv4.F use space variable length scales
using the name specified as sshv4cost_scalefile in data.ecco

1 gforget 1.50 C $Header: /u/gcmpack/MITgcm/pkg/ecco/ecco_cost.h,v 1.49 2010/08/24 14:34:19 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.50 & sshv4cost_scalefile,
892 gforget 1.41 & sshv4cost_errfile,
893 heimbach 1.1 & ctdt_errfile,
894 jmc 1.30 & ctds_errfile,
895 heimbach 1.1 & drift_errfile,
896 jmc 1.30 & udrifterrfile,
897     & vdrifterrfile,
898 heimbach 1.1 & salterrfile,
899     & temperrfile,
900     & velerrfile,
901 heimbach 1.12 & salt0errfile,
902     & temp0errfile,
903     & vel0errfile,
904 gforget 1.39 & ssterrfile,
905     & ssserrfile,
906 gforget 1.40 & bperrfile,
907 heimbach 1.1 & atemp_errfile,
908     & aqh_errfile,
909 heimbach 1.6 & precip_errfile,
910 heimbach 1.7 & swflux_errfile,
911 heimbach 1.9 & swdown_errfile,
912 heimbach 1.23 & snowprecip_errfile,
913     & lwflux_errfile,
914     & lwdown_errfile,
915     & evap_errfile,
916     & apressure_errfile,
917     & runoff_errfile,
918 gforget 1.25 & edtau_errfile,
919     & kapgm_errfile,
920 gforget 1.31 & kapredi_errfile,
921 gforget 1.25 & diffkr_errfile,
922     & bottomdrag_errfile,
923 gforget 1.46 & usercost_errfile,
924 heimbach 1.1 & uwind_errfile,
925     & vwind_errfile
926     character*(MAX_LEN_FNAM) hflux_errfile
927     character*(MAX_LEN_FNAM) sflux_errfile
928     character*(MAX_LEN_FNAM) tauu_errfile
929     character*(MAX_LEN_FNAM) tauv_errfile
930     character*(MAX_LEN_FNAM) hfluxm_errfile
931     character*(MAX_LEN_FNAM) sfluxm_errfile
932     character*(MAX_LEN_FNAM) tauum_errfile
933     character*(MAX_LEN_FNAM) tauvm_errfile
934     character*(MAX_LEN_FNAM) scatx_errfile
935     character*(MAX_LEN_FNAM) scaty_errfile
936     character*(MAX_LEN_FNAM) data_errfile
937     character*(MAX_LEN_FNAM) geoid_errfile
938     character*(MAX_LEN_FNAM) geoid_covariancefile
939     character*(MAX_LEN_FNAM) ssh_errfile
940 heimbach 1.22 character*(MAX_LEN_FNAM) tp_errfile
941     character*(MAX_LEN_FNAM) ers_errfile
942     character*(MAX_LEN_FNAM) gfo_errfile
943 gforget 1.50 character*(MAX_LEN_FNAM) sshv4cost_scalefile(NSSHV4COST)
944 gforget 1.41 character*(MAX_LEN_FNAM) sshv4cost_errfile(NSSHV4COST)
945 jmc 1.30 character*(MAX_LEN_FNAM) ctdt_errfile
946     character*(MAX_LEN_FNAM) ctds_errfile
947 heimbach 1.1 character*(MAX_LEN_FNAM) drift_errfile
948     character*(MAX_LEN_FNAM) udrifterrfile
949 jmc 1.30 character*(MAX_LEN_FNAM) vdrifterrfile
950 heimbach 1.1 character*(MAX_LEN_FNAM) salterrfile
951     character*(MAX_LEN_FNAM) temperrfile
952     character*(MAX_LEN_FNAM) velerrfile
953 heimbach 1.12 character*(MAX_LEN_FNAM) salt0errfile
954     character*(MAX_LEN_FNAM) temp0errfile
955     character*(MAX_LEN_FNAM) vel0errfile
956 gforget 1.39 character*(MAX_LEN_FNAM) ssterrfile
957     character*(MAX_LEN_FNAM) ssserrfile
958 gforget 1.40 character*(MAX_LEN_FNAM) bperrfile
959 heimbach 1.1 character*(MAX_LEN_FNAM) atemp_errfile
960     character*(MAX_LEN_FNAM) aqh_errfile
961 heimbach 1.6 character*(MAX_LEN_FNAM) precip_errfile
962 heimbach 1.7 character*(MAX_LEN_FNAM) swflux_errfile
963 heimbach 1.9 character*(MAX_LEN_FNAM) swdown_errfile
964 heimbach 1.23 character*(MAX_LEN_FNAM) snowprecip_errfile
965     character*(MAX_LEN_FNAM) lwflux_errfile
966     character*(MAX_LEN_FNAM) lwdown_errfile
967     character*(MAX_LEN_FNAM) evap_errfile
968     character*(MAX_LEN_FNAM) apressure_errfile
969     character*(MAX_LEN_FNAM) runoff_errfile
970 gforget 1.25 character*(MAX_LEN_FNAM) edtau_errfile
971     character*(MAX_LEN_FNAM) kapgm_errfile
972 gforget 1.31 character*(MAX_LEN_FNAM) kapredi_errfile
973 gforget 1.25 character*(MAX_LEN_FNAM) diffkr_errfile
974     character*(MAX_LEN_FNAM) bottomdrag_errfile
975 gforget 1.46 character*(MAX_LEN_FNAM) usercost_errfile(NUSERCOST)
976 heimbach 1.1 character*(MAX_LEN_FNAM) uwind_errfile
977     character*(MAX_LEN_FNAM) vwind_errfile
978    
979    
980     c Arrays where the weights are stored:
981     c ====================================
982     c
983     c cosphi - cosine of latitude.
984     c whflux - weight for heat flux.
985     c wsflux - weight for salt flux.
986     c wtauu - weight for zonal wind stress.
987     c wtauu - weight for meridional wind stress.
988     c wscatx - weight for zonal scat stress.
989     c wscaty - weight for meridional scat stress.
990     c wtheta - weight for temperature.
991     c wtheta2 - representation error due to unresolved eddies
992     c wsst - weight for sea surface temperature.
993     c wsss - weight for sea surface salinity.
994     c wsalt - weight for salinity.
995     c wsalt2 - representation error due to unresolved eddies
996     c wtp - weight for TOPEX/POSEIDON data.
997     c wers - weight for ERS data.
998     c wp - weight for geoid.
999     c wctdt - weight for CTD temperature.
1000     c wctds - weight for CTD salinity.
1001     c wudrift - weight for mean zonal velocity from drifters.
1002     c wvdrift - weight for mean meridional velocity from drifters.
1003    
1004 jmc 1.30 common /ecco_cost_weights_r/
1005 heimbach 1.1 & frame,
1006     & cosphi,
1007     & whflux,wsflux,wtauu,wtauv,
1008 heimbach 1.23 & watemp,waqh,wprecip,wsnowprecip,
1009     & wswflux,wswdown,wlwflux,wlwdown,
1010     & wevap,wapressure,wrunoff,
1011 gforget 1.25 & wbottomdrag,
1012 heimbach 1.9 & wuwind,wvwind,
1013 heimbach 1.1 & wscatx,wscaty,
1014     & wtheta,wtheta2,wthetaLev,
1015     & wsalt,wsalt2,wsaltLev,
1016 heimbach 1.20 & wdiffkr,wdiffkr2,wdiffkrFld,
1017     & wkapgm,wkapgm2,wkapgmFld,
1018 gforget 1.31 & wkapredi,wkapredi2,wkaprediFld,
1019 heimbach 1.20 & wedtaux,wedtaux2,wedtauxFld,
1020     & wedtauy,wedtauy2,wedtauyFld,
1021 heimbach 1.28 & wsst,wsss,wbp,
1022 heimbach 1.15 & wtp,wers,wgfo,
1023 gforget 1.41 & wp,wsshv4,
1024 heimbach 1.1 & wctdt,wctds,
1025     & wudrift,wvdrift,
1026     & whfluxmm,wsfluxmm,
1027     & wcurrent,wcurrent2,
1028     & wcurrentLev,wbaro
1029    
1030     _RL frame (1-olx:snx+olx,1-oly:sny+oly )
1031     _RL cosphi (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1032     _RL whflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1033     _RL whfluxm (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1034     _RL whfluxmm(1-olx:snx+olx,1-oly:sny+oly)
1035     _RL wsflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1036     _RL wsfluxm (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1037     _RL wsfluxmm(1-olx:snx+olx,1-oly:sny+oly)
1038     _RL wtauu (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1039     _RL wtauv (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1040     _RL wtauum (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1041     _RL wtauvm (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1042     _RL wscatx (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1043     _RL wscaty (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1044     _RL watemp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1045     _RL waqh (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1046 heimbach 1.6 _RL wprecip (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1047 heimbach 1.7 _RL wswflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1048 heimbach 1.9 _RL wswdown (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1049 heimbach 1.23 _RL wsnowprecip (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1050     _RL wlwflux (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1051     _RL wlwdown (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1052     _RL wevap (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1053     _RL wapressure(1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1054     _RL wrunoff (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1055 gforget 1.25 _RL wbottomdrag (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
1056 heimbach 1.1 _RL wuwind (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1057     _RL wvwind (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1058     _RL wtheta ( nr,nsx,nsy)
1059     _RL wsalt ( nr,nsx,nsy)
1060     _RL wtheta2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1061     _RL wsalt2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1062     _RL wthetaLev (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1063     _RL wsaltLev (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1064     _RL wsst (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1065     _RL wsss (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1066 heimbach 1.28 _RL wbp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1067 heimbach 1.1 _RL wtp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1068 gforget 1.41 _RL wsshv4 (1-olx:snx+olx,1-oly:sny+oly,NSSHV4COST,nsx,nsy)
1069 heimbach 1.1 _RL wers (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1070 heimbach 1.15 _RL wgfo (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1071 heimbach 1.1 _RL wp (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1072     _RL wctdt ( nr,nsx,nsy)
1073     _RL wctds ( nr,nsx,nsy)
1074     _RL wudrift (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1075     _RL wvdrift (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1076     _RL wcurrent( nr,nsx,nsy)
1077     _RL wcurrent2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1078     _RL wcurrentLev (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1079     _RL wbaro
1080 heimbach 1.20 _RL wdiffkr ( nr,nsx,nsy)
1081     _RL wdiffkr2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1082     _RL wdiffkrFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1083     _RL wkapgm ( nr,nsx,nsy)
1084     _RL wkapgm2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1085     _RL wkapgmFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1086 gforget 1.31 _RL wkapredi ( nr,nsx,nsy)
1087     _RL wkapredi2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1088     _RL wkaprediFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1089 heimbach 1.20 _RL wedtaux ( nr,nsx,nsy)
1090     _RL wedtaux2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1091     _RL wedtauxFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1092     _RL wedtauy ( nr,nsx,nsy)
1093     _RL wedtauy2 (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1094     _RL wedtauyFld (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1095 heimbach 1.1
1096 heimbach 1.6 common /ecco_cost_weights_0_r/
1097 heimbach 1.7 & whflux0, wsflux0, wtau0,
1098 heimbach 1.23 & watemp0, waqh0, wprecip0, wsnowprecip0, wwind0,
1099 jmc 1.30 & wswflux0, wswdown0, wlwflux0, wlwdown0,
1100 gforget 1.31 & wevap0, wapressure0, wrunoff0, wkapredi0,
1101 gforget 1.25 & wbottomdrag0,wdiffkr0, wkapgm0, wedtau0
1102 heimbach 1.6 _RL whflux0
1103     _RL wsflux0
1104     _RL wtau0
1105     _RL watemp0
1106     _RL waqh0
1107     _RL wprecip0
1108 heimbach 1.7 _RL wswflux0
1109 heimbach 1.9 _RL wswdown0
1110 heimbach 1.23 _RL wsnowprecip0
1111     _RL wlwflux0
1112     _RL wlwdown0
1113     _RL wevap0
1114     _RL wapressure0
1115     _RL wrunoff0
1116 gforget 1.25 _RL wbottomdrag0
1117 heimbach 1.6 _RL wwind0
1118 heimbach 1.20 _RL wdiffkr0
1119     _RL wkapgm0
1120 gforget 1.31 _RL wkapredi0
1121 heimbach 1.20 _RL wedtau0
1122 heimbach 1.8
1123     common /ecco_cost_weights_mean_r/
1124     & wmean_hflux, wmean_sflux, wmean_tau,
1125 jmc 1.30 & wmean_atemp, wmean_aqh,
1126 heimbach 1.23 & wmean_precip, wmean_snowprecip, wmean_wind,
1127     & wmean_swflux, wmean_swdown, wmean_lwflux, wmean_lwdown,
1128     & wmean_evap, wmean_apressure, wmean_runoff
1129 heimbach 1.8 _RL wmean_hflux
1130     _RL wmean_sflux
1131     _RL wmean_tau
1132     _RL wmean_atemp
1133     _RL wmean_aqh
1134     _RL wmean_precip
1135     _RL wmean_swflux
1136 heimbach 1.9 _RL wmean_swdown
1137 heimbach 1.23 _RL wmean_snowprecip
1138     _RL wmean_lwflux
1139     _RL wmean_lwdown
1140     _RL wmean_evap
1141     _RL wmean_apressure
1142     _RL wmean_runoff
1143 heimbach 1.8 _RL wmean_wind
1144 jmc 1.49
1145 heimbach 1.5 common /ecco_cost_weights_2_r/
1146     & whflux2,wsflux2,wtauu2,wtauv2
1147     _RL whflux2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1148     _RL wsflux2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1149     _RL wtauu2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1150     _RL wtauv2 (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1151    
1152 heimbach 1.1 #if (defined (ALLOW_OBCSN_COST_CONTRIBUTION) || \
1153     defined (ALLOW_OBCSN_CONTROL))
1154     common /ecco_cost_weights_obcsn/
1155     & wobcsn, wobcsnLev
1156     _RL wobcsn ( nr,nobcs)
1157     _RL wobcsnLev (1-olx:snx+olx,nr,nsx,nsy,nobcs)
1158     #endif
1159     #if (defined (ALLOW_OBCSS_COST_CONTRIBUTION) || \
1160     defined (ALLOW_OBCSS_CONTROL))
1161     common /ecco_cost_weights_obcss/
1162     & wobcss, wobcssLev
1163     _RL wobcss ( nr,nobcs)
1164     _RL wobcssLev (1-olx:snx+olx,nr,nsx,nsy,nobcs)
1165     #endif
1166     #if (defined (ALLOW_OBCSW_COST_CONTRIBUTION) || \
1167     defined (ALLOW_OBCSW_CONTROL))
1168     common /ecco_cost_weights_obcsw/
1169     & wobcsw, wobcswLev
1170     _RL wobcsw ( nr,nobcs)
1171     _RL wobcswLev (1-oly:sny+oly,nr,nsx,nsy,nobcs)
1172     #endif
1173     #if (defined (ALLOW_OBCSE_COST_CONTRIBUTION) || \
1174     defined (ALLOW_OBCSE_CONTROL))
1175     common /ecco_cost_weights_obcse/
1176     & wobcse, wobcseLev
1177     _RL wobcse ( nr,nobcs)
1178     _RL wobcseLev (1-oly:sny+oly,nr,nsx,nsy,nobcs)
1179     #endif
1180    
1181 heimbach 1.2
1182 heimbach 1.1 c Arrays that contain observations for the model-data comparison:
1183     c ===============================================================
1184     c
1185     c tdat - reference temperature data.
1186     c scatxdat - reference zonal wind stress.
1187     c scatydat - reference meridional wind stress.
1188 heimbach 1.2 c sstdat - reference sea surface temperature data.
1189 heimbach 1.1 c tmidat - reference TMI sea surface temperature data.
1190     c sssdat - reference sea surface temperature data.
1191 heimbach 1.28 c bpdat - bottom pressure from time-varying GRACE.
1192 heimbach 1.1 c tauxmask - mask for reference wind stress data.
1193 jmc 1.30 c tauymask - mask for reference wind stress data.
1194 heimbach 1.1 c scatxmask - mask for scat wind stress data.
1195 jmc 1.30 c scatymask - mask for scat wind stress data.
1196 heimbach 1.2 c sstmask - mask for reference sea surface temperature data.
1197 heimbach 1.1 c tmimask - mask for reference sea surface temperature data.
1198     c sssmask - mask for reference sea surface temperature data.
1199     c sdat - reference salinity data.
1200     c tpmean - reference mean sea surface height data.
1201     c tpmeanmask - mask for reference mean sea surface height data.
1202     c tpobs - TOPEX/POSEIDON data.
1203     c tpmask - mask for TOPEX/POSEIDON data.
1204     c ersobs - ERS data.
1205     c ersmask - mask for ERS data.
1206     c ctdtobs - CTD temperature data
1207     c ctdsobs - CTD salinity data
1208 jmc 1.30 c xbtobs - XBT data
1209     c argot - ARGO temperature data
1210     c argos - ARGO salt data
1211 heimbach 1.1 c udriftdat - drifters zonal velocities
1212     c vdriftdat - drifters meridional velocities
1213    
1214     common /ecco_cost_data_r/
1215     & tdat,
1216     & scatxdat,
1217     & scatydat,
1218 heimbach 1.28 & bpdat,
1219 heimbach 1.2 & sstmask,
1220 heimbach 1.1 & tmimask,
1221     & sssmask,
1222 heimbach 1.28 & bpmask,
1223 heimbach 1.1 & tauxmask,
1224     & tauymask,
1225     & scatxmask,
1226     & scatymask,
1227     & sdat,
1228     & tpmean,
1229     & tpmeanmask,
1230     & tpobs,
1231     & tpmask,
1232     & ersobs,
1233     & ersmask,
1234 heimbach 1.15 & gfoobs,
1235     & gfomask,
1236 heimbach 1.1 & ctdtobs,
1237     & ctdsobs,
1238     & xbtobs,
1239     & argotobs,
1240     & argosobs,
1241     & udriftdat,
1242     & vdriftdat,
1243     & curmtruobs,
1244     & curmtrvobs
1245 jmc 1.30
1246 heimbach 1.1 _RL tdat (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1247     _RL scatxdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1248     _RL scatydat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1249 heimbach 1.28 _RL bpdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1250 heimbach 1.1 _RL tauxmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1251     _RL tauymask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1252     _RL scatxmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1253     _RL scatymask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1254 heimbach 1.2 _RL sstmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1255 heimbach 1.1 _RL tmimask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1256     _RL sssmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1257 heimbach 1.28 _RL bpmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1258 heimbach 1.1 _RL sdat (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1259     _RL tpmean (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1260     _RL tpmeanmask(1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1261     _RL tpobs (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1262     _RL tpmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1263     _RL ersobs (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1264     _RL ersmask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1265 heimbach 1.15 _RL gfoobs (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1266     _RL gfomask (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1267 heimbach 1.1 _RL ctdtobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1268     _RL ctdsobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1269     _RL xbtobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1270     _RL argotobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1271     _RL argosobs (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1272     _RL udriftdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1273     _RL vdriftdat (1-olx:snx+olx,1-oly:sny+oly, nsx,nsy)
1274     _RL curmtruobs(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1275     _RL curmtrvobs(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
1276    
1277 heimbach 1.2
1278 heimbach 1.1 c Files that contain obervations:
1279     c ===============================
1280     c
1281     c tdatfile - reference data file for temperature.
1282     c sdatfile - reference data file for salinity.
1283     c scatxdatfile - reference data file for zonal wind stress.
1284     c scatydatfile - reference data file for meridional wind stress.
1285     c sstdatfile - reference data file for sea surface temperature.
1286 heimbach 1.2 c tmidatfile - reference data file for TMI sea surface temperature.
1287 heimbach 1.1 c topexmeanfile - reference data file for mean sea surface height.
1288     c topexfile - reference data file for sea surface height data
1289     c (TOPEX/POSEIDON).
1290     c ersfile - reference data file for sea surface height data
1291     c (ERS).
1292 jmc 1.30 c ctdtfile, ctdsfile- reference data file for temperature and salinity
1293 heimbach 1.1 c from CTD
1294     c ctdtclimfile, ctdsclimfile- reference data file for temperature
1295 heimbach 1.2 c and salinity from CTD with out timetag
1296 heimbach 1.1 c xbtfile - reference data file for xbt
1297     c ARGOtfile - reference data file for ARGO
1298     c ARGOsfile - reference data file for ARGO
1299 jmc 1.48 c driftfile - reference data file for drifter mean velocities
1300 heimbach 1.1
1301     common /ecco_cost_data_c/
1302     & tdatfile,
1303     & sdatfile,
1304     & scatxdatfile,
1305     & scatydatfile,
1306 heimbach 1.2 & sstdatfile,
1307 heimbach 1.1 & tmidatfile,
1308     & sssdatfile,
1309 heimbach 1.28 & bpdatfile,
1310 heimbach 1.1 & topexmeanfile,
1311     & topexfile,
1312     & ersfile,
1313 heimbach 1.15 & gfofile,
1314 heimbach 1.1 & ctdtfile,
1315     & ctdsfile,
1316     & ctdtclimfile,
1317     & ctdsclimfile,
1318     & xbtfile,
1319     & argotfile,
1320     & argosfile,
1321 jmc 1.30 & udriftfile,
1322 heimbach 1.1 & vdriftfile,
1323 gforget 1.46 & usercost_datafile,
1324 heimbach 1.1 & curmtrufile,
1325 heimbach 1.19 & curmtrvfile
1326 heimbach 1.1
1327     character*(MAX_LEN_FNAM) tdatfile
1328     character*(MAX_LEN_FNAM) sdatfile
1329     character*(MAX_LEN_FNAM) scatxdatfile
1330     character*(MAX_LEN_FNAM) scatydatfile
1331 heimbach 1.2 character*(MAX_LEN_FNAM) sstdatfile
1332 heimbach 1.1 character*(MAX_LEN_FNAM) tmidatfile
1333     character*(MAX_LEN_FNAM) sssdatfile
1334 heimbach 1.28 character*(MAX_LEN_FNAM) bpdatfile
1335 heimbach 1.1 character*(MAX_LEN_FNAM) topexmeanfile
1336     character*(MAX_LEN_FNAM) topexfile
1337     character*(MAX_LEN_FNAM) ersfile
1338 heimbach 1.15 character*(MAX_LEN_FNAM) gfofile
1339 heimbach 1.1 character*(MAX_LEN_FNAM) ctdtfile
1340     character*(MAX_LEN_FNAM) ctdsfile
1341     character*(MAX_LEN_FNAM) ctdtclimfile
1342     character*(MAX_LEN_FNAM) ctdsclimfile
1343     character*(MAX_LEN_FNAM) xbtfile
1344     character*(MAX_LEN_FNAM) argotfile
1345     character*(MAX_LEN_FNAM) argosfile
1346     character*(MAX_LEN_FNAM) argofile
1347 gforget 1.46 character*(MAX_LEN_FNAM) usercost_datafile(NUSERCOST)
1348 heimbach 1.1 character*(MAX_LEN_FNAM) udriftfile
1349 jmc 1.30 character*(MAX_LEN_FNAM) vdriftfile
1350 heimbach 1.1 character*(MAX_LEN_FNAM) curmtrufile
1351     character*(MAX_LEN_FNAM) curmtrvfile
1352    
1353 heimbach 1.2
1354 heimbach 1.1 c Flags used in the model-data comparison:
1355     c ========================================
1356     c
1357     c using_ers - flag that indicates the use of ERS data
1358    
1359     common /ecco_cost_data_flags/
1360     & using_topex,
1361 heimbach 1.15 & using_ers,
1362     & using_gfo
1363 heimbach 1.1 logical using_topex
1364     logical using_ers
1365 heimbach 1.15 logical using_gfo
1366 heimbach 1.1
1367     c Calendar information for the observations:
1368     c ==========================================
1369     c
1370 heimbach 1.2 c sststartdate - start date of the sea surface temperature data.
1371 heimbach 1.1 c tmistartdate - start date of the sea surface temperature data.
1372     c topexstartdate - start date of the sea surface height data.
1373     c ersstartdate - start date of the sea surface height data.
1374 heimbach 1.2 c sshperiod - sampling interval for the sea surface height data.
1375 heimbach 1.1
1376     common /ecco_cost_data_times_i/
1377     & scatxstartdate,
1378     & scatystartdate,
1379     & sststartdate,
1380     & argotstartdate,
1381     & argosstartdate,
1382 heimbach 1.2 & tmistartdate,
1383     & sssstartdate,
1384 heimbach 1.28 & bpstartdate,
1385 heimbach 1.1 & topexstartdate,
1386 heimbach 1.15 & ersstartdate,
1387     & gfostartdate
1388 heimbach 1.1 integer scatxstartdate(4)
1389     integer scatystartdate(4)
1390     integer sststartdate(4)
1391     integer argotstartdate(4)
1392     integer argosstartdate(4)
1393 heimbach 1.2 integer tmistartdate(4)
1394     integer sssstartdate(4)
1395 heimbach 1.28 integer bpstartdate(4)
1396 heimbach 1.1 integer topexstartdate(4)
1397     integer ersstartdate(4)
1398 heimbach 1.15 integer gfostartdate(4)
1399 heimbach 1.1
1400     common /ecco_cost_data_aux_i/
1401     & tmistartdate1,
1402     & tmistartdate2,
1403     & sststartdate1,
1404     & sststartdate2,
1405     & sssstartdate1,
1406     & sssstartdate2,
1407 heimbach 1.28 & bpstartdate1,
1408     & bpstartdate2,
1409 heimbach 1.1 & argotstartdate1,
1410     & argotstartdate2,
1411     & argosstartdate1,
1412     & argosstartdate2,
1413     & topexstartdate1,
1414     & topexstartdate2,
1415     & ersstartdate1,
1416     & ersstartdate2,
1417 heimbach 1.15 & gfostartdate1,
1418     & gfostartdate2,
1419 heimbach 1.1 & scatstartdate1,
1420 heimbach 1.10 & scatstartdate2
1421 heimbach 1.1
1422     integer tmistartdate1
1423     integer tmistartdate2
1424     integer sststartdate1
1425     integer sststartdate2
1426     integer sssstartdate1
1427     integer sssstartdate2
1428 heimbach 1.28 integer bpstartdate1
1429     integer bpstartdate2
1430 heimbach 1.1 integer argotstartdate1
1431     integer argotstartdate2
1432     integer argosstartdate1
1433     integer argosstartdate2
1434     integer topexstartdate1
1435     integer topexstartdate2
1436     integer ersstartdate1
1437     integer ersstartdate2
1438 heimbach 1.15 integer gfostartdate1
1439     integer gfostartdate2
1440 heimbach 1.1 integer scatstartdate1
1441     integer scatstartdate2
1442    
1443     common /ecco_cost_data_times_r/
1444     & topexperiod,
1445     & ersperiod,
1446 heimbach 1.15 & gfoperiod,
1447 heimbach 1.10 & scatperiod
1448 heimbach 1.1 _RL topexperiod
1449     _RL ersperiod
1450 heimbach 1.15 _RL gfoperiod
1451 heimbach 1.1 _RL scatperiod
1452    
1453 heimbach 1.17 common /ecco_cost_data_detrend/
1454     & topexintercept,
1455     & ersintercept,
1456     & gfointercept,
1457     & topexslope,
1458     & ersslope,
1459     & gfoslope
1460     _RL topexintercept
1461     _RL ersintercept
1462     _RL gfointercept
1463     _RL topexslope
1464     _RL ersslope
1465     _RL gfoslope
1466    
1467 gforget 1.41 cgf factor to convert sshv4cost_errfile in m
1468     common /ecco_cost_errfactor/
1469     & sshv4cost_errfactor
1470     _RL sshv4cost_errfactor(NSSHV4COST)
1471    
1472 heimbach 1.35 #ifdef ALLOW_SSH_COST_CONTRIBUTION
1473     common /ecco_ssh_daymask_r/
1474     & tpTimeMask, ersTimeMask, gfoTimeMask
1475     _RL tpTimeMask(maxNumDays)
1476     _RL ersTimeMask(maxNumDays)
1477     _RL gfoTimeMask(maxNumDays)
1478     #endif
1479    
1480     common /ecco_ssh_daymask_c/
1481     & tpTimeMaskFile, ersTimeMaskFile, gfoTimeMaskFile
1482     character*(MAX_LEN_FNAM) tpTimeMaskFile
1483     character*(MAX_LEN_FNAM) ersTimeMaskFile
1484     character*(MAX_LEN_FNAM) gfoTimeMaskFile
1485    
1486 heimbach 1.1 c ==================================================================
1487     c END OF HEADER COST
1488     c ==================================================================
1489 heimbach 1.2
1490    

  ViewVC Help
Powered by ViewVC 1.1.22