- Timestamp:
- 2020-10-23T19:23:00+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.1_implicit_ice_drag/src/OCE/ZDF/zdfdrg.F90
r11715 r13669 32 32 USE lib_mpp ! distributed memory computing 33 33 USE prtctl ! Print control 34 USE sbc_oce, ONLY: nn_ice 34 35 35 36 IMPLICIT NONE … … 46 47 LOGICAL :: ln_loglayer ! logarithmic drag: Cd = vkarmn/log(z/z0) 47 48 LOGICAL , PUBLIC :: ln_drgimp ! implicit top/bottom friction flag 49 LOGICAL , PUBLIC :: ln_drgice_imp ! implicit ice-ocean drag 48 50 49 51 ! !!* Namelist namdrg_top & _bot: TOP or BOTTOM coefficient namelist * … … 231 233 INTEGER :: ios, ioptio ! local integers 232 234 !! 233 NAMELIST/namdrg/ ln_OFF, ln_lin, ln_non_lin, ln_loglayer, ln_drgimp 235 NAMELIST/namdrg/ ln_OFF, ln_lin, ln_non_lin, ln_loglayer, ln_drgimp, ln_drgice_imp 234 236 !!---------------------------------------------------------------------- 235 237 ! … … 254 256 WRITE(numout,*) ' logarithmic drag: Cd = vkarmn/log(z/z0) ln_loglayer = ', ln_loglayer 255 257 WRITE(numout,*) ' implicit friction ln_drgimp = ', ln_drgimp 258 WRITE(numout,*) ' implicit ice-ocean drag ln_drgice_imp =', ln_drgice_imp 256 259 ENDIF 257 260 ! … … 264 267 IF( ioptio /= 1 ) CALL ctl_stop( 'zdf_drg_init: Choose ONE type of drag coef in namdrg' ) 265 268 ! 269 IF ( ln_drgice_imp.AND.(.NOT.ln_drgimp) ) & 270 & CALL ctl_stop( 'zdf_drg_init: ln_drgice_imp=T requires ln_drgimp=T' ) 271 ! 272 IF ( ln_drgice_imp.AND.( nn_ice /=2 ) ) & 273 & CALL ctl_stop( 'zdf_drg_init: ln_drgice_imp=T requires si3' ) 266 274 ! 267 275 ! !== BOTTOM drag setting ==! (applied at seafloor) … … 274 282 ! !== TOP drag setting ==! (applied at the top of ocean cavities) 275 283 ! 276 IF( ln_isfcav ) THEN ! Ocean cavities: top friction setting 277 ALLOCATE( rCd0_top(jpi,jpj), rCdU_top(jpi,jpj) ) 284 IF( ln_isfcav.OR.ln_drgice_imp ) THEN ! Ocean cavities: top friction setting 285 ALLOCATE( rCdU_top(jpi,jpj) ) 286 ENDIF 287 ! 288 IF( ln_isfcav ) THEN 289 ALLOCATE( rCd0_top(jpi,jpj) ) 278 290 CALL drg_init( 'TOP ' , mikt , & ! <== in 279 291 & r_Cdmin_top, r_Cdmax_top, r_z0_top, r_ke0_top, rCd0_top, rCdU_top ) ! ==> out
Note: See TracChangeset
for help on using the changeset viewer.