Skip to content
This repository has been archived by the owner on Nov 8, 2024. It is now read-only.

Commit

Permalink
MYNN Bug fix: limit on maximum entrainment was not set properly (#226)
Browse files Browse the repository at this point in the history
TYPE: bug fix, enhancement

KEYWORDS: mass-flux, entrainment

SOURCE: Joseph Olson (NOAA-ESRL/GSD)

DESCRIPTION OF CHANGES:
Excessively large entrainment caused rare occurrences of negative qc at the top of high-reaching updrafts (now gone). This also further helped to reduce the excessively high-reaching plumes that was also reduced in the previous MYNN commit. Now, plume heights no longer show suspicious behavior! A couple other minor tweaks of some parameters related to the updraft clouds and entrainment are added.

LIST OF MODIFIED FILES:
M phys/module_bl_mynn.F

TESTS CONDUCTED: WTF passed
/glade2/scratch2/jbolson/regtests/WTF-3.06/Runs/RESULTS
  • Loading branch information
joeolson42 committed Mar 31, 2017
1 parent 8b1b2ec commit 05de2e8
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions phys/module_bl_mynn.F
Original file line number Diff line number Diff line change
Expand Up @@ -4627,12 +4627,12 @@ SUBROUTINE StEM_mf( &
!Entrainment from Negggers (2015, JAMES)
!ENT(k,i) = 0.02*l**-0.35 - 0.0009
!JOE - implement minimum background entrainment
ENT(k,i) = max(ENT(k,i),0.0008)
ENT(k,i) = max(ENT(k,i),0.0006)
ENT(k,i) = max(ENT(k,i),0.05/ZW(k))
ENT(k,i) = min(ENT(k,i),0.5/(ZW(k)-ZW(k-1)))
!JOE - increase entrainment for plumes extending very high.
IF(ZW(k) >= pblh+1000.) ENT(k,i) =ENT(k,i) + (ZW(k)-(pblh+1000.)) * 5.0E-6
IF(UPW(K-1,I) > 1.5) ENT(k,i) = ENT(k,i) + 0.004*(UPW(K-1,I) - 1.5)
ENT(k,i) = min(ENT(k,i),0.9/(ZW(k)-ZW(k-1)))
! Linear entrainment:
EntExp= ENT(K,I)*(ZW(k)-ZW(k-1))
Expand Down Expand Up @@ -4666,6 +4666,7 @@ SUBROUTINE StEM_mf( &
EntW=exp(-2.*(Wb+Wc*ENT(K,I))*(ZW(k)-ZW(k-1)))
Wn2=UPW(K-1,I)**2*EntW + (1.-EntW)*0.5*Wa*B/(Wb+Wc*ENT(K,I))
Wn2=MAX(Wn2,0.0)
!Allow strongly forced plumes to overshoot if KE is sufficient
IF (fltv > 0.05 .AND. Wn2 <= 0 .AND. overshoot == 0) THEN
Expand Down Expand Up @@ -5366,15 +5367,15 @@ subroutine condensation_edmf(QT,THL,P,zagl,THV,QC)
! number of iterations
niter=50
! minimum difference
diff=1.e-4
diff=2.e-5
EXN=(P/p1000mb)**rcp
!QC=0. !better first guess QC is incoming from lower level, do not set to zero
do i=1,NITER
T=EXN*THL + xlv/cp*QC
QS=qsat_blend(T,P)
QCOLD=QC
QC=max(0.5*QC + 0.5*(QT-QS),0.)
QC=0.5*QC + 0.5*MAX((QT-QS),0.)
if (abs(QC-QCOLD)<Diff) exit
enddo
Expand Down

0 comments on commit 05de2e8

Please sign in to comment.