- Timestamp:
- 2017-09-27T16:29:24+02:00 (7 years ago)
- Location:
- branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdfddm.F90
r8367 r8568 83 83 !!---------------------------------------------------------------------- 84 84 ! 85 IF( nn_timing == 1) CALL timing_start('zdf_ddm')85 IF( ln_timing ) CALL timing_start('zdf_ddm') 86 86 ! 87 87 ! ! =============== … … 170 170 ENDIF 171 171 ! 172 IF( nn_timing == 1 )CALL timing_stop('zdf_ddm')172 IF( ln_timing ) CALL timing_stop('zdf_ddm') 173 173 ! 174 174 END SUBROUTINE zdf_ddm -
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdfdrg.F90
r8367 r8568 20 20 !!---------------------------------------------------------------------- 21 21 USE oce ! ocean dynamics and tracers variables 22 USE phycst , ONLY: vkarmn22 USE phycst , ONLY : vkarmn 23 23 USE dom_oce ! ocean space and time domain variables 24 24 USE zdf_oce ! ocean vertical physics variables … … 109 109 !!---------------------------------------------------------------------- 110 110 ! 111 IF( nn_timing == 1 )CALL timing_start('zdf_drg')111 IF( ln_timing ) CALL timing_start('zdf_drg') 112 112 ! 113 113 ! … … 140 140 IF(ln_ctl) CALL prt_ctl( tab2d_1=pCdU, clinfo1=' Cd*U ') 141 141 ! 142 IF( nn_timing == 1 )CALL timing_stop('zdf_drg')142 IF( ln_timing ) CALL timing_stop('zdf_drg') 143 143 ! 144 144 END SUBROUTINE zdf_drg -
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdfevd.F90
r8367 r8568 62 62 !!---------------------------------------------------------------------- 63 63 ! 64 IF( nn_timing == 1 )CALL timing_start('zdf_evd')64 IF( ln_timing ) CALL timing_start('zdf_evd') 65 65 ! 66 66 IF( kt == nit000 ) THEN … … 121 121 IF( l_trdtra ) CALL trd_tra( kt, 'TRA', jp_tem, jptra_evd, zavt_evd ) 122 122 ! 123 IF( nn_timing == 1 )CALL timing_stop('zdf_evd')123 IF( ln_timing ) CALL timing_stop('zdf_evd') 124 124 ! 125 125 END SUBROUTINE zdf_evd -
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdfgls.F90
r8367 r8568 159 159 !!-------------------------------------------------------------------- 160 160 ! 161 IF( nn_timing == 1) CALL timing_start('zdf_gls')161 IF( ln_timing ) CALL timing_start('zdf_gls') 162 162 ! 163 163 ! Preliminary computing … … 822 822 ENDIF 823 823 ! 824 IF( nn_timing == 1) CALL timing_stop('zdf_gls')824 IF( ln_timing ) CALL timing_stop('zdf_gls') 825 825 ! 826 826 END SUBROUTINE zdf_gls … … 852 852 !!---------------------------------------------------------- 853 853 ! 854 IF( nn_timing == 1 )CALL timing_start('zdf_gls_init')854 IF( ln_timing ) CALL timing_start('zdf_gls_init') 855 855 ! 856 856 REWIND( numnam_ref ) ! Namelist namzdf_gls in reference namelist : Vertical eddy diffivity and viscosity using gls turbulent closure scheme … … 1077 1077 rl_sf = vkarmn 1078 1078 ELSE 1079 rl_sf = rc0 * SQRT(rc0/rcm_sf) * SQRT( ( (1._wp + 4._wp*rmm + 8._wp*rmm**2_wp)*rsc_tke & 1080 & + 12._wp * rsc_psi0*rpsi2 - (1._wp + 4._wp*rmm) & 1081 & *SQRT(rsc_tke*(rsc_tke & 1082 & + 24._wp*rsc_psi0*rpsi2)) ) & 1083 & /(12._wp*rnn**2.) & 1084 & ) 1079 rl_sf = rc0 * SQRT(rc0/rcm_sf) * SQRT( ( (1._wp + 4._wp*rmm + 8._wp*rmm**2_wp) * rsc_tke & 1080 & + 12._wp*rsc_psi0*rpsi2 - (1._wp + 4._wp*rmm) & 1081 & *SQRT(rsc_tke*(rsc_tke & 1082 & + 24._wp*rsc_psi0*rpsi2)) ) & 1083 & /(12._wp*rnn**2.) ) 1085 1084 ENDIF 1086 1085 … … 1130 1129 CALL gls_rst( nit000, 'READ' ) ! (en, avt_k, avm_k, hmxl_n) 1131 1130 ! 1132 IF( nn_timing == 1 )CALL timing_stop('zdf_gls_init')1131 IF( ln_timing ) CALL timing_stop('zdf_gls_init') 1133 1132 ! 1134 1133 END SUBROUTINE zdf_gls_init -
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdfiwm.F90
r8367 r8568 141 141 !!---------------------------------------------------------------------- 142 142 ! 143 IF( nn_timing == 1) CALL timing_start('zdf_iwm')143 IF( ln_timing ) CALL timing_start('zdf_iwm') 144 144 ! 145 145 ! ! ----------------------------- ! … … 366 366 IF(ln_ctl) CALL prt_ctl(tab3d_1=zav_wave , clinfo1=' iwm - av_wave: ', tab3d_2=avt, clinfo2=' avt: ', ovlap=1, kdim=jpk) 367 367 ! 368 IF( nn_timing == 1) CALL timing_stop('zdf_iwm')368 IF( ln_timing ) CALL timing_stop('zdf_iwm') 369 369 ! 370 370 END SUBROUTINE zdf_iwm … … 405 405 !!---------------------------------------------------------------------- 406 406 ! 407 IF( nn_timing == 1 )CALL timing_start('zdf_iwm_init')407 IF( ln_timing ) CALL timing_start('zdf_iwm_init') 408 408 ! 409 409 REWIND( numnam_ref ) ! Namelist namzdf_iwm in reference namelist : Wave-driven mixing … … 483 483 ENDIF 484 484 ! 485 IF( nn_timing == 1 )CALL timing_stop('zdf_iwm_init')485 IF( ln_timing ) CALL timing_stop('zdf_iwm_init') 486 486 ! 487 487 END SUBROUTINE zdf_iwm_init -
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdfmxl.F90
r8367 r8568 82 82 !!---------------------------------------------------------------------- 83 83 ! 84 IF( nn_timing == 1 )CALL timing_start('zdf_mxl')84 IF( ln_timing ) CALL timing_start('zdf_mxl') 85 85 ! 86 86 IF( kt == nit000 ) THEN … … 141 141 IF(ln_ctl) CALL prt_ctl( tab2d_1=REAL(nmln,wp), clinfo1=' nmln : ', tab2d_2=hmlp, clinfo2=' hmlp : ', ovlap=1 ) 142 142 ! 143 IF( nn_timing == 1 )CALL timing_stop('zdf_mxl')143 IF( ln_timing ) CALL timing_stop('zdf_mxl') 144 144 ! 145 145 END SUBROUTINE zdf_mxl -
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdfphy.F90
r8367 r8568 32 32 USE lbclnk ! lateral boundary conditions 33 33 USE lib_mpp ! distribued memory computing 34 USE timing ! Timing 34 35 35 36 IMPLICIT NONE … … 75 76 & rn_avm0, rn_avt0, nn_avb, nn_havtb ! coefficients 76 77 !!---------------------------------------------------------------------- 78 ! 79 IF( ln_timing ) CALL timing_start('zdf_phy_init') 77 80 ! 78 81 ! !== Namelist ==! … … 193 196 !!gm move it here ? 194 197 ! 198 IF( ln_timing ) CALL timing_stop('zdf_phy_init') 199 ! 195 200 END SUBROUTINE zdf_phy_init 196 201 … … 213 218 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zsh2 ! shear production 214 219 !! --------------------------------------------------------------------- 220 ! 221 IF( ln_timing ) CALL timing_start('zdf_phy') 215 222 ! 216 223 IF( l_zdfdrg ) THEN !== update top/bottom drag ==! (non-linear cases) … … 289 296 ENDIF 290 297 ! 298 IF( ln_timing ) CALL timing_stop('zdf_phy') 299 ! 291 300 END SUBROUTINE zdf_phy 292 301 -
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdfric.F90
r8367 r8568 158 158 !!---------------------------------------------------------------------- 159 159 ! 160 IF( nn_timing == 1) CALL timing_start('zdf_ric')160 IF( ln_timing ) CALL timing_start('zdf_ric') 161 161 ! 162 162 ! !== avm and avt = F(Richardson number) ==! … … 197 197 ENDIF 198 198 ! 199 IF( nn_timing == 1) CALL timing_stop('zdf_ric')199 IF( ln_timing ) CALL timing_stop('zdf_ric') 200 200 ! 201 201 END SUBROUTINE zdf_ric -
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdfsh2.F90
r8367 r8568 56 56 !!-------------------------------------------------------------------- 57 57 ! 58 IF( nn_timing == 1 )CALL timing_start('zdf_sh2')58 IF( ln_timing ) CALL timing_start('zdf_sh2') 59 59 ! 60 60 DO jk = 2, jpkm1 … … 77 77 END DO 78 78 ! 79 IF( nn_timing == 1 )CALL timing_stop('zdf_sh2')79 IF( ln_timing ) CALL timing_stop('zdf_sh2') 80 80 ! 81 81 END SUBROUTINE zdf_sh2 -
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/RK3_SRC/ZDF/zdftke.F90
r8367 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.