- Timestamp:
- 2017-09-27T16:29:24+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90
r8215 r8568 159 159 !! Bruchard OM 2002 160 160 !!---------------------------------------------------------------------- 161 INTEGER 161 INTEGER , INTENT(in ) :: kt ! ocean time step 162 162 REAL(wp), DIMENSION(:,:,:), INTENT(in ) :: p_sh2 ! shear production term 163 REAL(wp), DIMENSION(:,:,:) 163 REAL(wp), DIMENSION(:,:,:), INTENT(inout) :: p_avm, p_avt ! momentum and tracer Kz (w-points) 164 164 !!---------------------------------------------------------------------- 165 165 ! … … 194 194 !! a tridiagonal linear system by a "methode de chasse" 195 195 !! - increase TKE due to surface and internal wave breaking 196 !! NB: when sea-ice is present, both LC parameterization 197 !! and TKE penetration are turned off when the ice fraction 198 !! is smaller than 0.25 196 199 !! 197 200 !! ** Action : - en : now turbulent kinetic energy) … … 217 220 !!-------------------------------------------------------------------- 218 221 ! 219 IF( nn_timing == 1 )CALL timing_start('tke_tke')222 IF( ln_timing ) CALL timing_start('tke_tke') 220 223 ! 221 224 zbbrau = rn_ebb / rau0 ! Local constant initialisation … … 312 315 zwlc = zind * rn_lc * zus * SIN( rpi * pdepw(ji,jj,jk) / zhlc(ji,jj) ) 313 316 ! ! TKE Langmuir circulation source term 314 en(ji,jj,jk) = en(ji,jj,jk) + rdt * MAX(0.,1._wp - 2.*fr_i(ji,jj) ) * ( zwlc * zwlc * zwlc ) &317 en(ji,jj,jk) = en(ji,jj,jk) + rdt * MAX(0.,1._wp - 4.*fr_i(ji,jj) ) * ( zwlc * zwlc * zwlc ) & 315 318 & / zhlc(ji,jj) * wmask(ji,jj,jk) * tmask(ji,jj,1) 316 319 END DO … … 415 418 DO ji = fs_2, fs_jpim1 ! vector opt. 416 419 en(ji,jj,jk) = en(ji,jj,jk) + rn_efr * en(ji,jj,1) * EXP( -pdepw(ji,jj,jk) / htau(ji,jj) ) & 417 & * MAX(0.,1._wp - 2.*fr_i(ji,jj) ) * wmask(ji,jj,jk) * tmask(ji,jj,1)420 & * MAX(0.,1._wp - 4.*fr_i(ji,jj) ) * wmask(ji,jj,jk) * tmask(ji,jj,1) 418 421 END DO 419 422 END DO … … 424 427 jk = nmln(ji,jj) 425 428 en(ji,jj,jk) = en(ji,jj,jk) + rn_efr * en(ji,jj,1) * EXP( -pdepw(ji,jj,jk) / htau(ji,jj) ) & 426 & * MAX(0.,1._wp - 2.*fr_i(ji,jj) ) * wmask(ji,jj,jk) * tmask(ji,jj,1)429 & * MAX(0.,1._wp - 4.*fr_i(ji,jj) ) * wmask(ji,jj,jk) * tmask(ji,jj,1) 427 430 END DO 428 431 END DO … … 437 440 zdif = rhftau_scl * MAX( 0._wp, zdif + rhftau_add ) ! apply some modifications... 438 441 en(ji,jj,jk) = en(ji,jj,jk) + zbbrau * zdif * EXP( -pdepw(ji,jj,jk) / htau(ji,jj) ) & 439 & * MAX(0.,1._wp - 2.*fr_i(ji,jj) ) * wmask(ji,jj,jk) * tmask(ji,jj,1)440 END DO 441 END DO 442 END DO 443 ENDIF 444 ! 445 IF( nn_timing == 1 )CALL timing_stop('tke_tke')442 & * MAX(0.,1._wp - 4.*fr_i(ji,jj) ) * wmask(ji,jj,jk) * tmask(ji,jj,1) 443 END DO 444 END DO 445 END DO 446 ENDIF 447 ! 448 IF( ln_timing ) CALL timing_stop('tke_tke') 446 449 ! 447 450 END SUBROUTINE tke_tke … … 493 496 !!-------------------------------------------------------------------- 494 497 ! 495 IF( nn_timing == 1 )CALL timing_start('tke_avn')498 IF( ln_timing ) CALL timing_start('tke_avn') 496 499 497 500 ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< … … 636 639 ENDIF 637 640 ! 638 IF( nn_timing == 1 )CALL timing_stop('tke_avn')641 IF( ln_timing ) CALL timing_stop('tke_avn') 639 642 ! 640 643 END SUBROUTINE tke_avn
Note: See TracChangeset
for help on using the changeset viewer.