Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions components/eam/src/physics/p3/scream/micro_p3.F90
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion components/eamxx/src/physics/p3/impl/p3_main_impl_part3.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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()) {
Expand Down Expand Up @@ -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()) {
Expand Down