File indexing completed on 2025-11-22 06:08:49 UTC
view on githubraw file Latest commit feb7fa5d on 2025-11-21 15:45:20 UTC
5ca83cd8f7 Dani*0001
0002
0003 #include "STREAMICE_OPTIONS.h"
96b006450c dngo*0004 #ifdef ALLOW_COST
0005 # include "COST_OPTIONS.h"
0006 #endif
5ca83cd8f7 Dani*0007
0008
0009
0010 SUBROUTINE STREAMICE_READPARMS( myThid )
0011
0012
0013
0014
0015
0016 IMPLICIT NONE
0017 #include "SIZE.h"
0018 #include "EEPARAMS.h"
0019 #include "PARAMS.h"
0020 #include "STREAMICE.h"
feb7fa5d1e dngo*0021 #include "STREAMICE_FP.h"
5ca83cd8f7 Dani*0022 #include "STREAMICE_BDRY.h"
07e785229e dngo*0023
0024
0025
5ca83cd8f7 Dani*0026
0027
0028 INTEGER myThid
0029
0030
0031 #ifdef ALLOW_STREAMICE
0032
0033
0034
0035 CHARACTER*(MAX_LEN_MBUF) msgBuf
07e785229e dngo*0036 INTEGER iUnit
96b006450c dngo*0037 # ifdef ALLOW_STREAMICE_TC_COST
0038 INTEGER iarr
0039 # endif
0040
0041
0042
0043
5ca83cd8f7 Dani*0044
0045 NAMELIST /STREAMICE_PARM01/
0046 & streamice_density, streamice_density_ocean_avg,
e4cfce0a6c Dani*0047 & streamice_density_firn,
5ca83cd8f7 Dani*0048 & B_glen_isothermal, n_glen, eps_glen_min, eps_u_min,
02e2d7ff52 Jean*0049 & C_basal_fric_const, n_basal_friction,
5ca83cd8f7 Dani*0050 & streamice_vel_update,streamice_cg_tol,streamice_nonlin_tol,
bbd6229661 Dani*0051 & streamice_nonlin_tol_fp, streamice_err_norm,
5ca83cd8f7 Dani*0052 & streamice_max_cg_iter, streamice_max_nl_iter,
d2cdb9260d Dani*0053 & streamice_maxcgiter_cpl, streamice_maxnliter_cpl,
5ca83cd8f7 Dani*0054 & STREAMICEthickInit,
0055 & STREAMICEsigcoordInit,
0056 & STREAMICEsigcoordFile,
0057 & STREAMICEthickFile,
0058 & STREAMICEcalveMaskFile,
0059 & STREAMICEcostMaskFile,
0060 & STREAMICE_dump_mdsio, STREAMICE_tave_mdsio,
0061 & STREAMICE_dump_mnc, STREAMICE_tave_mnc,
f3f31151db Dani*0062 & STREAMICE_move_front,
5ca83cd8f7 Dani*0063 & STREAMICE_calve_to_mask,
0064 & STREAMICE_diagnostic_only,
0065 & STREAMICE_lower_cg_tol,
0066 & streamice_CFL_factor,
0067 & streamice_adjDump,
0068 & streamice_bg_surf_slope_x, streamice_bg_surf_slope_y,
0069 & streamice_kx_b_init, streamice_ky_b_init,
0070 & STREAMICEbasalTracConfig,
0a8c8b23d7 Dani*0071 & STREAMICEBdotConfig,
07e785229e dngo*0072 & STREAMICEAdotConfig,
5ca83cd8f7 Dani*0073 & STREAMICEbasalTracFile,
0a8c8b23d7 Dani*0074 & STREAMICEBdotFile,
07e785229e dngo*0075 & STREAMICEAdotFile,
52d1822301 Dani*0076 & STREAMICEBdotTimeDepFile,
96b006450c dngo*0077 & streamice_bdot_depth_nomelt,
0078 & streamice_bdot_depth_maxmelt,
0079 & streamice_bdot_maxmelt,
0080 & streamice_bdot_exp,
5ca83cd8f7 Dani*0081 & STREAMICEtopogFile,
0082 & STREAMICEhmaskFile,
0083 & STREAMICEHBCyFile,
0084 & STREAMICEHBCxFile,
0085 & STREAMICEuFaceBdryFile,
0086 & STREAMICEvFaceBdryFile,
0087 & STREAMICEuDirichValsFile,
02e2d7ff52 Jean*0088 & STREAMICEvDirichValsFile,
0089 & STREAMICEuMassFluxFile,
0090 & STREAMICEvMassFluxFile,
7924606b84 Dani*0091 & STREAMICEuNormalStressFile,
0092 & STREAMICEvNormalStressFile,
0093 & STREAMICEuShearStressFile,
0094 & STREAMICEvShearStressFile,
52d1822301 Dani*0095 & STREAMICEuNormalTimeDepFile,
0096 & STREAMICEvNormalTimeDepFile,
0097 & STREAMICEuShearTimeDepFile,
0098 & STREAMICEvShearTimeDepFile,
2a16ced2f5 Dani*0099 & STREAMICEuFluxTimeDepFile, STREAMICEvFluxTimeDepFile,
96b006450c dngo*0100 & bdotMaxmeltTimeDepFile,
0101 & bglenTimeDepFile,
0102 & cfricTimeDepFile,
5ca83cd8f7 Dani*0103 & STREAMICEGlenConstFile, STREAMICEGlenConstConfig,
0104 & STREAMICE_ppm_driving_stress,
0105 & STREAMICE_h_ctrl_const_surf,
0106 & streamice_addl_backstress,
0107 & streamice_smooth_gl_width,
0108 & streamice_adot_uniform,
e4cfce0a6c Dani*0109 & streamice_firn_correction,
0110 & STREAMICE_apply_firn_correction,
d2cdb9260d Dani*0111 & STREAMICE_ADV_SCHEME, streamice_forcing_period,
0112 & STREAMICE_chkfixedptconvergence,
0113 & STREAMICE_chkresidconvergence,
29d9814714 Dani*0114 & STREAMICE_alt_driving_stress,
07e785229e dngo*0115 & STREAMICE_allow_reg_coulomb,
0fbff46b46 dngo*0116 & STREAMICE_use_log_ctrl,
0117 & STREAMICE_vel_ext,
0118 & STREAMICE_vel_ext_cgrid,
0119 & STREAMICE_uvel_ext_file,
0120 & STREAMICE_vvel_ext_file,
96b006450c dngo*0121 & STREAMICEBdotDepthFile,
0122 & STREAMICEBdotMaxMeltFile,
0123 & STREAMICE_shelf_dhdt_ctrl,
1cb54b8236 Dani*0124 #ifdef STREAMICE_FLOWLINE_BUTTRESS
0125 & streamice_buttr_width,
0126 & useStreamiceFlowlineButtr,
0127 #endif
d2cdb9260d Dani*0128 & STREAMICE_allow_cpl
d82c08285f Dani*0129 #ifdef ALLOW_OPENAD
0130 & ,streamice_smooth_thick_adjoint
0131 #endif
5ca83cd8f7 Dani*0132
0133 #ifdef ALLOW_STREAMICE_2DTRACER
0134 NAMELIST /STREAMICE_PARMTRACER/
0135 & STREAMICETrac2DBCxFile,
0136 & STREAMICETrac2DBCyFile,
0137 & STREAMICETrac2DINITFile
0138 #endif
0139
0140 #ifdef ALLOW_PETSC
0141 NAMELIST /STREAMICE_PARMPETSC/
07e785229e dngo*0142 & PETSC_PRECOND_TYPE, PETSC_SOLVER_TYPE,
0143 & streamice_use_petsc, streamice_maxnliter_petsc,
0144 & streamice_petsc_pcfactorlevels
5ca83cd8f7 Dani*0145 #endif
0146
feb7fa5d1e dngo*0147 #ifdef ALLOW_STREAMICE_FP_ADJ
07e785229e dngo*0148 NAMELIST /STREAMICE_PARMOAD/
0fbff46b46 dngo*0149 & streamice_nonlin_tol_adjoint,
0150 & streamice_nonlin_tol_adjoint_rl
729bb43bca Dani*0151 #ifdef ALLOW_PETSC
07e785229e dngo*0152 & ,STREAMICE_OAD_petsc_reuse,
729bb43bca Dani*0153 & PETSC_PRECOND_OAD
0154 #endif
0155 #endif
0156
96b006450c dngo*0157 #ifdef ALLOW_COST_STREAMICE
0158 NAMELIST /STREAMICE_COST/
0159 & STREAMICEvelOptimSnapBasename,
0160 & STREAMICEvelOptimTCBasename,
0161 & STREAMICEsurfOptimTCBasename,
0162 & STREAMICEBglenCostMaskFile,
0163 & streamice_wgt_drift,
0164 & streamice_wgt_vel,
0165 & streamice_wgt_vel_norm,
0166 & streamice_wgt_surf,
0167 & streamice_wgt_tikh_beta,
0168 & streamice_wgt_tikh_bglen,
0169 & streamice_wgt_tikh_gen,
0170 & streamice_wgt_prior_bglen,
0171 & streamice_wgt_prior_gen,
0172 & STREAMICE_do_snapshot_cost,
0173 & STREAMICE_do_timedep_cost,
0174 & STREAMICE_do_verification_cost,
0175 & STREAMICE_do_vaf_cost
0176 #ifdef ALLOW_STREAMICE_TC_COST
0177 & ,streamice_vel_cost_timesteps,
0178 & streamice_surf_cost_timesteps
0179 #endif
0180 #endif
0181
07e785229e dngo*0182
0183
0184
0185
0186
0187
5ca83cd8f7 Dani*0188
0189 NAMELIST /STREAMICE_PARM02/
0190 & shelf_max_draft,
0191 & shelf_min_draft,
0192 & shelf_edge_pos,
0193 & shelf_slope_scale,
0194 & shelf_flat_width,
0195 & flow_dir
0196
0197 NAMELIST /STREAMICE_PARM03/
0198 & min_x_noflow_NORTH, max_x_noflow_NORTH,
0199 & min_x_noflow_SOUTH, max_x_noflow_SOUTH,
0200 & min_y_noflow_WEST, max_y_noflow_WEST,
0201 & min_y_noflow_EAST, max_y_noflow_EAST,
0202 & min_x_noStress_NORTH, max_x_noStress_NORTH,
0203 & min_x_noStress_SOUTH, max_x_noStress_SOUTH,
0204 & min_y_noStress_WEST, max_y_noStress_WEST,
0205 & min_y_noStress_EAST, max_y_noStress_EAST,
0206 & min_x_FluxBdry_NORTH, max_x_FluxBdry_NORTH,
0207 & min_x_FluxBdry_SOUTH, max_x_FluxBdry_SOUTH,
0208 & min_y_FluxBdry_WEST, max_y_FluxBdry_WEST,
0209 & min_y_FluxBdry_EAST, max_y_FluxBdry_EAST,
0210 & min_x_Dirich_NORTH, max_x_Dirich_NORTH,
0211 & min_x_Dirich_SOUTH, max_x_Dirich_SOUTH,
0212 & min_y_Dirich_WEST, max_y_Dirich_WEST,
0213 & min_y_Dirich_EAST, max_y_Dirich_EAST,
0214 & min_x_CFBC_NORTH, max_x_CFBC_NORTH,
0215 & min_x_CFBC_SOUTH, max_x_CFBC_SOUTH,
0216 & min_y_CFBC_WEST, max_y_CFBC_WEST,
0217 & min_y_CFBC_EAST, max_y_CFBC_EAST,
0218 & flux_bdry_val_SOUTH, flux_bdry_val_NORTH,
0219 & flux_bdry_val_WEST, flux_bdry_val_EAST,
0220 & STREAMICE_NS_periodic, STREAMICE_EW_periodic
0221
02e2d7ff52 Jean*0222
0223
0224 IF ( .NOT.useStreamIce ) THEN
0225
0226 _BEGIN_MASTER(myThid)
0227
0228 STREAMICEisOn = .FALSE.
0229
0230 CALL PACKAGES_UNUSED_MSG( 'useStreamIce', ' ', ' ' )
0231 _END_MASTER(myThid)
0232 RETURN
0233 ENDIF
0234
5ca83cd8f7 Dani*0235 _BEGIN_MASTER(myThid)
0236
02e2d7ff52 Jean*0237
0238
0239 STREAMICEisOn = .TRUE.
0240
5ca83cd8f7 Dani*0241
0242
02e2d7ff52 Jean*0243 streamice_density = 917.
5ca83cd8f7 Dani*0244 streamice_density_ocean_avg = 1024.
07e785229e dngo*0245 streamice_density_firn = streamice_density
5ca83cd8f7 Dani*0246 B_glen_isothermal = 9.461e-18
0247 n_glen = 3.
0248 eps_glen_min = 1.0e-12
0249 eps_u_min = 1.0e-6
0250 C_basal_fric_const = 31.71
07e785229e dngo*0251 n_basal_friction = -1.
d2cdb9260d Dani*0252 streamice_vel_update = deltaT
5ca83cd8f7 Dani*0253 streamice_cg_tol = 1e-6
0254 streamice_nonlin_tol = 1e-6
0255 streamice_nonlin_tol_fp = 1.e-14
bbd6229661 Dani*0256 streamice_err_norm = 0.
feb7fa5d1e dngo*0257 #ifdef ALLOW_STREAMICE_FP_ADJ
95afe7199b Dani*0258 streamice_nonlin_tol_adjoint = 1.e-14
0fbff46b46 dngo*0259 streamice_nonlin_tol_adjoint_rl = 1.e-14
729bb43bca Dani*0260 #ifdef ALLOW_PETSC
0261 PETSC_PRECOND_OAD = 'MUMPS'
0262 STREAMICE_OAD_petsc_reuse =.false.
0263 #endif
95afe7199b Dani*0264 #endif
5ca83cd8f7 Dani*0265 streamice_max_cg_iter = 2000
0266 streamice_max_nl_iter = 100
07e785229e dngo*0267 streamice_maxnliter_petsc = -1
d2cdb9260d Dani*0268 streamice_maxcgiter_cpl = 0
0269 streamice_maxnliter_cpl = 0
07e785229e dngo*0270 streamice_petsc_pcfactorlevels = 0
d82c08285f Dani*0271 #ifdef ALLOW_OPENAD
0272 streamice_smooth_thick_adjoint = 0
0273 #endif
07e785229e dngo*0274
5ca83cd8f7 Dani*0275 streamice_CFL_factor = .5
0276 streamice_adjDump = 0.
0277 streamice_bg_surf_slope_x = .0
0278 streamice_bg_surf_slope_y = 0.
0279 streamice_kx_b_init = 1.
0280 streamice_ky_b_init = 1.
0281 streamice_addl_backstress = 0.0
0282 streamice_smooth_gl_width = 0.0
0283 streamice_adot_uniform = 0.0
52d1822301 Dani*0284 streamice_forcing_period = 0
e4cfce0a6c Dani*0285 streamice_firn_correction = 0.
96b006450c dngo*0286 streamice_bdot_depth_nomelt = 0.
0287 streamice_bdot_depth_maxmelt = 0.
0288 streamice_bdot_maxmelt = 0.
0289 streamice_bdot_exp = 1.
0290
1cb54b8236 Dani*0291 #ifdef STREAMICE_FLOWLINE_BUTTRESS
0292 streamice_buttr_width = 1000000000.
0293 #endif
e4cfce0a6c Dani*0294 STREAMICE_apply_firn_correction = .false.
07e785229e dngo*0295
5ca83cd8f7 Dani*0296 STREAMICEthickInit = 'FILE'
0297 STREAMICEthickFile = ' '
0298 STREAMICEcalveMaskFile = ' '
0299 STREAMICEsigcoordInit = 'UNIFORM'
0300 STREAMICEsigcoordFile = ' '
0301 STREAMICEbasalTracConfig = 'UNIFORM'
0a8c8b23d7 Dani*0302 STREAMICEBdotConfig = ''
07e785229e dngo*0303 STREAMICEAdotConfig = ''
0a8c8b23d7 Dani*0304 STREAMICEBdotFile = ''
07e785229e dngo*0305 STREAMICEAdotFile = ''
52d1822301 Dani*0306 STREAMICEBdotTimeDepFile = ' '
5ca83cd8f7 Dani*0307 STREAMICEbasalTracFile = ' '
0308 STREAMICEtopogFile = ''
0309 STREAMICEhmaskFile = ''
0310 STREAMICEHBCyFile = ''
0311 STREAMICEHBCxFile = ''
7924606b84 Dani*0312 STREAMICEuNormalStressFile = ''
0313 STREAMICEvNormalStressFile = ''
0314 STREAMICEuShearStressFile = ''
0315 STREAMICEvShearStressFile = ''
52d1822301 Dani*0316 STREAMICEuNormalTimeDepFile = ' '
0317 STREAMICEvNormalTimeDepFile = ' '
0318 STREAMICEuShearTimeDepFile = ' '
0319 STREAMICEvShearTimeDepFile = ' '
2a16ced2f5 Dani*0320 STREAMICEuFluxTimeDepFile = ' '
0321 STREAMICEvFluxTimeDepFile = ' '
0fbff46b46 dngo*0322 STREAMICE_vvel_ext_file = ' '
0323 STREAMICE_uvel_ext_file = ' '
96b006450c dngo*0324 bdotMaxmeltTimeDepFile = ' '
0325 bglenTimeDepFile = ' '
0326 cfricTimeDepFile = ' '
7924606b84 Dani*0327
5ca83cd8f7 Dani*0328 #ifdef ALLOW_STREAMICE_2DTRACER
0329 STREAMICETrac2DBCxFile = ''
0330 STREAMICETrac2DBCyFile = ''
0331 STREAMICETrac2DInitFile = ''
0332 #endif
0333 STREAMICEuFaceBdryFile = ''
0334 STREAMICEvFaceBdryFile = ''
0335 STREAMICEuDirichValsFile = ''
0336 STREAMICEvDirichValsFile = ''
7924606b84 Dani*0337 STREAMICEuMassFluxFile = ''
0338 STREAMICEvMassFluxFile = ''
5ca83cd8f7 Dani*0339 STREAMICEGlenConstFile = ''
0340 STREAMICEcostMaskFile = ''
0341 STREAMICEGlenConstConfig = 'UNIFORM'
0342 #ifdef ALLOW_PETSC
0343 PETSC_PRECOND_TYPE = 'PCBJACOBI'
0344 PETSC_SOLVER_TYPE = 'KSPCG'
8a34959769 dngo*0345 streamice_use_petsc = .false.
5ca83cd8f7 Dani*0346 #endif
0347 STREAMICE_ADV_SCHEME = ''
96b006450c dngo*0348 STREAMICEBdotDepthFile = ''
0349 STREAMICEBdotMaxMeltFile = ''
5ca83cd8f7 Dani*0350
07e785229e dngo*0351
0352
0353
0354
0355
0356
0357
0358
0359
0360
5ca83cd8f7 Dani*0361
0362 STREAMICE_tave_mdsio = .TRUE.
0363 STREAMICE_dump_mdsio = .TRUE.
02e2d7ff52 Jean*0364 STREAMICE_dump_mnc = .FALSE.
5ca83cd8f7 Dani*0365 STREAMICE_tave_mnc = .FALSE.
07e785229e dngo*0366
5ca83cd8f7 Dani*0367 STREAMICE_move_front = .FALSE.
0368 STREAMICE_calve_to_mask = .FALSE.
07e785229e dngo*0369
0370
5ca83cd8f7 Dani*0371 STREAMICE_lower_cg_tol = .FALSE.
0372 STREAMICE_diagnostic_only = .FALSE.
1cb54b8236 Dani*0373 #ifdef STREAMICE_FLOWLINE_BUTTRESS
0374 useStreamiceFlowlineButtr=.FALSE.
0375 #endif
5ca83cd8f7 Dani*0376 STREAMICE_ppm_driving_stress = .FALSE.
d2cdb9260d Dani*0377 STREAMICE_chkfixedptconvergence = .true.
0378 STREAMICE_chkresidconvergence = .true.
29d9814714 Dani*0379 STREAMICE_alt_driving_stress = .FALSE.
07e785229e dngo*0380 STREAMICE_allow_reg_coulomb = .FALSE.
5ca83cd8f7 Dani*0381 STREAMICE_h_ctrl_const_surf = .FALSE.
96b006450c dngo*0382 STREAMICE_shelf_dhdt_ctrl = .FALSE.
d2cdb9260d Dani*0383 STREAMICE_allow_cpl = .false.
0fbff46b46 dngo*0384 STREAMICE_use_log_ctrl = .false.
0385 STREAMICE_vel_ext = .FALSE.
0386 STREAMICE_vel_ext_cgrid = .FALSE.
07e785229e dngo*0387
5ca83cd8f7 Dani*0388
96b006450c dngo*0389 STREAMICEvelOptimSnapBasename = ''
0390 STREAMICEvelOptimTCBasename = ''
0391 STREAMICEsurfOptimTCBasename = ''
0392 STREAMICEBglenCostMaskFile = ''
0393 streamice_wgt_drift = 0.
0394 streamice_wgt_tikh_beta = 0.
0395 streamice_wgt_vel_norm = 0.
0396 streamice_wgt_tikh_bglen = 0.
0397 streamice_wgt_tikh_gen = 0.
0398 streamice_wgt_prior_bglen = 0.
0399 streamice_wgt_prior_gen = 0.
0400 STREAMICE_do_snapshot_cost = .false.
0401 STREAMICE_do_timedep_cost = .false.
0402 STREAMICE_do_verification_cost = .false.
0403 STREAMICE_do_vaf_cost = .false.
0404 #ifdef ALLOW_STREAMICE_TC_COST
0405 do iarr = 1, streamiceMaxCostLevel
0406 streamice_vel_cost_timesteps(iarr) = -1
0407 streamice_surf_cost_timesteps(iarr) = -1
0408 enddo
0409 #endif
0410
5ca83cd8f7 Dani*0411 min_x_noflow_NORTH = 0.
0412 max_x_noflow_NORTH = 0.
0413 min_x_noflow_SOUTH = 0.
0414 max_x_noflow_SOUTH = 0.
0415 min_y_noflow_WEST = 0.
0416 max_y_noflow_WEST = 0.
0417 min_y_noflow_EAST = 0.
0418 max_y_noflow_EAST = 0.
0419 min_x_noStress_NORTH = 0.
0420 max_x_noStress_NORTH = 0.
0421 min_x_noStress_SOUTH = 0.
0422 max_x_noStress_SOUTH = 0.
0423 min_y_noStress_WEST = 0.
0424 max_y_noStress_WEST = 0.
0425 min_y_noStress_EAST = 0.
0426 max_y_noStress_EAST = 0.
0427 min_x_FluxBdry_NORTH = 0.
0428 max_x_FluxBdry_NORTH = 0.
0429 min_x_FluxBdry_SOUTH = 0.
0430 max_x_FluxBdry_SOUTH = 0.
0431 min_y_FluxBdry_WEST = 0.
0432 max_y_FluxBdry_WEST = 0.
0433 min_y_FluxBdry_EAST = 0.
0434 max_y_FluxBdry_EAST = 0.
0435 min_x_Dirich_NORTH = 0.
0436 max_x_Dirich_NORTH = 0.
0437 min_x_Dirich_SOUTH = 0.
0438 max_x_Dirich_SOUTH = 0.
0439 min_y_Dirich_WEST = 0.
0440 max_y_Dirich_WEST = 0.
0441 min_y_Dirich_EAST = 0.
0442 max_y_Dirich_EAST = 0.
0443 min_y_CFBC_WEST = 0.
0444 max_y_CFBC_WEST = 0.
0445 min_y_CFBC_EAST = 0.
0446 max_y_CFBC_EAST = 0.
0447 flux_bdry_val_SOUTH = 0.
0448 flux_bdry_val_NORTH = 0.
0449 flux_bdry_val_WEST = 0.
0450 flux_bdry_val_EAST = 0.
0451
0452 STREAMICE_NS_periodic = .FALSE.
02e2d7ff52 Jean*0453 STREAMICE_EW_periodic = .FALSE.
5ca83cd8f7 Dani*0454
0455 WRITE(msgBuf,'(A)') 'STREAMICE_READPARMS: opening data.streamice'
0456 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0457 & SQUEEZE_RIGHT , 1)
0458 CALL OPEN_COPY_DATA_FILE(
0459 I 'data.streamice', 'STREAMICE_READPARMS',
0460 O iUnit,
0461 I myThid )
0462
0463
0464 READ(UNIT=iUnit,NML=STREAMICE_PARM01)
0465 WRITE(msgBuf,'(A)')
0466 & 'STREAMICE_READPARMS: read first param block'
0467 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0468 & SQUEEZE_RIGHT , 1)
0469
0470 IF (TRIM(STREAMICEthickInit) .eq. "PARAM") THEN
0471 READ(UNIT=iUnit,NML=STREAMICE_PARM02)
0472 WRITE(msgBuf,'(A)')
0473 & 'STREAMICE_READPARMS: read second param block'
0474 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0475 & SQUEEZE_RIGHT , 1)
0476 ENDIF
0477
0478 #ifdef ALLOW_STREAMICE_2DTRACER
0479 READ(UNIT=iUnit,NML=STREAMICE_PARMTRACER)
0480 WRITE(msgBuf,'(A)')
0481 & 'STREAMICE_READPARMS: read tracer param block'
0482 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0483 & SQUEEZE_RIGHT , 1)
0484 #endif
0485
0486 #ifdef ALLOW_PETSC
0487 READ(UNIT=iUnit,NML=STREAMICE_PARMPETSC)
0488 WRITE(msgBuf,'(A)')
0489 & 'STREAMICE_READPARMS: read petsc param block'
0490 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0491 & SQUEEZE_RIGHT , 1)
0492 #endif
0493
feb7fa5d1e dngo*0494 #ifdef ALLOW_STREAMICE_FP_ADJ
729bb43bca Dani*0495 READ(UNIT=iUnit,NML=STREAMICE_PARMOAD)
0496 WRITE(msgBuf,'(A)')
0497 & 'STREAMICE_READPARMS: read oad parm block'
0498 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0499 & SQUEEZE_RIGHT , 1)
0500 #endif
0501
96b006450c dngo*0502 #if (defined (ALLOW_COST_STREAMICE))
0503
0504 READ(UNIT=iUnit,NML=STREAMICE_COST)
0505 WRITE(msgBuf,'(A)')
0506 & 'STREAMICE_READPARMS: read cost param block'
0507 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0508 & SQUEEZE_RIGHT , 1)
0509 #endif
0510
0511 #ifndef STREAMICE_GEOM_FILE_SETUP
5ca83cd8f7 Dani*0512 READ(UNIT=iUnit,NML=STREAMICE_PARM03)
0513 WRITE(msgBuf,'(A)')
96b006450c dngo*0514 & 'STREAMICE_READPARMS: read bound condn block'
5ca83cd8f7 Dani*0515 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0516 & SQUEEZE_RIGHT , 1)
96b006450c dngo*0517 #endif
7a77863887 Mart*0518 #ifdef SINGLE_DISK_IO
5ca83cd8f7 Dani*0519 CLOSE(iUnit)
7a77863887 Mart*0520 #else
0521 CLOSE(iUnit,STATUS='DELETE')
0522 #endif /* SINGLE_DISK_IO */
5ca83cd8f7 Dani*0523
07e785229e dngo*0524
0525
0526
0527
0528
0529
0530
0531
0532
0533
0534
0535
0536
0537
0538
0539
0540
0541
5ca83cd8f7 Dani*0542
0543 streamice_nstep_velocity = NINT (streamice_vel_update / deltaT)
0544
0545
02e2d7ff52 Jean*0546
5ca83cd8f7 Dani*0547 #ifdef ALLOW_MNC
0548 IF (useMNC) THEN
0549 IF ( .NOT.outputTypesInclusive
0550 & .AND. STREAMICE_tave_mnc ) STREAMICE_tave_mdsio = .FALSE.
0551 IF ( .NOT.outputTypesInclusive
0552 & .AND. STREAMICE_dump_mnc ) STREAMICE_dump_mdsio = .FALSE.
0553 ENDIF
0554 #endif
0555
07e785229e dngo*0556 #ifdef ALLOW_PETSC
0557 IF (streamice_maxnliter_petsc.eq.-1) then
0558 streamice_maxnliter_petsc = streamice_max_nl_iter
0559 ENDIF
0560 #endif
0561
5ca83cd8f7 Dani*0562 _END_MASTER(myThid)
0563
0564
0565 _BARRIER
0566
0567 #endif /* ALLOW_STREAMICE */
0568
0569 RETURN
0570 END