File indexing completed on 2023-03-29 05:10:07 UTC
view on githubraw file Latest commit cda1c18f on 2023-03-28 22:31:47 UTC
8f7d13d0c9 Jean*0001 #include "ECCO_OPTIONS.h"
6b47d550f4 Mart*0002 #ifdef ALLOW_CTRL
0003 # include "CTRL_OPTIONS.h"
0004 #endif
0c0a2531ee Patr*0005
cda1c18f72 Jean*0006 SUBROUTINE ECCO_READPARMS( myThid )
0c0a2531ee Patr*0007
0008
0009
0010
0011
5001c65f45 Patr*0012
0013
0c0a2531ee Patr*0014
0015
0016
0017
0018
44d3986245 Jean*0019 IMPLICIT NONE
0c0a2531ee Patr*0020
0021
0022 #include "EEPARAMS.h"
5001c65f45 Patr*0023 #include "SIZE.h"
0024 #include "GRID.h"
0c0a2531ee Patr*0025 #include "PARAMS.h"
5001c65f45 Patr*0026
c509d7e04a Gael*0027 #ifdef ALLOW_ECCO
cf705a6c8e Mart*0028 # include "ECCO_SIZE.h"
0029 # include "ECCO.h"
0030 # include "ecco_local_params.h"
c509d7e04a Gael*0031 #endif
0032 #ifdef ALLOW_CTRL
0033 # include "CTRL_OBCS.h"
0034 #endif
49484c0542 Gael*0035 #ifdef ALLOW_CAL
0036 # include "cal.h"
0037 #endif
0c0a2531ee Patr*0038
0039
9f5240b52a Jean*0040 INTEGER myThid
0c0a2531ee Patr*0041
44d3986245 Jean*0042
9f5240b52a Jean*0043 INTEGER ilnblnk
0044 EXTERNAL ilnblnk
44d3986245 Jean*0045
0c0a2531ee Patr*0046
f8e779c983 antn*0047
9aaf43452b Patr*0048
0049 CHARACTER*(MAX_LEN_MBUF) msgBuf
9f5240b52a Jean*0050 INTEGER k, k2, iUnit
e7db56ba12 Gael*0051 #ifdef ALLOW_GENCOST_CONTRIBUTION
c17b89ca05 Gael*0052 INTEGER IL, kk, gencost_k3d, gencost_msk_k3d, ioUnit
447bdc4b79 Gael*0053 CHARACTER*(128) tempfile
0054 LOGICAL exst
0055 _RS dummyRS(1)
e7db56ba12 Gael*0056 #endif
0057
d39bcf1629 An T*0058
9f5240b52a Jean*0059 INTEGER nRetired
cda1c18f72 Jean*0060 CHARACTER*(2) cost_yftype
0061 CHARACTER*(MAX_LEN_FNAM) topexmeanfile
0062 LOGICAL using_cost_bp, using_cost_scat
d39bcf1629 An T*0063
0c0a2531ee Patr*0064
0065
5001c65f45 Patr*0066
951926fb9b Jean*0067 namelist /ecco_cost_nml/
5001c65f45 Patr*0068 & data_errfile,
9b12a028cc Patr*0069 & tbarfile, sbarfile,sstbarfile,
d534937279 Matt*0070 & psbarfile, bpbarfile,iestaubarfile,
5001c65f45 Patr*0071 & ubarfile, vbarfile, wbarfile,
0072 & tauxbarfile, tauybarfile,
8c157ed454 Patr*0073 & hfluxmeanbarfile, sfluxmeanbarfile,
d39bcf1629 An T*0074 & costTranspDataFile, mdtdatfile,
0075 & mdtstartdate1, mdtstartdate2,
0076 & mdtenddate1, mdtenddate2,
9f3ef6a237 Gael*0077 & using_cost_altim,
f8e779c983 antn*0078 & using_cost_bp, using_cost_scat,
2ac072a19d Gael*0079 & using_cost_sst, using_cost_seaice,
f1e0eff8fe An T*0080 & using_cost_transp,
49484c0542 Gael*0081 & using_mdt, using_tpj, using_ers, using_gfo,
0082 & using_topex,
5001c65f45 Patr*0083 & topexstartdate1, topexstartdate2,
c9ba60667e Patr*0084 & topexperiod, topexfile, tpTimeMaskFile,
0085 & topexintercept, topexslope, ersTimeMaskFile,
0086 & ersstartdate1, ersstartdate2, gfoTimeMaskFile,
5001c65f45 Patr*0087 & ersperiod, ersfile,
69531f39dd Patr*0088 & ersintercept, ersslope,
4fd9553bc8 Patr*0089 & gfostartdate1, gfostartdate2,
0090 & gfoperiod, gfofile,
69531f39dd Patr*0091 & gfointercept, gfoslope,
951926fb9b Jean*0092 & scatstartdate1, scatstartdate2,
5001c65f45 Patr*0093 & scatperiod, scatxdatfile, scatydatfile,
0094 & scatx_errfile, scaty_errfile,
8f7d13d0c9 Jean*0095 & ssh_errfile, sshv4cost_scalefile,
087d6770fc Gael*0096 & sshv4cost_errfile, sshv4cost_errfactor,
350884e02b Patr*0097 & tp_errfile, ers_errfile, gfo_errfile,
5001c65f45 Patr*0098 & tmistartdate1, tmistartdate2, tmidatfile,
951926fb9b Jean*0099 & sststartdate1, sststartdate2, sstdatfile,
0100 & sssstartdate1, sssstartdate2, sssdatfile,
0101 & bpstartdate1, bpstartdate2, bpdatfile,
d534937279 Matt*0102 & iesstartdate1, iesstartdate2, iesdatfile,
c9ba60667e Patr*0103 & tdatfile, sdatfile, ctdtfile, ctdsfile,
0104 & ctdtclimfile, ctdsclimfile, xbtfile,
5001c65f45 Patr*0105 & argotstartdate1, argotstartdate2, argotfile,
0106 & argosstartdate1, argosstartdate2, argosfile,
0107 & udriftfile, vdriftfile,
0108 & udrifterrfile, vdrifterrfile,
0109 & curmtrufile,curmtrvfile,
0110 & salterrfile, temperrfile, velerrfile,
2b3c0560b2 Patr*0111 & salt0errfile, temp0errfile, vel0errfile,
30125f96e6 Patr*0112 & etan0errfile, uvel0errfile, vvel0errfile,
d534937279 Matt*0113 & ssterrfile, ssserrfile, bperrfile,ieserrfile,
5001c65f45 Patr*0114 & hflux_errfile, sflux_errfile,
0115 & tauu_errfile, tauv_errfile,
951926fb9b Jean*0116 & atemp_errfile, aqh_errfile,
02568c8633 Patr*0117 & precip_errfile, swflux_errfile, swdown_errfile,
fed442e87e Patr*0118 & lwflux_errfile, lwdown_errfile, evap_errfile,
0119 & snowprecip_errfile, apressure_errfile,
5001c65f45 Patr*0120 & uwind_errfile, vwind_errfile,
0121 & geoid_errfile, geoid_covariancefile,
bad79706a2 Gael*0122 & bottomdrag_errfile,edtau_errfile,
7e2482cabc Gael*0123 & kapgm_errfile,kapredi_errfile,diffkr_errfile,
55bf8021cb Gael*0124 & usercost_datafile, usercost_errfile,
5001c65f45 Patr*0125 & mult_hflux, mult_sflux, mult_tauu, mult_tauv,
4bf6063982 Patr*0126 & mult_hfluxmm, mult_sfluxmm,
951926fb9b Jean*0127 & mult_atemp, mult_aqh,
02568c8633 Patr*0128 & mult_precip, mult_swflux, mult_swdown,
fed442e87e Patr*0129 & mult_lwflux, mult_lwdown, mult_evap,
0130 & mult_snowprecip, mult_apressure,
d7ee8fe52e Patr*0131 & mult_uwind, mult_vwind,
087d6770fc Gael*0132 & mult_hmean, mult_h, mult_sshv4cost,
951926fb9b Jean*0133 & mult_tp, mult_ers, mult_gfo,
706976e7e4 Patr*0134 & mult_temp, mult_salt,
e284aa03cc Patr*0135 & mult_tmi, mult_sst, mult_sss, mult_bp,
d534937279 Matt*0136 & mult_ctdt, mult_ctds, mult_ies,
951926fb9b Jean*0137 & mult_ctdtclim, mult_ctdsclim,
5001c65f45 Patr*0138 & mult_xbt, mult_drift,
0139 & mult_argot, mult_argos,
0140 & mult_scatx, mult_scaty,
0141 & mult_sdrift, mult_tdrift, mult_wdrift,
0142 & mult_temp0, mult_salt0,
30125f96e6 Patr*0143 & mult_etan0, mult_uvel0, mult_vvel0,
c509d7e04a Gael*0144 #if (defined (ALLOW_CTRL) && defined (ALLOW_OBCS))
5001c65f45 Patr*0145 & mult_obcsn, mult_obcss,
0146 & mult_obcsw, mult_obcse, mult_obcsvol,
c509d7e04a Gael*0147 & mult_ageos,
0148 #endif
0149 & mult_curmtr,
7e2482cabc Gael*0150 & mult_kapgm, mult_kapredi, mult_diffkr,
bad79706a2 Gael*0151 & mult_edtau, mult_bottomdrag,
55bf8021cb Gael*0152 & mult_usercost, mult_transp,
f2b10b358f Patr*0153 & mult_smooth_ic, mult_smooth_bc,
d7ee8fe52e Patr*0154 & whflux0, wsflux0, wtau0,
bad79706a2 Gael*0155 & wbottomdrag0,
951926fb9b Jean*0156 & watemp0, waqh0,
02568c8633 Patr*0157 & wprecip0, wswflux0, wswdown0, wwind0,
fed442e87e Patr*0158 & wsnowprecip0, wlwflux0, wlwdown0, wevap0,
0159 & wapressure0, wdiffkr0, wkapgm0, wedtau0,
7e2482cabc Gael*0160 & wkapredi0, wmean_hflux, wmean_sflux, wmean_tau,
951926fb9b Jean*0161 & wmean_atemp, wmean_aqh, wmean_precip,
02568c8633 Patr*0162 & wmean_swflux, wmean_swdown, wmean_wind,
fed442e87e Patr*0163 & wmean_lwflux, wmean_lwdown, wmean_evap,
0164 & wmean_snowprecip, wmean_apressure,
906a61c194 Ou W*0165 & cost_iprec, ecco_output_sterGloH,
0166 & ecco_keepTSeriesOutp_open,
0167 & cost_yftype, topexmeanfile
0c0a2531ee Patr*0168
8c157ed454 Patr*0169 #ifdef ALLOW_GENCOST_CONTRIBUTION
0170 namelist /ecco_gencost_nml/
f8e779c983 antn*0171 & using_gencost,
69f8f4c84c Patr*0172 & gencost_barfile,
8f7d13d0c9 Jean*0173 & gencost_datafile,
d181f9168b Gael*0174 & gencost_name,
68315fab79 Gael*0175 & gencost_scalefile,
d3a3bee25e Patr*0176 & gencost_errfile,
81e05fa829 Gael*0177 & gencost_itracer,
a565f49279 Jean*0178 & gencost_kLev_select,
5cce2b5d76 Gael*0179 & gencost_preproc,
3bd7a4549f Gael*0180 & gencost_preproc_c,
0181 & gencost_preproc_i,
0182 & gencost_preproc_r,
92d10a5666 Gael*0183 & gencost_posproc,
3bd7a4549f Gael*0184 & gencost_posproc_c,
0185 & gencost_posproc_i,
0186 & gencost_posproc_r,
92d10a5666 Gael*0187 & gencost_outputlevel,
d3a3bee25e Patr*0188 & gencost_mask,
69f8f4c84c Patr*0189 & gencost_spmin,
0190 & gencost_spmax,
0191 & gencost_spzero,
6b2230d510 Ou W*0192 & gencost_wei1d,
69f8f4c84c Patr*0193 & gencost_avgperiod,
92d10a5666 Gael*0194 & gencost_nrecperiod,
49484c0542 Gael*0195 & gencost_startdate1,
0196 & gencost_startdate2,
0197 & gencost_enddate1,
0198 & gencost_enddate2,
89d9f37d02 An T*0199 & gencost_smooth2Ddiffnbt,
6b2230d510 Ou W*0200 & gencost_is1d,
5cce2b5d76 Gael*0201 & gencost_is3d,
17944dd1e8 Gael*0202 & gencost_msk_is3d,
aa93ca8e85 Ciar*0203 & gencost_useDensityMask,
0204 & gencost_refPressure,
0205 & gencost_sigmaLow,
0206 & gencost_sigmaHigh,
0207 & gencost_tanhScale,
8227586f14 An T*0208 & gencost_timevaryweight,
8c157ed454 Patr*0209 & mult_gencost
5cce2b5d76 Gael*0210 #endif /* ALLOW_GENCOST_CONTRIBUTION */
8c157ed454 Patr*0211
58023ceed9 Gael*0212 IF ( .NOT.useECCO ) THEN
0213
0214 _BEGIN_MASTER(myThid)
0215
0216
0217 CALL PACKAGES_UNUSED_MSG( 'useECCO', ' ', ' ' )
0218 _END_MASTER(myThid)
0219 RETURN
0220 ENDIF
0221
5001c65f45 Patr*0222 _BEGIN_MASTER( myThid )
cda1c18f72 Jean*0223 nRetired = 0
0c0a2531ee Patr*0224
5001c65f45 Patr*0225
984d1519c6 Gael*0226
0227
9f3ef6a237 Gael*0228 #if (defined (ALLOW_SSH_COST_CONTRIBUTION) && \
0229
984d1519c6 Gael*0230 using_cost_altim=.TRUE.
0231 #else
0232 using_cost_altim=.FALSE.
0233 #endif
86576896a0 Gael*0234 #ifdef ALLOW_SEAICE_COST_CONTRIBUTION
0235 using_cost_seaice=.TRUE.
0236 #else
0237 using_cost_seaice=.FALSE.
0238 #endif
c2dc7fc123 An T*0239
f1e0eff8fe An T*0240
0241 using_cost_transp=.FALSE.
c2dc7fc123 An T*0242
984d1519c6 Gael*0243 #ifdef ALLOW_SST_COST_CONTRIBUTION
0244 using_cost_sst=.TRUE.
0245 #else
0246 using_cost_sst=.FALSE.
0247 #endif
0248
0249
5001c65f45 Patr*0250 data_errfile = ' '
0251 tbarfile = 'tbar'
0252 sbarfile = 'sbar'
61d31abfa0 Jean*0253 sstbarfile = 'sstbar'
5001c65f45 Patr*0254 psbarfile = 'psbar'
e284aa03cc Patr*0255 bpbarfile = 'bpbar'
d534937279 Matt*0256 iestaubarfile = 'iestaubar'
5001c65f45 Patr*0257 ubarfile = 'ubar'
0258 vbarfile = 'vbar'
0259 wbarfile = 'wbar'
0260 tauxbarfile = 'tauxbar'
0261 tauybarfile = 'tauybar'
8c157ed454 Patr*0262 hfluxmeanbarfile = 'hfluxmeanbar'
0263 sfluxmeanbarfile = 'sfluxmeanbar'
7484238bfd Patr*0264 costTranspDataFile = ' '
9f3ef6a237 Gael*0265 using_tpj = .false.
5001c65f45 Patr*0266 topexstartdate1 = 0
0267 topexstartdate2 = 0
0268 topexperiod = 0. _d 0
69531f39dd Patr*0269 topexintercept = 0. _d 0
0270 topexslope = 0. _d 0
5001c65f45 Patr*0271 topexfile = ' '
d39bcf1629 An T*0272
0273
9f3ef6a237 Gael*0274 using_mdt =.FALSE.
d39bcf1629 An T*0275 mdtdatfile = ' '
0276 mdtstartdate1 = 19930101
0277 mdtstartdate2 = 0
0278 mdtenddate1 = 20041231
0279 mdtenddate2 = 0
5001c65f45 Patr*0280 using_ers = .false.
0281 ersstartdate1 = 0
0282 ersstartdate2 = 0
0283 ersperiod = 0. _d 0
69531f39dd Patr*0284 ersintercept = 0. _d 0
0285 ersslope = 0. _d 0
5001c65f45 Patr*0286 ersfile = ' '
4fd9553bc8 Patr*0287 using_gfo = .false.
0288 gfostartdate1 = 0
0289 gfostartdate2 = 0
0290 gfoperiod = 0. _d 0
69531f39dd Patr*0291 gfointercept = 0. _d 0
0292 gfoslope = 0. _d 0
4fd9553bc8 Patr*0293 gfofile = ' '
5001c65f45 Patr*0294 scatstartdate1 = 0
0295 scatstartdate2 = 0
0296 scatperiod = 0. _d 0
0297 scatxdatfile = ' '
0298 scatydatfile = ' '
0299 ssh_errfile = ' '
350884e02b Patr*0300 tp_errfile = ' '
0301 ers_errfile = ' '
0302 gfo_errfile = ' '
5001c65f45 Patr*0303 scatx_errfile = ' '
0304 scaty_errfile = ' '
0305 tmistartdate1 = 0
0306 tmistartdate2 = 0
0307 tmidatfile = ' '
0308 sststartdate1 = 0
0309 sststartdate2 = 0
0310 sstdatfile = ' '
0311 sssstartdate1 = 0
0312 sssstartdate2 = 0
0313 sssdatfile = ' '
e284aa03cc Patr*0314 bpstartdate1 = 0
0315 bpstartdate2 = 0
0316 bpdatfile = ' '
d534937279 Matt*0317 iesstartdate1 = 0
0318 iesstartdate2 = 0
0319 iesdatfile = ' '
5001c65f45 Patr*0320 tdatfile = ' '
0321 sdatfile = ' '
0322 ctdtfile = ' '
0323 ctdsfile = ' '
0324 ctdtclimfile = ' '
0325 ctdsclimfile = ' '
0326 curmtrufile = ' '
0327 curmtrvfile = ' '
0328 xbtfile = ' '
0329 argotstartdate1 = 0
0330 argotstartdate2 = 0
0331 argotfile = ' '
0332 argosstartdate1 = 0
0333 argosstartdate2 = 0
0334 argosfile = ' '
0335 udriftfile = ' '
0336 vdriftfile = ' '
0337 udrifterrfile = ' '
0338 vdrifterrfile = ' '
0339 salterrfile = ' '
0340 temperrfile = ' '
0341 velerrfile = ' '
76ae088f98 Patr*0342 salt0errfile = ' '
0343 temp0errfile = ' '
30125f96e6 Patr*0344 etan0errfile = ' '
0345 uvel0errfile = ' '
0346 vvel0errfile = ' '
76ae088f98 Patr*0347 vel0errfile = ' '
da86325d70 Gael*0348 ssterrfile = ' '
0349 ssserrfile = ' '
49b79243e8 Gael*0350 bperrfile = ' '
d534937279 Matt*0351 ieserrfile = ' '
5001c65f45 Patr*0352 hflux_errfile = ' '
0353 sflux_errfile = ' '
0354 tauu_errfile = ' '
0355 tauv_errfile = ' '
0356 atemp_errfile = ' '
0357 aqh_errfile = ' '
d7ee8fe52e Patr*0358 precip_errfile = ' '
5ceb56546e Patr*0359 swflux_errfile = ' '
02568c8633 Patr*0360 swdown_errfile = ' '
fed442e87e Patr*0361 lwflux_errfile = ' '
0362 lwdown_errfile = ' '
0363 evap_errfile = ' '
0364 snowprecip_errfile = ' '
0365 apressure_errfile = ' '
5001c65f45 Patr*0366 uwind_errfile = ' '
0367 vwind_errfile = ' '
0368 geoid_errfile = ' '
0369 geoid_covariancefile = ' '
bad79706a2 Gael*0370 bottomdrag_errfile = ' '
0371 edtau_errfile = ' '
0372 kapgm_errfile = ' '
c9ba60667e Patr*0373 kapredi_errfile = ' '
bad79706a2 Gael*0374 diffkr_errfile = ' '
55bf8021cb Gael*0375 do k=1,NUSERCOST
cda1c18f72 Jean*0376 usercost_datafile(k) = ' '
0377 usercost_errfile(k) = ' '
55bf8021cb Gael*0378 enddo
087d6770fc Gael*0379 do k=1,NSSHV4COST
2a529ed9f1 Gael*0380 sshv4cost_scalefile(k) = ' '
0381 sshv4cost_errfile(k) = ' '
0382 sshv4cost_errfactor(k) = 1. _d 0
087d6770fc Gael*0383 enddo
c9ba60667e Patr*0384 tpTimeMaskFile = ' '
0385 ersTimeMaskFile = ' '
0386 gfoTimeMaskFile = ' '
0387
5001c65f45 Patr*0388 mult_hflux = 0. _d 0
0389 mult_sflux = 0. _d 0
4bf6063982 Patr*0390 mult_hfluxmm = 0. _d 0
0391 mult_sfluxmm = 0. _d 0
5001c65f45 Patr*0392 mult_tauu = 0. _d 0
0393 mult_tauv = 0. _d 0
0394 mult_atemp = 0. _d 0
0395 mult_aqh = 0. _d 0
d7ee8fe52e Patr*0396 mult_precip = 0. _d 0
5ceb56546e Patr*0397 mult_swflux = 0. _d 0
02568c8633 Patr*0398 mult_swdown = 0. _d 0
fed442e87e Patr*0399 mult_lwflux = 0. _d 0
0400 mult_lwdown = 0. _d 0
0401 mult_evap = 0. _d 0
0402 mult_snowprecip = 0. _d 0
0403 mult_apressure = 0. _d 0
5001c65f45 Patr*0404 mult_uwind = 0. _d 0
0405 mult_vwind = 0. _d 0
0406 mult_hmean = 0. _d 0
706976e7e4 Patr*0407 mult_h = 1. _d 0
0408 mult_tp = 0. _d 0
0409 mult_ers = 0. _d 0
0410 mult_gfo = 0. _d 0
5001c65f45 Patr*0411 mult_temp = 0. _d 0
0412 mult_salt = 0. _d 0
0413 mult_temp0 = 0. _d 0
0414 mult_salt0 = 0. _d 0
30125f96e6 Patr*0415 mult_etan0 = 0. _d 0
0416 mult_uvel0 = 0. _d 0
0417 mult_vvel0 = 0. _d 0
5001c65f45 Patr*0418 mult_tmi = 0. _d 0
0419 mult_sst = 0. _d 0
0420 mult_sss = 0. _d 0
e284aa03cc Patr*0421 mult_bp = 0. _d 0
d534937279 Matt*0422 mult_ies = 0. _d 0
5001c65f45 Patr*0423 mult_ctdt = 0. _d 0
0424 mult_ctds = 0. _d 0
0425 mult_ctdtclim = 0. _d 0
0426 mult_ctdsclim = 0. _d 0
0427 mult_xbt = 0. _d 0
0428 mult_argot = 0. _d 0
0429 mult_argos = 0. _d 0
0430 mult_drift = 0. _d 0
0431 mult_tdrift = 0. _d 0
0432 mult_sdrift = 0. _d 0
0433 mult_wdrift = 0. _d 0
0434 mult_scatx = 0. _d 0
0435 mult_scaty = 0. _d 0
c509d7e04a Gael*0436 #if (defined (ALLOW_CTRL) && defined (ALLOW_OBCS))
5001c65f45 Patr*0437 mult_obcsn = 0. _d 0
0438 mult_obcss = 0. _d 0
0439 mult_obcsw = 0. _d 0
0440 mult_obcse = 0. _d 0
0441 mult_obcsvol = 0. _d 0
0442 mult_ageos = 0. _d 0
c509d7e04a Gael*0443 #endif
5001c65f45 Patr*0444 mult_curmtr = 0. _d 0
0445 mult_kapgm = 0. _d 0
cda1c18f72 Jean*0446 mult_kapredi = 0. _d 0
5001c65f45 Patr*0447 mult_diffkr = 0. _d 0
bad79706a2 Gael*0448 mult_edtau = 0. _d 0
0449 mult_bottomdrag = 0. _d 0
55bf8021cb Gael*0450 do k=1,NUSERCOST
cda1c18f72 Jean*0451 mult_usercost(k) = 0. _d 0
55bf8021cb Gael*0452 enddo
087d6770fc Gael*0453 do k=1,NSSHV4COST
cda1c18f72 Jean*0454 mult_sshv4cost(k) = 0. _d 0
087d6770fc Gael*0455 enddo
f2b10b358f Patr*0456 mult_smooth_ic = 0. _d 0
0457 mult_smooth_bc = 0. _d 0
d851bc4637 Patr*0458 mult_transp = 0. _d 0
d7ee8fe52e Patr*0459 watemp0 = 0. _d 0
0460 waqh0 = 0. _d 0
0461 wprecip0 = 0. _d 0
5ceb56546e Patr*0462 wswflux0 = 0. _d 0
02568c8633 Patr*0463 wswdown0 = 0. _d 0
fed442e87e Patr*0464 wlwflux0 = 0. _d 0
0465 wlwdown0 = 0. _d 0
0466 wevap0 = 0. _d 0
0467 wsnowprecip0 = 0. _d 0
0468 wapressure0 = 0. _d 0
d7ee8fe52e Patr*0469 wwind0 = 0. _d 0
0e094cd207 Patr*0470 wdiffkr0 = 1. _d 0
0471 wkapgm0 = 1. _d 0
cda1c18f72 Jean*0472 wkapredi0 = 1. _d 0
0e094cd207 Patr*0473 wedtau0 = 1. _d 0
d7ee8fe52e Patr*0474 whflux0 = 0. _d 0
0475 wsflux0 = 0. _d 0
0476 wtau0 = 0. _d 0
bad79706a2 Gael*0477 wbottomdrag0 = 1. _d 0
eeaf8785b4 Patr*0478 wmean_atemp = 0. _d 0
0479 wmean_aqh = 0. _d 0
0480 wmean_precip = 0. _d 0
0481 wmean_swflux = 0. _d 0
02568c8633 Patr*0482 wmean_swdown = 0. _d 0
fed442e87e Patr*0483 wmean_lwflux = 0. _d 0
0484 wmean_lwdown = 0. _d 0
0485 wmean_evap = 0. _d 0
0486 wmean_snowprecip = 0. _d 0
0487 wmean_apressure = 0. _d 0
eeaf8785b4 Patr*0488 wmean_wind = 0. _d 0
0489 wmean_hflux = 0. _d 0
0490 wmean_sflux = 0. _d 0
0491 wmean_tau = 0. _d 0
6bec9496d6 Jean*0492 cost_iprec = precFloat32
906a61c194 Ou W*0493 ecco_output_sterGloH = .FALSE.
0494 ecco_keepTSeriesOutp_open = .FALSE.
5001c65f45 Patr*0495
cda1c18f72 Jean*0496
0497 cost_yftype = 'RL'
0498 topexmeanfile = ' '
0499 using_cost_bp = .FALSE.
0500 using_cost_scat = .FALSE.
d39bcf1629 An T*0501
0502
9aaf43452b Patr*0503 WRITE(msgBuf,'(A)') 'ECCO_READPARMS: opening data.ecco'
0504 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
44d3986245 Jean*0505 & SQUEEZE_RIGHT, myThid )
9aaf43452b Patr*0506
0507 CALL OPEN_COPY_DATA_FILE(
0508 I 'data.ecco', 'ECCO_READPARMS',
0509 O iUnit,
0510 I myThid )
0511
0512 READ( iUnit, nml = ecco_cost_nml )
0513
8f7d13d0c9 Jean*0514 WRITE(msgBuf,'(A)')
8c157ed454 Patr*0515 & 'ECCO_READPARMS: finished reading #1: ecco_cost_nml'
9aaf43452b Patr*0516 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
44d3986245 Jean*0517 & SQUEEZE_RIGHT, myThid )
0c0a2531ee Patr*0518
6bec9496d6 Jean*0519
cda1c18f72 Jean*0520
0521 IF ( cost_yftype.NE.'RL' ) THEN
0522 WRITE(msgBuf,'(2A)') 'S/R ECCO_READPARMS: ',
0523 & '"cost_yftype" is no longer allowed in file "data.ecco"'
0524 CALL PRINT_ERROR( msgBuf, myThid )
d39bcf1629 An T*0525 nRetired = nRetired + 1
cda1c18f72 Jean*0526 ENDIF
0527 IF ( using_cost_bp ) THEN
0528 WRITE(msgBuf,'(2A)') 'S/R ECCO_READPARMS: ',
0529 & '"using_cost_bp" is no longer allowed in file "data.ecco"'
0530 CALL PRINT_ERROR( msgBuf, myThid )
0531 nRetired = nRetired + 1
0532 ENDIF
0533 IF ( using_cost_scat ) THEN
0534 WRITE(msgBuf,'(2A)') 'S/R ECCO_READPARMS: ',
0535 & '"using_cost_scat" is no longer allowed in file "data.ecco"'
0536 CALL PRINT_ERROR( msgBuf, myThid )
0537 nRetired = nRetired + 1
0538 ENDIF
0539 IF ( topexmeanfile .NE. ' ' ) THEN
d39bcf1629 An T*0540 WRITE(msgBuf,'(A,A)')
0541 & 'S/R ECCO_READPARMS: "topexmeanfile" ',
0542 & 'is no longer allowed in file "data.ecco"'
0543 CALL PRINT_ERROR( msgBuf, myThid )
0544 WRITE(msgBuf,'(A)')
0545 & 'S/R ECCO_READPARMS: set "mdtdatfile" instead'
0546 CALL PRINT_ERROR( msgBuf, myThid )
cda1c18f72 Jean*0547 nRetired = nRetired + 1
d39bcf1629 An T*0548 ENDIF
0549 IF ( nRetired .GT. 0 ) THEN
0550 WRITE(msgBuf,'(2A)') 'S/R ECCO_READPARMS: ',
0551 & 'Error reading parameter file "data.ecco"'
0552 CALL PRINT_ERROR( msgBuf, myThid )
0553 WRITE(msgBuf,'(A)')
cda1c18f72 Jean*0554 & 'some out-of-date parameters were found in the namelist(s)'
d39bcf1629 An T*0555 CALL PRINT_ERROR( msgBuf, myThid )
cda1c18f72 Jean*0556 CALL ALL_PROC_DIE( 0 )
d39bcf1629 An T*0557 STOP 'ABNORMAL END: S/R ECCO_READPARMS'
0558 ENDIF
6bec9496d6 Jean*0559
8c157ed454 Patr*0560 _END_MASTER( myThid )
0561
3bd7a4549f Gael*0562
0563
0564
0565 _BEGIN_MASTER( myThid )
0566 do k2=1,NGENPPROC
447bdc4b79 Gael*0567 no_preproc(k2) = ' '
0568 no_preproc_c(k2) = ' '
0569 no_preproc_i(k2) = 0
0570 no_preproc_r(k2) = 0. _d 0
0571 no_posproc(k2) = ' '
0572 no_posproc_c(k2) = ' '
0573 no_posproc_i(k2) = 0
0574 no_posproc_r(k2) = 0. _d 0
1b2ca1f822 Gael*0575 clim_preproc(k2) = ' '
0576 clim_preproc_i(k2) = 0
dca8cfd541 Gael*0577 anom_preproc(k2) = ' '
3bd7a4549f Gael*0578 enddo
1b2ca1f822 Gael*0579 clim_preproc(1) = 'clim'
0580 clim_preproc_i(1) = 12
dca8cfd541 Gael*0581 anom_preproc(1) = 'anom'
3bd7a4549f Gael*0582 _END_MASTER( myThid )
0583
8c157ed454 Patr*0584 #ifdef ALLOW_GENCOST_CONTRIBUTION
0585
0586 _BEGIN_MASTER( myThid )
0587
0588
0589 do k=1,NGENCOST
130273d46b Gael*0590 using_gencost(k) = .FALSE.
0591 gencost_flag(k) = 0
8c157ed454 Patr*0592 gencost_avgperiod(k) = ' '
49484c0542 Gael*0593 gencost_startdate1(k) = 0
0594 gencost_startdate2(k) = 0
0595 gencost_enddate1(k) = 0
0596 gencost_enddate2(k) = 0
d3a3bee25e Patr*0597 gencost_datafile(k) = ' '
d181f9168b Gael*0598 gencost_name(k) = 'gencost'
3bd7a4549f Gael*0599 do k2=1,NGENPPROC
0600 gencost_preproc(k2,k) = ' '
0601 gencost_preproc_c(k2,k) = ' '
0602 gencost_preproc_i(k2,k) = 0
0603 gencost_preproc_r(k2,k) = 0. _d 0
0604 gencost_posproc(k2,k) = ' '
0605 gencost_posproc_c(k2,k) = ' '
0606 gencost_posproc_i(k2,k) = 0
0607 gencost_posproc_r(k2,k) = 0. _d 0
0608 enddo
92d10a5666 Gael*0609 gencost_outputlevel(k)= 0
d3a3bee25e Patr*0610 gencost_errfile(k) = ' '
81e05fa829 Gael*0611 gencost_itracer(k) = 1
a565f49279 Jean*0612 gencost_kLev_select(k)= 1
47d80787ea Gael*0613 gencost_mask(k) = ' '
d181f9168b Gael*0614 gencost_barfile(k) = ' '
89d9f37d02 An T*0615 gencost_spmin(k) = 0. _d 0
0616 gencost_spmax(k) = 0. _d 0
0617 gencost_spzero(k) = 9876. _d 0
6b2230d510 Ou W*0618 gencost_wei1d(k) = 0. _d 0
bf3a68e762 Gael*0619 mult_gencost(k) = 1. _d 0
6b2230d510 Ou W*0620 gencost_is1d(k) = .FALSE.
5cce2b5d76 Gael*0621 gencost_is3d(k) = .FALSE.
aa93ca8e85 Ciar*0622 gencost_useDensityMask(k) = .FALSE.
0623 gencost_refPressure(k) = 0. _d 0
0624 gencost_sigmaLow(k) = 0. _d 0
0625 gencost_sigmaHigh(k) = 1. _d 3
0626 gencost_tanhScale(k) = 1. _d 5
447bdc4b79 Gael*0627 gencost_pointer3d(k) = 0
44d3986245 Jean*0628 gencost_msk_is3d(k) = .FALSE.
17944dd1e8 Gael*0629 gencost_msk_pointer3d(k) = 0
447bdc4b79 Gael*0630
f8e779c983 antn*0631 call ecco_zero(gencost_mskCsurf(1-OLx,1-OLy,1,1,k),
0632 & 1,zeroRL,myThid)
0633 call ecco_zero(gencost_mskWsurf(1-OLx,1-OLy,1,1,k),
0634 & 1,zeroRL,myThid)
0635 call ecco_zero(gencost_mskSsurf(1-OLx,1-OLy,1,1,k),
0636 & 1,zeroRL,myThid)
9f5240b52a Jean*0637 do k2 = 1,Nr
447bdc4b79 Gael*0638 gencost_mskVertical(k2,k)= 1. _d 0
f8e779c983 antn*0639 enddo
447bdc4b79 Gael*0640
0641 gencost_nrecperiod(k) = 0
0642 gencost_scalefile(k) = ' '
b8fab26f74 Gael*0643 gencost_smooth2Ddiffnbt(k) = 0
447bdc4b79 Gael*0644 gencost_timevaryweight(k) = .FALSE.
8c157ed454 Patr*0645 enddo
0646
17944dd1e8 Gael*0647 #ifdef ALLOW_GENCOST3D
0648 do k=1,NGENCOST3D
0649
f8e779c983 antn*0650 call ecco_zero(gencost_mskC(1-OLx,1-OLy,1,1,1,k),
0651 & Nr,zeroRL,myThid)
0652 call ecco_zero(gencost_mskW(1-OLx,1-OLy,1,1,1,k),
0653 & Nr,zeroRL,myThid)
0654 call ecco_zero(gencost_mskS(1-OLx,1-OLy,1,1,1,k),
0655 & Nr,zeroRL,myThid)
17944dd1e8 Gael*0656 enddo
0657 #endif
0658
8c157ed454 Patr*0659 READ( iUnit, nml = ecco_gencost_nml )
0660
8f7d13d0c9 Jean*0661 WRITE(msgBuf,'(A)')
8c157ed454 Patr*0662 & 'ECCO_READPARMS: finished reading #2: ecco_gencost_nml'
0663 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
44d3986245 Jean*0664 & SQUEEZE_RIGHT, myThid )
8c157ed454 Patr*0665
5cce2b5d76 Gael*0666 gencost_k3d=1
17944dd1e8 Gael*0667 gencost_msk_k3d=1
5cce2b5d76 Gael*0668
130273d46b Gael*0669 do k=1,NGENCOST
5cce2b5d76 Gael*0670
0671
e7db56ba12 Gael*0672 if ( (gencost_name(k).EQ.'sshv4-mdt').OR.
0673 & (gencost_name(k).EQ.'sshv4-tp').OR.
0674 & (gencost_name(k).EQ.'sshv4-ers').OR.
0675 & (gencost_name(k).EQ.'sshv4-gfo').OR.
0676 & (gencost_name(k).EQ.'sshv4-lsc').OR.
4e6b53b435 Gael*0677 & (gencost_name(k).EQ.'sshv4-gmsl').OR.
49484c0542 Gael*0678 & (gencost_name(k).EQ.'bpv4-grace').OR.
e7db56ba12 Gael*0679 & (gencost_name(k).EQ.'sstv4-amsre').OR.
130273d46b Gael*0680 & (gencost_name(k).EQ.'sstv4-amsre-lsc') ) then
0681 gencost_flag(k)=-1
0682 using_gencost(k)=.TRUE.
877e0f385b An T*0683
0684
0685
0686
447bdc4b79 Gael*0687 elseif ( (gencost_barfile(k)(1:9).EQ.'m_boxmean').OR.
0688 & (gencost_barfile(k)(1:9).EQ.'m_horflux') ) then
877e0f385b An T*0689 gencost_flag(k)=-3
0690 using_gencost(k)=.TRUE.
0691 il=ilnblnk(gencost_name(k))
447bdc4b79 Gael*0692 WRITE(msgBuf,'(A,I3,3A,L5)') 'gencost k_boxmean/horflux=',
0693 & k,' ',gencost_name(k)(1:il),': ',using_gencost(k)
877e0f385b An T*0694 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
44d3986245 Jean*0695 & SQUEEZE_RIGHT, myThid )
877e0f385b An T*0696
17944dd1e8 Gael*0697 if ( gencost_msk_is3d(k) ) then
0698 gencost_msk_pointer3d(k)=gencost_msk_k3d
0699 gencost_msk_k3d=gencost_msk_k3d+1
0700 endif
0701
877e0f385b An T*0702
0703 elseif ( gencost_name(k)(1:6).EQ.'transp' ) then
0704 gencost_flag(k)=-4
0705 using_gencost(k)=.TRUE.
0706 il=ilnblnk(gencost_name(k))
447bdc4b79 Gael*0707 WRITE(msgBuf,'(A,i3,3A,L5)') 'gencost k_transp=',
0708 & k,' ',gencost_name(k)(1:il),': ',using_gencost(k)
877e0f385b An T*0709 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
44d3986245 Jean*0710 & SQUEEZE_RIGHT, myThid )
877e0f385b An T*0711
df462307fb Timo*0712
0713 elseif ( gencost_name(k)(1:3).EQ.'moc' ) then
0714 gencost_flag(k)=-5
0715 using_gencost(k)=.TRUE.
0716 il=ilnblnk(gencost_name(k))
0717 WRITE(msgBuf,'(A,i2,2A,L5)') 'gencost k_moc=',
0718 & k,gencost_name(k)(1:il),': ',using_gencost(k)
0719 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
44d3986245 Jean*0720 & SQUEEZE_RIGHT, myThid )
df462307fb Timo*0721
5cce2b5d76 Gael*0722
f8e779c983 antn*0723 elseif (
a443ec37be Gael*0724 & (gencost_name(k).EQ.'siv4-conc').OR.
0a8c2c2ff2 An T*0725 & (gencost_name(k).EQ.'siv4-deconc').OR.
0726 & (gencost_name(k).EQ.'siv4-exconc') ) then
a443ec37be Gael*0727 gencost_flag(k)=2
0728 using_gencost(k)=.TRUE.
130273d46b Gael*0729
5cce2b5d76 Gael*0730 elseif ( gencost_datafile(k) .NE. ' ' ) then
130273d46b Gael*0731 gencost_flag(k)=1
0732 using_gencost(k)=.TRUE.
0733 endif
49484c0542 Gael*0734
bf3a68e762 Gael*0735
0736 if ( (gencost_barfile(k)(1:7).EQ.'m_theta').OR.
0737 & (gencost_barfile(k)(1:6).EQ.'m_salt').OR.
0738 & (gencost_barfile(k)(1:8).EQ.'m_diffkr').OR.
0739 & (gencost_barfile(k)(1:7).EQ.'m_kapgm').OR.
447bdc4b79 Gael*0740 & (gencost_barfile(k)(1:9).EQ.'m_kapredi').OR.
0741 & (gencost_barfile(k)(1:7).EQ.'m_trVol').OR.
c13fbfe5a9 Nora*0742 & (gencost_barfile(k)(1:8).EQ.'m_trHeat').OR.
0743 & (gencost_barfile(k)(1:8).EQ.'m_trSalt')
877e0f385b An T*0744 & )
bf3a68e762 Gael*0745 & gencost_is3d(k)=.TRUE.
0746
0747
5cce2b5d76 Gael*0748 if ( gencost_is3d(k) ) then
0749 gencost_pointer3d(k)=gencost_k3d
0750 gencost_k3d=gencost_k3d+1
0751 endif
0752
130273d46b Gael*0753 enddo
0754
447bdc4b79 Gael*0755
0756 do k=1,NGENCOST
c17b89ca05 Gael*0757 kk=gencost_msk_pointer3d(k)
47d80787ea Gael*0758 if ( ( gencost_mask(k) .NE. ' ' ).AND.
0d7023b5ce Jean*0759 & (gencost_flag(k).EQ.-3 .or.
df462307fb Timo*0760 & gencost_flag(k).eq.-4 .or.
0761 & gencost_flag(k).eq.-5 ) ) then
447bdc4b79 Gael*0762
47d80787ea Gael*0763 il = ilnblnk(gencost_mask(k))
0764 write(tempfile(1:128),'(2A)') gencost_mask(k)(1:il),'C'
447bdc4b79 Gael*0765 inquire( file=tempfile(1:il+1), exist=exst )
17944dd1e8 Gael*0766 if (exst.AND.(.NOT.gencost_msk_is3d(k))) then
f8e779c983 antn*0767 CALL READ_REC_3D_RL( tempfile, cost_iprec, 1,
0768 & gencost_mskCsurf(1-OLx,1-OLy,1,1,k), 1, 1, myThid )
17944dd1e8 Gael*0769 #ifdef ALLOW_GENCOST3D
0770 elseif (exst.AND.(gencost_msk_pointer3d(k).LE.
0771 & NGENCOST3D)) then
f8e779c983 antn*0772 CALL READ_REC_3D_RL( tempfile, cost_iprec, Nr,
0773 & gencost_mskC(1-OLx,1-OLy,1,1,1,kk), 1, 1, myThid )
17944dd1e8 Gael*0774 #endif
447bdc4b79 Gael*0775 endif
0776
47d80787ea Gael*0777 il = ilnblnk(gencost_mask(k))
0778 write(tempfile(1:128),'(2A)') gencost_mask(k)(1:il),'W'
447bdc4b79 Gael*0779 inquire( file=tempfile(1:il+1), exist=exst )
17944dd1e8 Gael*0780 if (exst.AND.(.NOT.gencost_msk_is3d(k))) then
f8e779c983 antn*0781 CALL READ_REC_3D_RL( tempfile, cost_iprec, 1,
0782 & gencost_mskWsurf(1-OLx,1-OLy,1,1,k), 1, 1, myThid )
17944dd1e8 Gael*0783 #ifdef ALLOW_GENCOST3D
0784 elseif (exst.AND.(gencost_msk_pointer3d(k).LE.
0785 & NGENCOST3D)) then
f8e779c983 antn*0786 CALL READ_REC_3D_RL( tempfile, cost_iprec, Nr,
0787 & gencost_mskW(1-OLx,1-OLy,1,1,1,kk), 1, 1, myThid )
17944dd1e8 Gael*0788 #endif
447bdc4b79 Gael*0789 endif
0790
47d80787ea Gael*0791 il = ilnblnk(gencost_mask(k))
0792 write(tempfile(1:128),'(2A)') gencost_mask(k)(1:il),'S'
447bdc4b79 Gael*0793 inquire( file=tempfile(1:il+1), exist=exst )
17944dd1e8 Gael*0794 if (exst.AND.(.NOT.gencost_msk_is3d(k))) then
f8e779c983 antn*0795 CALL READ_REC_3D_RL( tempfile, cost_iprec, 1,
0796 & gencost_mskSsurf(1-OLx,1-OLy,1,1,k), 1, 1, myThid )
17944dd1e8 Gael*0797 #ifdef ALLOW_GENCOST3D
0798 elseif (exst.AND.(gencost_msk_pointer3d(k).LE.
0799 & NGENCOST3D)) then
f8e779c983 antn*0800 CALL READ_REC_3D_RL( tempfile, cost_iprec, Nr,
0801 & gencost_mskS(1-OLx,1-OLy,1,1,1,kk), 1, 1, myThid )
17944dd1e8 Gael*0802 #endif
447bdc4b79 Gael*0803 endif
0804
47d80787ea Gael*0805 il = ilnblnk(gencost_mask(k))
0806 write(tempfile(1:128),'(2A)') gencost_mask(k)(1:il),'K'
447bdc4b79 Gael*0807 inquire( file=tempfile(1:il+1), exist=exst )
0808 if (exst) then
0809 ioUnit = 0
f8e779c983 antn*0810 CALL MDS_READVEC_LOC( tempfile, cost_iprec, ioUnit, 'RL',
0811 & Nr, gencost_mskVertical(1,k), dummyRS, 0, 0, 1, myThid )
447bdc4b79 Gael*0812 endif
0813
0814 endif
0815 enddo
0816
8c157ed454 Patr*0817
0818 do k=1,NGENCOST
69f8f4c84c Patr*0819
9aeddbf372 Gael*0820
985662a3b3 Gael*0821 if (gencost_barfile(k).NE.' ') then
9aeddbf372 Gael*0822 if (gencost_barfile(k)(1:2).NE.'m_') then
985662a3b3 Gael*0823 il=ilnblnk(gencost_barfile(k))
0824 WRITE(msgBuf,'(A,A)') 'm_',gencost_barfile(k)(1:il)
0825 gencost_barfile(k)=msgBuf(1:il+2)
9aeddbf372 Gael*0826 endif
0827 if (gencost_barfile(k)(1:8).EQ.'m_tauZon') then
0828 il=ilnblnk(gencost_barfile(k))
0829 WRITE(msgBuf,'(A,A)') 'm_ustress',gencost_barfile(k)(9:il)
0830 gencost_barfile(k)=msgBuf(1:il+1)
0831 endif
0832 if (gencost_barfile(k)(1:8).EQ.'m_tauMer') then
0833 il=ilnblnk(gencost_barfile(k))
0834 WRITE(msgBuf,'(A,A)') 'm_vstress',gencost_barfile(k)(9:il)
0835 gencost_barfile(k)=msgBuf(1:il+1)
0836 endif
985662a3b3 Gael*0837 endif
0838
877e0f385b An T*0839
0840 if ( using_gencost(k)) then
0841 if ( gencost_flag(k).GE.1 ) then
7a7bc10d23 Patr*0842
0843 if ( gencost_name(k) .EQ. 'gencost' )
1fa8e77fb9 Gael*0844 & gencost_name(k) = gencost_datafile(k)
0845
7a7bc10d23 Patr*0846 if ( gencost_avgperiod(k) .NE. 'day ' .AND.
69f8f4c84c Patr*0847 & gencost_avgperiod(k) .NE. 'DAY ' .AND.
0848 & gencost_avgperiod(k) .NE. 'month' .AND.
0849 & gencost_avgperiod(k) .NE. 'MONTH' .AND.
e7d9258ace Gael*0850 & gencost_avgperiod(k) .NE. 'step' .AND.
0851 & gencost_avgperiod(k) .NE. 'STEP' .AND.
985662a3b3 Gael*0852 & gencost_avgperiod(k) .NE. 'const' .AND.
0853 & gencost_avgperiod(k) .NE. 'CONST' .AND.
69f8f4c84c Patr*0854 & gencost_avgperiod(k) .NE. 'year ' .AND.
0855 & gencost_avgperiod(k) .NE. 'YEAR ' ) then
e7db56ba12 Gael*0856
0857 il=ilnblnk(gencost_name(k))
0858 WRITE(msgBuf,'(A,I2,2A)')
0859 & 'ERROR in ECCO_READPARMS: for gencost',k,
0860 & ' ',gencost_name(k)(1:il)
0861 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
44d3986245 Jean*0862 & SQUEEZE_RIGHT, myThid )
8f7d13d0c9 Jean*0863 STOP
8c157ed454 Patr*0864 & 'ECCO_READPARMS: gencost_avgperiod not properly set'
44d3986245 Jean*0865 endif
61aa767fd2 Gael*0866
7a7bc10d23 Patr*0867 if ( gencost_spmin(k) .EQ. 0. _d 0 .AND.
69f8f4c84c Patr*0868 & gencost_spmax(k) .EQ. 0. _d 0 ) then
e7db56ba12 Gael*0869 il=ilnblnk(gencost_name(k))
0870 WRITE(msgBuf,'(A,I2,2A)')
0871 & 'ERROR in ECCO_READPARMS: for gencost',k,
0872 & ' ',gencost_name(k)(1:il)
0873 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
44d3986245 Jean*0874 & SQUEEZE_RIGHT, myThid )
69f8f4c84c Patr*0875 STOP
0876 & 'ECCO_READPARMS: gencost_spmin, gencost_spmax not set'
7a7bc10d23 Patr*0877 endif
69f8f4c84c Patr*0878
7a7bc10d23 Patr*0879 if ( gencost_spzero(k) .EQ. 9876. _d 0 ) then
e7db56ba12 Gael*0880 il=ilnblnk(gencost_name(k))
0881 WRITE(msgBuf,'(A,I2,2A)')
0882 & 'ERROR in ECCO_READPARMS: for gencost',k,
0883 & ' ',gencost_name(k)(1:il)
0884 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
44d3986245 Jean*0885 & SQUEEZE_RIGHT, myThid )
69f8f4c84c Patr*0886 STOP
0887 & 'ECCO_READPARMS: gencost_spzero not set'
7a7bc10d23 Patr*0888 endif
69f8f4c84c Patr*0889
877e0f385b An T*0890
0891 elseif( gencost_flag(k) .eq. -1 ) then
0892
0893 elseif( gencost_flag(k).lt.-1) then
0894 if ( gencost_avgperiod(k) .NE. 'day ' .AND.
0895 & gencost_avgperiod(k) .NE. 'DAY ' .AND.
0896 & gencost_avgperiod(k) .NE. 'month' .AND.
0897 & gencost_avgperiod(k) .NE. 'MONTH' .AND.
0898 & gencost_avgperiod(k) .NE. 'step' .AND.
0899 & gencost_avgperiod(k) .NE. 'STEP' .AND.
0900 & gencost_avgperiod(k) .NE. 'const' .AND.
0901 & gencost_avgperiod(k) .NE. 'CONST' .AND.
0902 & gencost_avgperiod(k) .NE. 'year ' .AND.
0903 & gencost_avgperiod(k) .NE. 'YEAR ' ) then
0904
0905 il=ilnblnk(gencost_name(k))
0906 WRITE(msgBuf,'(A,I2,2A)')
0907 & 'ERROR in ECCO_READPARMS: for gencost',k,
0908 & ' ',gencost_name(k)(1:il)
0909 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
44d3986245 Jean*0910 & SQUEEZE_RIGHT, myThid )
877e0f385b An T*0911 STOP
0912 & 'ECCO_READPARMS: gencost_avgperiod not properly set'
0913 endif
0914 endif
0915 endif
61aa767fd2 Gael*0916
8c157ed454 Patr*0917 end do
0918
0919 _END_MASTER( myThid )
0920
0921 #endif /* ALLOW_GENCOST_CONTRIBUTION */
0922
0923 _BEGIN_MASTER( myThid )
0924
7a77863887 Mart*0925 #ifdef SINGLE_DISK_IO
0926 CLOSE(iUnit)
0927 #else
0928 CLOSE(iUnit,STATUS='DELETE')
0929 #endif /* SINGLE_DISK_IO */
8c157ed454 Patr*0930
0931 _END_MASTER( myThid )
0932
8f7d13d0c9 Jean*0933 WRITE(msgBuf,'(A)')
8c157ed454 Patr*0934 & 'ECCO_READPARMS: done'
0935 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
44d3986245 Jean*0936 & SQUEEZE_RIGHT, myThid )
0c0a2531ee Patr*0937
0938 _BARRIER
0939
f8e779c983 antn*0940 RETURN
0941 END