- Timestamp:
- 2017-07-11T20:33:18+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
r8316 r8321 33 33 USE sbcblk ! surface boundary condition: bulk formulation 34 34 USE sbcice_if ! surface boundary condition: ice-if sea-ice model 35 USE sbcice_lim ! surface boundary condition: LIM 3.0 sea-ice model 35 #if defined key_lim3 36 USE icestp ! surface boundary condition: LIM 3.0 sea-ice model 37 #endif 36 38 USE sbcice_cice ! surface boundary condition: CICE sea-ice model 37 39 USE sbcisf ! surface boundary condition: ice-shelf … … 89 91 NAMELIST/namsbc/ nn_fsbc , & 90 92 & ln_usr , ln_flx , ln_blk , & 91 & ln_cpl , ln_mixcpl, nn_components, nn_limflx,&93 & ln_cpl , ln_mixcpl, nn_components, & 92 94 & nn_ice , ln_ice_embd, & 93 95 & ln_traqsr, ln_dm2dc , & … … 137 139 WRITE(numout,*) ' OASIS coupling (with atm or sas) lk_oasis = ', lk_oasis 138 140 WRITE(numout,*) ' components of your executable nn_components = ', nn_components 139 WRITE(numout,*) ' Multicategory heat flux formulation (LIM3) nn_limflx = ', nn_limflx140 141 WRITE(numout,*) ' Sea-ice : ' 141 142 WRITE(numout,*) ' ice management in the sbc (=0/1/2/3) nn_ice = ', nn_ice … … 205 206 END SELECT 206 207 ! 207 IF( nn_ice == 2 ) THEN !- LIM3 case: multi-category flux option208 IF(lwp) WRITE(numout,*)209 SELECT CASE( nn_limflx ) ! LIM3 Multi-category heat flux formulation210 CASE ( -1 )211 IF(lwp) WRITE(numout,*) ' LIM3: use per-category fluxes (nn_limflx = -1) '212 IF( ln_cpl ) CALL ctl_stop( 'sbc_init : the chosen nn_limflx for LIM3 in coupled mode must be 0 or 2' )213 CASE ( 0 )214 IF(lwp) WRITE(numout,*) ' LIM3: use average per-category fluxes (nn_limflx = 0) '215 CASE ( 1 )216 IF(lwp) WRITE(numout,*) ' LIM3: use average then redistribute per-category fluxes (nn_limflx = 1) '217 IF( ln_cpl ) CALL ctl_stop( 'sbc_init : the chosen nn_limflx for LIM3 in coupled mode must be 0 or 2' )218 CASE ( 2 )219 IF(lwp) WRITE(numout,*) ' LIM3: Redistribute a single flux over categories (nn_limflx = 2) '220 IF( .NOT.ln_cpl ) CALL ctl_stop( 'sbc_init : the chosen nn_limflx for LIM3 in forced mode cannot be 2' )221 CASE DEFAULT222 CALL ctl_stop( 'sbcmod: LIM3 option, nn_limflx, should be between -1 and 2' )223 END SELECT224 ELSE ! other sea-ice model225 IF( nn_limflx >= 0 ) CALL ctl_warn( 'sbc_init : multi-category flux option (nn_limflx) only available in LIM3' )226 ENDIF227 !228 208 ! !** allocate and set required variables 229 209 ! … … 325 305 CALL sbc_rnf_init ! Runof initialization 326 306 ! 307 #if defined key_lim3 327 308 IF ( lk_agrif .AND. nn_ice == 0 ) THEN 328 309 IF( sbc_ice_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'sbc_ice_alloc : unable to allocate arrays' ) ! clem2017: allocate ice arrays in case agrif + lim + no-ice in child grid 329 ELSEIF( nn_ice == 2 ) THEN ; CALL sbc_lim_init ! LIM3 initialization 330 ELSEIF( nn_ice == 3 ) THEN ; CALL cice_sbc_init( nsbc ) ! CICE initialization 331 ENDIF 310 ELSEIF( nn_ice == 2 ) THEN ; CALL ice_init ! LIM3 initialization 311 ENDIF 312 #endif 313 IF ( nn_ice == 3 ) CALL cice_sbc_init( nsbc ) ! CICE initialization 332 314 ! 333 315 IF( ln_wave ) CALL sbc_wave_init ! surface wave initialisation … … 420 402 ! 421 403 SELECT CASE( nn_ice ) ! Update heat and freshwater fluxes over sea-ice areas 422 CASE( 1 ) ; CALL sbc_ice_if ( kt ) ! Ice-cover climatology ("Ice-if" model) 423 CASE( 2 ) ; CALL sbc_ice_lim ( kt, nsbc ) ! LIM-3 ice model 424 CASE( 3 ) ; CALL sbc_ice_cice ( kt, nsbc ) ! CICE ice model 404 CASE( 1 ) ; CALL sbc_ice_if ( kt ) ! Ice-cover climatology ("Ice-if" model) 405 #if defined key_lim3 406 CASE( 2 ) ; CALL ice_stp ( kt, nsbc ) ! LIM-3 ice model 407 #endif 408 CASE( 3 ) ; CALL sbc_ice_cice ( kt, nsbc ) ! CICE ice model 425 409 END SELECT 426 410
Note: See TracChangeset
for help on using the changeset viewer.