From edf978ea98fdc576e34d3b3d4df276744b742988 Mon Sep 17 00:00:00 2001 From: Hassan Beydoun Date: Wed, 18 Jun 2025 14:54:44 -0700 Subject: [PATCH] Compute shoc_cond and shoc_evap before ql update --- .../physics/shoc/impl/shoc_assumed_pdf_impl.hpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/components/eamxx/src/physics/shoc/impl/shoc_assumed_pdf_impl.hpp b/components/eamxx/src/physics/shoc/impl/shoc_assumed_pdf_impl.hpp index af6de895792f..4b9cc8cac318 100644 --- a/components/eamxx/src/physics/shoc/impl/shoc_assumed_pdf_impl.hpp +++ b/components/eamxx/src/physics/shoc/impl/shoc_assumed_pdf_impl.hpp @@ -238,6 +238,13 @@ void Functions::shoc_assumed_pdf( // Compute SGS cloud fraction shoc_cldfrac(k) = ekat::min(1, a*C1 + (1 - a)*C2); + // Compute cond and evap tendencies + if (extra_diags) { + auto dum = ekat::max(0, a * ql1 + (1 - a) * ql2); + shoc_cond(k) = ekat::max(0, (dum - shoc_ql(k)) / dtime); + shoc_evap(k) = ekat::max(0, (shoc_ql(k) - dum) / dtime); + } + // Compute SGS liquid water mixing ratio shoc_assumed_pdf_compute_sgs_liquid(a, ql1, ql2, shoc_ql(k)); @@ -246,13 +253,6 @@ void Functions::shoc_assumed_pdf( s2, ql2, C2, std_s2, shoc_ql(k), shoc_ql2(k)); - // Compute cond and evap tendencies - if (extra_diags) { - auto dum = ekat::max(0, a * ql1 + (1 - a) * ql2); - shoc_cond(k) = ekat::max(0, (dum - shoc_ql(k)) / dtime); - shoc_evap(k) = ekat::max(0, (shoc_ql(k) - dum) / dtime); - } - // Compute liquid water flux shoc_assumed_pdf_compute_liquid_water_flux(a, w1_1, w_first, ql1, w1_2, ql2, wqls(k));