Changeset 12443 for NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/tests/BENCH/MY_SRC/zdfiwm.F90
- Timestamp:
- 2020-02-24T14:00:21+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/tests/BENCH/MY_SRC/zdfiwm.F90
r12377 r12443 85 85 !! This is divided into three components: 86 86 !! 1. Bottom-intensified low-mode dissipation at critical slopes 87 !! zemx_iwm(z) = ( ecri_iwm / r au0 ) * EXP( -(H-z)/hcri_iwm )87 !! zemx_iwm(z) = ( ecri_iwm / rho0 ) * EXP( -(H-z)/hcri_iwm ) 88 88 !! / ( 1. - EXP( - H/hcri_iwm ) ) * hcri_iwm 89 89 !! where hcri_iwm is the characteristic length scale of the bottom 90 90 !! intensification, ecri_iwm a map of available power, and H the ocean depth. 91 91 !! 2. Pycnocline-intensified low-mode dissipation 92 !! zemx_iwm(z) = ( epyc_iwm / r au0 ) * ( sqrt(rn2(z))^nn_zpyc )92 !! zemx_iwm(z) = ( epyc_iwm / rho0 ) * ( sqrt(rn2(z))^nn_zpyc ) 93 93 !! / SUM( sqrt(rn2(z))^nn_zpyc * e3w(z) ) 94 94 !! where epyc_iwm is a map of available power, and nn_zpyc … … 96 96 !! energy dissipation. 97 97 !! 3. WKB-height dependent high mode dissipation 98 !! zemx_iwm(z) = ( ebot_iwm / r au0 ) * rn2(z) * EXP(-z_wkb(z)/hbot_iwm)98 !! zemx_iwm(z) = ( ebot_iwm / rho0 ) * rn2(z) * EXP(-z_wkb(z)/hbot_iwm) 99 99 !! / SUM( rn2(z) * EXP(-z_wkb(z)/hbot_iwm) * e3w(z) ) 100 100 !! where hbot_iwm is the characteristic length scale of the WKB bottom … … 150 150 DO ji = 1, jpi 151 151 zhdep(ji,jj) = gdepw_0(ji,jj,mbkt(ji,jj)+1) ! depth of the ocean 152 zfact(ji,jj) = r au0 * ( 1._wp - EXP( -zhdep(ji,jj) / hcri_iwm(ji,jj) ) )152 zfact(ji,jj) = rho0 * ( 1._wp - EXP( -zhdep(ji,jj) / hcri_iwm(ji,jj) ) ) 153 153 IF( zfact(ji,jj) /= 0._wp ) zfact(ji,jj) = ecri_iwm(ji,jj) / zfact(ji,jj) 154 154 END DO … … 179 179 DO jj = 1, jpj 180 180 DO ji = 1, jpi 181 IF( zfact(ji,jj) /= 0 ) zfact(ji,jj) = epyc_iwm(ji,jj) / ( r au0 * zfact(ji,jj) )181 IF( zfact(ji,jj) /= 0 ) zfact(ji,jj) = epyc_iwm(ji,jj) / ( rho0 * zfact(ji,jj) ) 182 182 END DO 183 183 END DO … … 196 196 DO jj= 1, jpj 197 197 DO ji = 1, jpi 198 IF( zfact(ji,jj) /= 0 ) zfact(ji,jj) = epyc_iwm(ji,jj) / ( r au0 * zfact(ji,jj) )198 IF( zfact(ji,jj) /= 0 ) zfact(ji,jj) = epyc_iwm(ji,jj) / ( rho0 * zfact(ji,jj) ) 199 199 END DO 200 200 END DO … … 246 246 DO jj = 1, jpj 247 247 DO ji = 1, jpi 248 IF( zfact(ji,jj) /= 0 ) zfact(ji,jj) = ebot_iwm(ji,jj) / ( r au0 * zfact(ji,jj) )248 IF( zfact(ji,jj) /= 0 ) zfact(ji,jj) = ebot_iwm(ji,jj) / ( rho0 * zfact(ji,jj) ) 249 249 END DO 250 250 END DO … … 259 259 ! Calculate molecular kinematic viscosity 260 260 znu_t(:,:,:) = 1.e-4_wp * ( 17.91_wp - 0.53810_wp * ts(:,:,:,jp_tem,Kmm) + 0.00694_wp * ts(:,:,:,jp_tem,Kmm) * ts(:,:,:,jp_tem,Kmm) & 261 & + 0.02305_wp * ts(:,:,:,jp_sal,Kmm) ) * tmask(:,:,:) * r1_r au0261 & + 0.02305_wp * ts(:,:,:,jp_sal,Kmm) ) * tmask(:,:,:) * r1_rho0 262 262 DO jk = 2, jpkm1 263 263 znu_w(:,:,jk) = 0.5_wp * ( znu_t(:,:,jk-1) + znu_t(:,:,jk) ) * wmask(:,:,jk) … … 305 305 END DO 306 306 CALL mpp_sum( 'zdfiwm', zztmp ) 307 zztmp = r au0 * zztmp ! Global integral of rauo * Kz * N^2 = power contributing to mixing307 zztmp = rho0 * zztmp ! Global integral of rauo * Kz * N^2 = power contributing to mixing 308 308 ! 309 309 IF(lwp) THEN … … 349 349 !* output useful diagnostics: Kz*N^2 , 350 350 !!gm Kz*N2 should take into account the ratio avs/avt if it is used.... (see diaar5) 351 ! vertical integral of r au0 * Kz * N^2 , energy density (zemx_iwm)351 ! vertical integral of rho0 * Kz * N^2 , energy density (zemx_iwm) 352 352 IF( iom_use("bflx_iwm") .OR. iom_use("pcmap_iwm") ) THEN 353 353 ALLOCATE( z2d(jpi,jpj) , z3d(jpi,jpj,jpk) ) … … 357 357 z2d(:,:) = z2d(:,:) + e3w(:,:,jk,Kmm) * z3d(:,:,jk) * wmask(:,:,jk) 358 358 END DO 359 z2d(:,:) = r au0 * z2d(:,:)359 z2d(:,:) = rho0 * z2d(:,:) 360 360 CALL iom_put( "bflx_iwm", z3d ) 361 361 CALL iom_put( "pcmap_iwm", z2d )
Note: See TracChangeset
for help on using the changeset viewer.