@@ -708,9 +708,9 @@ SUBROUTINE thompson_init(is_aerosol_aware_in, &
708
708
dtc(n) = (Dc(n) - Dc(n-1 ))
709
709
enddo
710
710
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)
712
712
xDx(1 ) = D0i* 1.0d0
713
- xDx(nbi+1 ) = 5 .0d0* D0s
713
+ xDx(nbi+1 ) = 2 .0d0* D0s
714
714
do n = 2 , nbi
715
715
xDx(n) = DEXP(DFLOAT(n-1 )/ DFLOAT(nbi) &
716
716
* DLOG(xDx(nbi+1 )/ xDx(1 )) + DLOG(xDx(1 )))
@@ -2822,7 +2822,7 @@ subroutine mp_thompson (qv1d, qc1d, qi1d, qr1d, qs1d, qg1d, ni1d, &
2822
2822
prr_rcg(k) = MIN (DBLE (rg(k)* odts), prr_rcg(k))
2823
2823
prg_rcg(k) = - prr_rcg(k)
2824
2824
! > - 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
2826
2826
endif
2827
2827
endif
2828
2828
endif
@@ -3053,34 +3053,32 @@ subroutine mp_thompson (qv1d, qc1d, qi1d, qr1d, qs1d, qg1d, ni1d, &
3053
3053
if (prr_sml(k) .gt. 0 .) then
3054
3054
prr_sml(k) = prr_sml(k) + 4218 .* olfus* tempc &
3055
3055
* (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))
3066
3065
endif
3067
3066
endif
3068
3067
3069
3068
if (L_qg(k)) then
3070
3069
prr_gml(k) = (tempc* tcond(k)- lvap0* diffu(k)* delQvs(k)) &
3071
3070
* N0_g(k)* (t1_qg_me* ilamg(k)** cge(10 ) &
3072
3071
+ 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))
3084
3082
endif
3085
3083
endif
3086
3084
0 commit comments