Skip to content

Commit

Permalink
add selfcollection prefactor
Browse files Browse the repository at this point in the history
  • Loading branch information
mahf708 committed Oct 11, 2024
1 parent 90c7b94 commit 7c859f0
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 1 deletion.
1 change: 1 addition & 0 deletions components/eamxx/cime_config/namelist_defaults_scream.xml
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@ be lost if SCREAM_HACK_XML is not enabled.
<p3_accretion_prefactor type="real" doc="Accretion linear prefactor in P3">67.0</p3_accretion_prefactor>
<p3_accretion_qc_exponent type="real" doc="Accretion qc exponent in P3">1.15</p3_accretion_qc_exponent>
<p3_accretion_qr_exponent type="real" doc="Accretion qr exponent in P3">1.15</p3_accretion_qr_exponent>
<p3_rain_selfcollection_prefactor type="real" doc="Rain selfcollection prefactor in P3">5.78</p3_rain_selfcollection_prefactor>
<p3_mu_r_constant type="real" doc="P3 mu_r_constant (rain shape parameter in gamma drop-size distribution)">1.0</p3_mu_r_constant>
<p3_spa_to_nc type="real" doc="P3 spa_to_nc (scaling factor for turning CCN into nc in SPA)">1.0</p3_spa_to_nc>
<p3_eci type="real" doc="P3 eci (liquid/ice collision/collection coefficient)">0.5</p3_eci>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,7 @@ void P3Microphysics::initialize_impl (const RunType /* run_type */)
runtime_options.p3_accretion_prefactor = m_params.get<double>("p3_accretion_prefactor", 67.0);
runtime_options.p3_accretion_qc_exponent = m_params.get<double>("p3_accretion_qc_exponent", 1.15);
runtime_options.p3_accretion_qr_exponent = m_params.get<double>("p3_accretion_qr_exponent", 1.15);
runtime_options.p3_rain_selfcollection_prefactor = m_params.get<double>("p3_rain_selfcollection_prefactor", 5.78);
runtime_options.p3_mu_r_constant = m_params.get<double>("p3_mu_r_constant", 1.0);
runtime_options.p3_spa_to_nc = m_params.get<double>("p3_spa_to_nc", 1.0);
runtime_options.p3_eci = m_params.get<double>("p3_eci", 0.5);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ ::rain_self_collection(
constexpr Scalar pi = C::Pi;

const Scalar p3_d_breakup_cutoff = runtime_options.p3_d_breakup_cutoff;
const Scalar p3_rain_selfcollection_prefactor = runtime_options.p3_rain_selfcollection_prefactor;

const auto qr_incld_not_small = qr_incld >= qsmall && context;

Expand All @@ -38,7 +39,9 @@ ::rain_self_collection(
dum.set(dum2_gt_dum1, 2 - exp(2300 * (dum2-p3_d_breakup_cutoff)));
}

nr_selfcollect_tend.set(qr_incld_not_small, dum*sp(5.78)*nr_incld*qr_incld*rho);
nr_selfcollect_tend.set(
qr_incld_not_small,
dum * sp(p3_rain_selfcollection_prefactor) * nr_incld * qr_incld * rho);
}
}

Expand Down
1 change: 1 addition & 0 deletions components/eamxx/src/physics/p3/p3_functions.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ struct Functions
Scalar p3_accretion_prefactor = 67.0;
Scalar p3_accretion_qc_exponent = 1.15;
Scalar p3_accretion_qr_exponent = 1.15;
Scalar p3_rain_selfcollection_prefactor = 5.78;
Scalar p3_mu_r_constant = 1.0;
Scalar p3_spa_to_nc = 1.0;
Scalar p3_eci = 0.5;
Expand Down

0 comments on commit 7c859f0

Please sign in to comment.