- Timestamp:
- 2017-09-15T20:07:33+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceforcing.F90
r8514 r8531 30 30 PRIVATE 31 31 32 PUBLIC ice_forcing_tau ! routine called by icestp.F90 33 PUBLIC ice_forcing_flx ! routine called by icestp.F90 32 PUBLIC ice_forcing_tau ! called by icestp.F90 33 PUBLIC ice_forcing_flx ! called by icestp.F90 34 PUBLIC ice_forcing_init ! called by icestp.F90 34 35 35 36 !! * Substitutions … … 257 258 END SUBROUTINE ice_flx_dist 258 259 260 SUBROUTINE ice_forcing_init 261 !!------------------------------------------------------------------- 262 !! *** ROUTINE ice_forcing_init *** 263 !! 264 !! ** Purpose : Physical constants and parameters linked to the ice 265 !! dynamics 266 !! 267 !! ** Method : Read the namforcing namelist and check the ice-dynamic 268 !! parameter values called at the first timestep (nit000) 269 !! 270 !! ** input : Namelist namforcing 271 !!------------------------------------------------------------------- 272 INTEGER :: ios, ioptio ! Local integer output status for namelist read 273 !! 274 NAMELIST/namforcing/ rn_cio, rn_blow_s, nn_iceflx 275 !!------------------------------------------------------------------- 276 ! 277 REWIND( numnam_ice_ref ) ! Namelist namforcing in reference namelist : Ice dynamics 278 READ ( numnam_ice_ref, namforcing, IOSTAT = ios, ERR = 901) 279 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namforcing in reference namelist', lwp ) 280 ! 281 REWIND( numnam_ice_cfg ) ! Namelist namforcing in configuration namelist : Ice dynamics 282 READ ( numnam_ice_cfg, namforcing, IOSTAT = ios, ERR = 902 ) 283 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namforcing in configuration namelist', lwp ) 284 IF(lwm) WRITE ( numoni, namforcing ) 285 ! 286 IF(lwp) THEN ! control print 287 WRITE(numout,*) 288 WRITE(numout,*) 'ice_forcing_init: ice parameters for ice dynamics ' 289 WRITE(numout,*) '~~~~~~~~~~~~~~~' 290 WRITE(numout,*) ' Namelist namforcing:' 291 WRITE(numout,*) ' drag coefficient for oceanic stress rn_cio = ', rn_cio 292 WRITE(numout,*) ' coefficient for ice-lead partition of snowfall rn_blow_s = ', rn_blow_s 293 WRITE(numout,*) ' Multicategory heat flux formulation nn_iceflx = ', nn_iceflx 294 ENDIF 295 ! 296 IF(lwp) WRITE(numout,*) 297 SELECT CASE( nn_iceflx ) ! ESIM Multi-category heat flux formulation 298 CASE( -1 ) 299 IF(lwp) WRITE(numout,*) ' ESIM: use per-category fluxes (nn_iceflx = -1) ' 300 IF( ln_cpl ) CALL ctl_stop( 'ice_thd_init : the chosen nn_iceflx for ESIM in coupled mode must be 0 or 2' ) 301 CASE( 0 ) 302 IF(lwp) WRITE(numout,*) ' ESIM: use average per-category fluxes (nn_iceflx = 0) ' 303 CASE( 1 ) 304 IF(lwp) WRITE(numout,*) ' ESIM: use average then redistribute per-category fluxes (nn_iceflx = 1) ' 305 IF( ln_cpl ) CALL ctl_stop( 'ice_thd_init : the chosen nn_iceflx for ESIM in coupled mode must be 0 or 2' ) 306 CASE( 2 ) 307 IF(lwp) WRITE(numout,*) ' ESIM: Redistribute a single flux over categories (nn_iceflx = 2) ' 308 IF( .NOT. ln_cpl ) CALL ctl_stop( 'ice_thd_init : the chosen nn_iceflx for ESIM in forced mode cannot be 2' ) 309 CASE DEFAULT 310 CALL ctl_stop( 'ice_thd_init: ESIM option, nn_iceflx, should be between -1 and 2' ) 311 END SELECT 312 ! 313 END SUBROUTINE ice_forcing_init 314 259 315 #else 260 316 !!----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.