muscl_eps#1383
Conversation
📝 WalkthroughWalkthroughThis pull request introduces a new configurable 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (2)
src/simulation/m_global_parameters.fpp (1)
865-867: Consider replacing literal thresholds with named constants.Using named module constants for
1e-9_wpand1e-6_wpwould make intent clearer and reduce future drift risk.tests/28D9A304/golden-metadata.txt (1)
1-157: Consider sanitizing machine-specific metadata in committed golden files.This snapshot includes local absolute paths (
/home/chris/...), a dirty git state, and host-specific hardware data, which can cause unnecessary churn and environment leakage in versioned fixtures. Prefer normalized/redacted fields for stable, portable metadata.Example normalization approach
- This file was created on 2026-04-26 03:20:07.478463. + This file was created on <timestamp>. - Git: be1e6654c61a88ef82ca9fc539f2cb33f20af480 on MUSCL_fix (dirty) + Git: <commit> on <branch> (<clean|dirty>) - Fypp : /home/chris/source/MFC_MUSCL_fix/build/venv/bin/fypp + Fypp : <venv>/bin/fypp
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 2a4094ac-d73e-4e34-8f39-8291d0068bc7
📒 Files selected for processing (39)
docs/documentation/case.mdsrc/simulation/m_global_parameters.fppsrc/simulation/m_muscl.fppsrc/simulation/m_start_up.fpptests/01DC0251/golden-metadata.txttests/01DC0251/golden.txttests/28D9A304/golden-metadata.txttests/28D9A304/golden.txttests/30035426/golden-metadata.txttests/30035426/golden.txttests/347964C3/golden-metadata.txttests/347964C3/golden.txttests/374C9B16/golden-metadata.txttests/374C9B16/golden.txttests/42848784/golden-metadata.txttests/42848784/golden.txttests/4F79391A/golden-metadata.txttests/4F79391A/golden.txttests/5EC347F2/golden-metadata.txttests/5EC347F2/golden.txttests/71258175/golden-metadata.txttests/71258175/golden.txttests/77292B06/golden-metadata.txttests/77292B06/golden.txttests/9BD657CB/golden-metadata.txttests/9BD657CB/golden.txttests/B46CEFF3/golden-metadata.txttests/B46CEFF3/golden.txttests/D68EDC50/golden-metadata.txttests/D68EDC50/golden.txttests/F207F0FE/golden-metadata.txttests/F207F0FE/golden.txttests/F4E54FC0/golden-metadata.txttests/F4E54FC0/golden.txttoolchain/dependencies/CMakeLists.txttoolchain/mfc/case_validator.pytoolchain/mfc/params/definitions.pytoolchain/mfc/params/descriptions.pytoolchain/mfc/test/cases.py
There was a problem hiding this comment.
you're mixing contributions in one pr
There was a problem hiding this comment.
I'll open a new PR for that
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1383 +/- ##
==========================================
- Coverage 64.76% 64.75% -0.01%
==========================================
Files 71 71
Lines 18713 18718 +5
Branches 1549 1552 +3
==========================================
+ Hits 12119 12121 +2
Misses 5638 5638
- Partials 956 959 +3 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| #:endif | ||
|
|
||
| ! muscl_eps: use per-limiter defaults when user did not set it | ||
| if (muscl_eps == dflt_real) then |
There was a problem hiding this comment.
using == to compare real to real. i think we have f_approx_equal for this
There was a problem hiding this comment.
Yeah sorry I introduced f_approx_equal a long time ago but forgot about it
| namelist /user_inputs/ case_dir, run_time_info, m, n, p, dt, & | ||
| t_step_start, t_step_stop, t_step_save, t_step_print, & | ||
| model_eqns, mpp_lim, time_stepper, weno_eps, & | ||
| model_eqns, mpp_lim, time_stepper, weno_eps, muscl_eps, & |
There was a problem hiding this comment.
2 vars -> 1 via reconst_eps which is either weno_eps or muscl_eps, depending on which method is used?
There was a problem hiding this comment.
I feel that we should keep "weno_eps" for backwards compatibility to not break existing case files, so maybe we can use weno_eps for both, or have both weno_eps and muscl_eps. Personally I feel that muscl_eps for MSUCL is cleaner?
There was a problem hiding this comment.
I think going to one, then updating all the case files at once via a sed replace (AI-friendly!) is fine.
Description
muscl_eps = 0 gives textbook limiter behavior.
Type of change
Testing
All 30 existing MUSCL tests tests passed. Bit-identical default behavior as the old MUSCL code.
15 new muscl_eps=0 tests added (5 limiters x 3 dims)
Checklist
I added or updated tests for new behavior
I updated documentation if user-facing behavior changed
GPU results match CPU results
Tested on NVIDIA GPU or AMD GPU
AI code reviews
Reviews are not triggered automatically. To request a review, comment on the PR:
@coderabbitai review— incremental review (new changes only)@coderabbitai full review— full review from scratch/review— Qodo review/improve— Qodo code suggestions@claude full review— Claude full review (also triggers on PR open/reopen/ready)claude-full-review— Claude full review via label