diff --git a/components/eamxx/cime_config/namelist_defaults_scream.xml b/components/eamxx/cime_config/namelist_defaults_scream.xml
index 1aafbe2af54..5344f04618d 100644
--- a/components/eamxx/cime_config/namelist_defaults_scream.xml
+++ b/components/eamxx/cime_config/namelist_defaults_scream.xml
@@ -208,6 +208,7 @@ be lost if SCREAM_HACK_XML is not enabled.
67.0
1.15
1.15
+ 5.78
1.0
1.0
0.5
diff --git a/components/eamxx/src/physics/p3/eamxx_p3_process_interface.cpp b/components/eamxx/src/physics/p3/eamxx_p3_process_interface.cpp
index 71c28dbb0bd..e25922df3a1 100644
--- a/components/eamxx/src/physics/p3/eamxx_p3_process_interface.cpp
+++ b/components/eamxx/src/physics/p3/eamxx_p3_process_interface.cpp
@@ -227,6 +227,7 @@ void P3Microphysics::initialize_impl (const RunType /* run_type */)
runtime_options.p3_accretion_prefactor = m_params.get("p3_accretion_prefactor", 67.0);
runtime_options.p3_accretion_qc_exponent = m_params.get("p3_accretion_qc_exponent", 1.15);
runtime_options.p3_accretion_qr_exponent = m_params.get("p3_accretion_qr_exponent", 1.15);
+ runtime_options.p3_rain_selfcollection_prefactor = m_params.get("p3_rain_selfcollection_prefactor", 5.78);
runtime_options.p3_mu_r_constant = m_params.get("p3_mu_r_constant", 1.0);
runtime_options.p3_spa_to_nc = m_params.get("p3_spa_to_nc", 1.0);
runtime_options.p3_eci = m_params.get("p3_eci", 0.5);
diff --git a/components/eamxx/src/physics/p3/impl/p3_rain_self_collection_impl.hpp b/components/eamxx/src/physics/p3/impl/p3_rain_self_collection_impl.hpp
index 079845c7f1b..0d53e83ff16 100644
--- a/components/eamxx/src/physics/p3/impl/p3_rain_self_collection_impl.hpp
+++ b/components/eamxx/src/physics/p3/impl/p3_rain_self_collection_impl.hpp
@@ -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;
@@ -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);
}
}
diff --git a/components/eamxx/src/physics/p3/p3_functions.hpp b/components/eamxx/src/physics/p3/p3_functions.hpp
index bfa4737cbce..fc362717b17 100644
--- a/components/eamxx/src/physics/p3/p3_functions.hpp
+++ b/components/eamxx/src/physics/p3/p3_functions.hpp
@@ -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;