diff --git a/src/shared/cvmix_kpp.F90 b/src/shared/cvmix_kpp.F90 index f7641f93..38ee525d 100644 --- a/src/shared/cvmix_kpp.F90 +++ b/src/shared/cvmix_kpp.F90 @@ -2659,30 +2659,30 @@ function cvmix_kpp_compute_unresolved_shear(zt_cntr, ws_cntr, N_iface, & end if if ( CVmix_kpp_params_in%lStokesMOST ) then - lwstar = .false. ! .true. - ws_wstar = CVmix_kpp_params_in%vonkarman * cvmix_one * real(25,cvmix_r8) ! * & - ws_wstar = CVmix_kpp_params_in%vonkarman * ws_wstar**(cvmix_one/real(3,cvmix_r8)) - - do kt=1,nlev - xbeta = MAX( cvmix_zero , MIN( (300._cvmix_r8-100._cvmix_r8) , (-zt_cntr(kt) - 100._cvmix_r8) ) ) - xbeta = xbeta / (300._cvmix_r8-100._cvmix_r8) - ybeta = (cvmix_one - xbeta*xbeta)**2 - beta = ybeta * 0.2_cvmix_r8 - Vtc = sqrt( beta *3.8409_cvmix_r8 /ws_wstar) /CVmix_kpp_params_in%Ri_crit - if (lwstar ) then - wstar = (MAX(0.0 , zt_cntr(kt) * bfsfc(kt) ))**(cvmix_one/real(3,cvmix_r8)) - cvmix_kpp_compute_unresolved_shear(kt) = & - -zt_cntr(kt) * N_cntr(kt) * CVmix_kpp_params_in%CVt2 * Vtc * wstar - else - cvmix_kpp_compute_unresolved_shear(kt) = & - -zt_cntr(kt) * N_cntr(kt) * CVmix_kpp_params_in%CVt2 * Vtc * ws_cntr(kt) / ws_wstar - end if + lwstar = .false. ! .true. + ws_wstar = CVmix_kpp_params_in%vonkarman * cvmix_one * real(25,cvmix_r8) ! * & + ws_wstar = CVmix_kpp_params_in%vonkarman * ws_wstar**(cvmix_one/real(3,cvmix_r8)) + + do kt=1,nlev + xbeta = MAX( cvmix_zero , MIN( (300._cvmix_r8-100._cvmix_r8) , (-zt_cntr(kt) - 100._cvmix_r8) ) ) + xbeta = xbeta / (300._cvmix_r8-100._cvmix_r8) + ybeta = (cvmix_one - xbeta*xbeta)**2 + beta = ybeta * 0.2_cvmix_r8 + Vtc = sqrt( beta *3.8409_cvmix_r8 /ws_wstar) /CVmix_kpp_params_in%Ri_crit + if (lwstar ) then + wstar = (MAX(0.0 , zt_cntr(kt) * bfsfc(kt) ))**(cvmix_one/real(3,cvmix_r8)) + cvmix_kpp_compute_unresolved_shear(kt) = & + -zt_cntr(kt) * N_cntr(kt) * CVmix_kpp_params_in%CVt2 * Vtc * wstar + else + cvmix_kpp_compute_unresolved_shear(kt) = & + -zt_cntr(kt) * N_cntr(kt) * CVmix_kpp_params_in%CVt2 * Vtc * ws_cntr(kt) / ws_wstar + end if - if (cvmix_kpp_compute_unresolved_shear(kt).lt. & - CVmix_kpp_params_in%minVtsqr) then - cvmix_kpp_compute_unresolved_shear(kt) = CVmix_kpp_params_in%minVtsqr - end if - enddo + if (cvmix_kpp_compute_unresolved_shear(kt).lt. & + CVmix_kpp_params_in%minVtsqr) then + cvmix_kpp_compute_unresolved_shear(kt) = CVmix_kpp_params_in%minVtsqr + end if + enddo else ! not lStokesMOST ! options for Langmuir enhanced entrainment