Expose ndrop mixing substep count - #577
Conversation
|
The purpose of this PR is to expose the number of ndrop explicit substeps for diagnostic output, to assist with understanding the performance impact of the explicit solver. Developed with codex. FYI @odiazib @jeff-cohere @overfelt |
|
Used in E3SM-Project/E3SM#8645 |
| REQUIRE(mam4::FloatingPoint<Real>::equiv(q, 0.9)); | ||
| } | ||
|
|
||
| TEST_CASE("test_update_from_explmix_reports_nsubmix", "mam4_ndrop") { |
There was a problem hiding this comment.
I don’t think we need a unit test for these diagnostic variables. While agentic coding makes it easy to add these tests, we also need to consider the long-term maintenance effort.
There was a problem hiding this comment.
That makes sense. I can remove it and push a revised version.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #577 +/- ##
==========================================
+ Coverage 93.01% 93.03% +0.01%
==========================================
Files 311 311
Lines 24581 24631 +50
Branches 2828 2828
==========================================
+ Hits 22865 22915 +50
Misses 1716 1716 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
@susburrows , here are a few simple "on/off" compile-time options we make available for mam4xx. You could add another one for a diagnostics-heavy eval-facing configuration. Basically:
|
Expose the exact ndrop explicit mixing substep count without changing the physics.
Summary
int& nsubmixoutput toupdate_from_explmixanddropmixnuc.Validation
ctest -R '^mam4_ndrop_unit_tests$' --output-on-failure: 1/1 passed.ndrop-label suite: 78 passed and 2 existing max-saturation comparisons were skipped by their configured tolerance rule; no numerical failures.Scope
This change does not alter the computed substep count, loop bounds, equations, limiters, state updates, or production physics.