- Timestamp:
- 2020-10-21T17:14:23+02:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.2_IODRAG/src/OCE/ZDF/zdfdrg.F90
r12658 r13658 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 48 49 LOGICAL , PUBLIC :: ln_drgice_imp ! implicit ice-ocean drag 49 50 ! !!* Namelist namdrg_top & _bot: TOP or BOTTOM coefficient namelist * 50 51 REAL(wp) :: rn_Cd0 !: drag coefficient [ - ] … … 231 232 INTEGER :: ios, ioptio ! local integers 232 233 !! 233 NAMELIST/namdrg/ ln_OFF, ln_lin, ln_non_lin, ln_loglayer, ln_drgimp 234 NAMELIST/namdrg/ ln_OFF, ln_lin, ln_non_lin, ln_loglayer, ln_drgimp, ln_drgice_imp 234 235 !!---------------------------------------------------------------------- 235 236 ! … … 254 255 WRITE(numout,*) ' logarithmic drag: Cd = vkarmn/log(z/z0) ln_loglayer = ', ln_loglayer 255 256 WRITE(numout,*) ' implicit friction ln_drgimp = ', ln_drgimp 257 WRITE(numout,*) ' implicit ice-ocean drag ln_drgice_imp =', ln_drgice_imp 256 258 ENDIF 257 259 ! … … 264 266 IF( ioptio /= 1 ) CALL ctl_stop( 'zdf_drg_init: Choose ONE type of drag coef in namdrg' ) 265 267 ! 268 IF ( ln_drgice_imp.AND.(.NOT.ln_drgimp) ) & 269 & CALL ctl_stop( 'zdf_drg_init: ln_drgice_imp=T requires ln_drgimp=T' ) 270 ! 271 IF ( ln_drgice_imp.AND.( nn_ice /=2 ) ) & 272 & CALL ctl_stop( 'zdf_drg_init: ln_drgice_imp=T requires si3' ) 266 273 ! 267 274 ! !== BOTTOM drag setting ==! (applied at seafloor) … … 274 281 ! !== TOP drag setting ==! (applied at the top of ocean cavities) 275 282 ! 276 IF( ln_isfcav ) THEN ! Ocean cavities: top friction setting 277 ALLOCATE( rCd0_top(jpi,jpj), rCdU_top(jpi,jpj) ) 283 IF( ln_isfcav.OR.ln_drgice_imp ) THEN ! Ocean cavities: top friction setting 284 ALLOCATE( rCdU_top(jpi,jpj) ) 285 ENDIF 286 ! 287 IF( ln_isfcav ) THEN 288 ALLOCATE( rCd0_top(jpi,jpj)) 278 289 CALL drg_init( 'TOP ' , mikt , & ! <== in 279 290 & 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.