diff --git a/components/eam/src/physics/p3/scream/micro_p3.F90 b/components/eam/src/physics/p3/scream/micro_p3.F90 index f345e5abcf7..6b6b6b49a68 100644 --- a/components/eam/src/physics/p3/scream/micro_p3.F90 +++ b/components/eam/src/physics/p3/scream/micro_p3.F90 @@ -1030,7 +1030,7 @@ subroutine p3_main_part3(kts, kte, kbot, ktop, kdir, & ze_rain(k) = nr(k)*(mu_r(k)+6._rtype)*(mu_r(k)+5._rtype)*(mu_r(k)+4._rtype)* & (mu_r(k)+3._rtype)*(mu_r(k)+2._rtype)*(mu_r(k)+1._rtype)/bfb_pow(lamr(k), 6._rtype) ze_rain(k) = max(ze_rain(k),1.e-22_rtype) - diag_eff_radius_qr(k) = 1.5_rtype/lamr(k) + diag_eff_radius_qr(k) = 0.5_rtype*(mu_r(k)+3._rtype)/lamr(k) else qv(k) = qv(k)+qr(k) th_atm(k) = th_atm(k)-inv_exner(k)*qr(k)*latent_heat_vapor(k)*inv_cp @@ -2830,7 +2830,7 @@ subroutine back_to_cell_average(cld_frac_l,cld_frac_r,cld_frac_i, ! map ice-phase process rates to cell-avg qi2qv_sublim_tend = qi2qv_sublim_tend*cld_frac_i ! Sublimation of ice in ice cloud nr_ice_shed_tend = nr_ice_shed_tend*il_cldm ! Rain # increase due to shedding from rain-ice collisions, occurs when ice and liquid interact - qc2qi_hetero_freeze_tend = qc2qi_hetero_freeze_tend*il_cldm ! Immersion freezing of cloud drops + qc2qi_hetero_freeze_tend = qc2qi_hetero_freeze_tend*cld_frac_l ! Immersion freezing of cloud drops qrcol = qrcol*ir_cldm ! Collection of rain mass by ice qc2qr_ice_shed_tend = qc2qr_ice_shed_tend*il_cldm ! Rain mass growth due to shedding of fain drops after collisions with ice, occurs when ice and liquid interact qi2qr_melt_tend = qi2qr_melt_tend*cld_frac_i ! Melting of ice diff --git a/components/eamxx/src/physics/p3/impl/p3_back_to_cell_average_impl.hpp b/components/eamxx/src/physics/p3/impl/p3_back_to_cell_average_impl.hpp index 0ba2e8b412a..014793bd27a 100644 --- a/components/eamxx/src/physics/p3/impl/p3_back_to_cell_average_impl.hpp +++ b/components/eamxx/src/physics/p3/impl/p3_back_to_cell_average_impl.hpp @@ -53,7 +53,7 @@ ::back_to_cell_average( // map ice-phase process rates to cell-avg qi2qv_sublim_tend.set(context, qi2qv_sublim_tend * cld_frac_i); // Sublimation of ice in ice cloud nr_ice_shed_tend.set(context, nr_ice_shed_tend * il_cldm); // Rain # increase due to shedding from rain-ice collisions, occurs when ice and liquid interact - qc2qi_hetero_freeze_tend.set(context, qc2qi_hetero_freeze_tend * il_cldm); // Immersion freezing of cloud drops + qc2qi_hetero_freeze_tend.set(context, qc2qi_hetero_freeze_tend * cld_frac_l); // Immersion freezing of cloud drops qr2qi_collect_tend.set(context, qr2qi_collect_tend * ir_cldm); // Collection of rain mass by ice qc2qr_ice_shed_tend.set(context, qc2qr_ice_shed_tend * il_cldm); // Rain mass growth due to shedding of fain drops after collisions with ice, occurs when ice and liquid interact qi2qr_melt_tend.set(context, qi2qr_melt_tend * cld_frac_i); // Melting of ice diff --git a/components/eamxx/src/physics/p3/impl/p3_main_impl_part3.hpp b/components/eamxx/src/physics/p3/impl/p3_main_impl_part3.hpp index febb00ef4d3..26a8399f71d 100644 --- a/components/eamxx/src/physics/p3/impl/p3_main_impl_part3.hpp +++ b/components/eamxx/src/physics/p3/impl/p3_main_impl_part3.hpp @@ -89,6 +89,7 @@ ::p3_main_part3( if (qc_gt_small.any()) { nc(k).set(qc_gt_small,nc_incld*cld_frac_l(k)); //cld_dsd2 might have changed incld nc... need consistency. + //diag_eff_radius_qc is obtained by diving the 3rd and 2nd moments of the DSD e.g., eqn 5 of MG2008 diag_eff_radius_qc(k).set(qc_gt_small, sp(0.5) * (mu_c(k) + 3) / lamc(k)); } if (qc_small.any()) { @@ -118,7 +119,7 @@ ::p3_main_part3( ze_rain(k).set(qr_gt_small, nr(k)*(mu_r(k)+6)*(mu_r(k)+5)*(mu_r(k)+4)* (mu_r(k)+3)*(mu_r(k)+2)*(mu_r(k)+1)/pow(lamr(k), sp(6.0))); // once f90 is gone, 6 can be int ze_rain(k).set(qr_gt_small, max(ze_rain(k), sp(1.e-22))); - diag_eff_radius_qr(k).set(qr_gt_small, sp(1.5) / lamr(k)); + diag_eff_radius_qr(k).set(qr_gt_small, sp(0.5) * (mu_r(k) + 3) / lamr(k)); } if (qr_small.any()) {