Skip to content

Commit be2e7bb

Browse files
authored
Merge pull request #1033 from grantfirl/ufs-dev-PR69
UFS-dev PR#69
2 parents 61b419f + c326b7a commit be2e7bb

File tree

1 file changed

+22
-24
lines changed

1 file changed

+22
-24
lines changed

physics/module_mp_thompson.F90

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -708,9 +708,9 @@ SUBROUTINE thompson_init(is_aerosol_aware_in, &
708708
dtc(n) = (Dc(n) - Dc(n-1))
709709
enddo
710710

711-
!> - Create bins of cloud ice (from min diameter up to 5x min snow size)
711+
!> - Create bins of cloud ice (from min diameter up to 2x min snow size)
712712
xDx(1) = D0i*1.0d0
713-
xDx(nbi+1) = 5.0d0*D0s
713+
xDx(nbi+1) = 2.0d0*D0s
714714
do n = 2, nbi
715715
xDx(n) = DEXP(DFLOAT(n-1)/DFLOAT(nbi) &
716716
*DLOG(xDx(nbi+1)/xDx(1)) +DLOG(xDx(1)))
@@ -2822,7 +2822,7 @@ subroutine mp_thompson (qv1d, qc1d, qi1d, qr1d, qs1d, qg1d, ni1d, &
28222822
prr_rcg(k) = MIN(DBLE(rg(k)*odts), prr_rcg(k))
28232823
prg_rcg(k) = -prr_rcg(k)
28242824
!> - Put in explicit drop break-up due to collisions.
2825-
pnr_rcg(k) = -5.*tnr_gacr(idx_g1,idx_g,idx_r1,idx_r) ! RAIN2M
2825+
pnr_rcg(k) = -1.5*tnr_gacr(idx_g1,idx_g,idx_r1,idx_r) ! RAIN2M
28262826
endif
28272827
endif
28282828
endif
@@ -3053,34 +3053,32 @@ subroutine mp_thompson (qv1d, qc1d, qi1d, qr1d, qs1d, qg1d, ni1d, &
30533053
if (prr_sml(k) .gt. 0.) then
30543054
prr_sml(k) = prr_sml(k) + 4218.*olfus*tempc &
30553055
* (prr_rcs(k)+prs_scw(k))
3056-
endif
3057-
prr_sml(k) = MIN(DBLE(rs(k)*odts), MAX(0.D0, prr_sml(k)))
3058-
pnr_sml(k) = smo0(k)/rs(k)*prr_sml(k) * 10.0**(-0.25*tempc) ! RAIN2M
3059-
pnr_sml(k) = MIN(DBLE(smo0(k)*odts), pnr_sml(k))
3060-
3061-
if (ssati(k).lt. 0.) then
3062-
prs_sde(k) = C_cube*t1_subl*diffu(k)*ssati(k)*rvs &
3063-
* (t1_qs_sd*smo1(k) &
3064-
+ t2_qs_sd*rhof2(k)*vsc2(k)*smof(k))
3065-
prs_sde(k) = MAX(DBLE(-rs(k)*odts), prs_sde(k))
3056+
prr_sml(k) = MIN(DBLE(rs(k)*odts), prr_sml(k))
3057+
pnr_sml(k) = smo0(k)/rs(k)*prr_sml(k) * 10.0**(-0.25*tempc) ! RAIN2M
3058+
pnr_sml(k) = MIN(DBLE(smo0(k)*odts), pnr_sml(k))
3059+
elseif (ssati(k).lt. 0.) then
3060+
prr_sml(k) = 0.0
3061+
prs_sde(k) = C_cube*t1_subl*diffu(k)*ssati(k)*rvs &
3062+
* (t1_qs_sd*smo1(k) &
3063+
+ t2_qs_sd*rhof2(k)*vsc2(k)*smof(k))
3064+
prs_sde(k) = MAX(DBLE(-rs(k)*odts), prs_sde(k))
30663065
endif
30673066
endif
30683067

30693068
if (L_qg(k)) then
30703069
prr_gml(k) = (tempc*tcond(k)-lvap0*diffu(k)*delQvs(k)) &
30713070
* N0_g(k)*(t1_qg_me*ilamg(k)**cge(10) &
30723071
+ t2_qg_me*rhof2(k)*vsc2(k)*ilamg(k)**cge(11))
3073-
!-GT prr_gml(k) = prr_gml(k) + 4218.*olfus*tempc &
3074-
!-GT * (prr_rcg(k)+prg_gcw(k))
3075-
prr_gml(k) = MIN(DBLE(rg(k)*odts), MAX(0.D0, prr_gml(k)))
3076-
pnr_gml(k) = N0_g(k)*cgg(2)*ilamg(k)**cge(2) / rg(k) & ! RAIN2M
3077-
* prr_gml(k) * 10.0**(-0.5*tempc)
3078-
3079-
if (ssati(k).lt. 0.) then
3080-
prg_gde(k) = C_cube*t1_subl*diffu(k)*ssati(k)*rvs &
3081-
* N0_g(k) * (t1_qg_sd*ilamg(k)**cge(10) &
3082-
+ t2_qg_sd*vsc2(k)*rhof2(k)*ilamg(k)**cge(11))
3083-
prg_gde(k) = MAX(DBLE(-rg(k)*odts), prg_gde(k))
3072+
if (prr_gml(k) .gt. 0.) then
3073+
prr_gml(k) = MIN(DBLE(rg(k)*odts), prr_gml(k))
3074+
pnr_gml(k) = N0_g(k)*cgg(2)*ilamg(k)**cge(2) / rg(k) & ! RAIN2M
3075+
* prr_gml(k) * 10.0**(-0.5*tempc)
3076+
elseif (ssati(k).lt. 0.) then
3077+
prr_gml(k) = 0.0
3078+
prg_gde(k) = C_cube*t1_subl*diffu(k)*ssati(k)*rvs &
3079+
* N0_g(k) * (t1_qg_sd*ilamg(k)**cge(10) &
3080+
+ t2_qg_sd*vsc2(k)*rhof2(k)*ilamg(k)**cge(11))
3081+
prg_gde(k) = MAX(DBLE(-rg(k)*odts), prg_gde(k))
30843082
endif
30853083
endif
30863084

0 commit comments

Comments
 (0)