Skip to content

Add DynamicSmagorinsky nonhydrostatic regression tests#5310

Merged
glwagner merged 9 commits intomainfrom
dynamic-smag-regression
Feb 20, 2026
Merged

Add DynamicSmagorinsky nonhydrostatic regression tests#5310
glwagner merged 9 commits intomainfrom
dynamic-smag-regression

Conversation

@glwagner
Copy link
Copy Markdown
Member

Summary

  • Add regression tests for DynamicSmagorinsky closure with both directional averaging (averaging=(1, 2)) and Lagrangian averaging
  • Register data dependencies for the 4 new regression truth data files (2 averaging types × 2 iterations each)
  • Update closure name resolution in the ocean LES regression test to handle DynamicSmagorinsky variants

TODO

  • Generate regression truth data (spinup + checkpoint)
  • Upload truth data to OceananigansArtifacts.jl under data_for_regression_tests/

Test plan

  • Tests are expected to fail until regression truth data is uploaded
  • Once data is available, run: julia --project -e 'using Pkg; Pkg.test("Oceananigans", test_args=["nonhydrostatic_regression"])'

🤖 Generated with Claude Code

…veraging)

Tests will fail until regression truth data is generated and uploaded
to OceananigansArtifacts.jl.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@glwagner
Copy link
Copy Markdown
Member Author

cc @tomchor

glwagner added a commit to glwagner/OceananigansArtifacts.jl that referenced this pull request Feb 18, 2026
Regression truth data for DynamicSmagorinsky closure with both
directional averaging and Lagrangian averaging. Each has checkpoints
at iterations 10000 and 10010 (16³ grid, Δt=2, ocean LES setup).

See CliMA/Oceananigans.jl#5310

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@glwagner
Copy link
Copy Markdown
Member Author

Regression truth data PR: glwagner/OceananigansArtifacts.jl#5 — needs to be merged to main before these tests can pass.

DynamicSmagorinsky is already exported from Oceananigans; only
LagrangianAveraging needs an explicit import from TurbulenceClosures.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@codecov
Copy link
Copy Markdown

codecov bot commented Feb 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.25%. Comparing base (a081c26) to head (45c098b).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5310      +/-   ##
==========================================
+ Coverage   70.95%   73.25%   +2.30%     
==========================================
  Files         389      397       +8     
  Lines       22287    22463     +176     
==========================================
+ Hits        15813    16456     +643     
+ Misses       6474     6007     -467     
Flag Coverage Δ
buildkite 68.62% <ø> (+2.01%) ⬆️
julia 68.62% <ø> (+2.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

glwagner and others added 4 commits February 18, 2026 13:34
The Buildkite CI uses a persistent Julia depot, so the DataDeps cache
for "regression_truth_data" from previous builds may not contain the
newly added DynamicSmagorinsky regression files. This adds a check
that clears and re-downloads the data if the expected files are missing.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@glwagner
Copy link
Copy Markdown
Member Author

@tomchor can you fix the failing tests?

@tomchor
Copy link
Copy Markdown
Member

tomchor commented Feb 19, 2026

@tomchor can you fix the failing tests?

Sure! I'll try to take a look at them later today when I have time

@tomchor
Copy link
Copy Markdown
Member

tomchor commented Feb 19, 2026

@glwagner tests should be good now

@glwagner
Copy link
Copy Markdown
Member Author

looks like they need to be restarted

@tomchor
Copy link
Copy Markdown
Member

tomchor commented Feb 19, 2026

looks like they need to be restarted

What do you mean? I see all tests passing, except the ones that aren't on Nautilus. Am I missing something?

@glwagner
Copy link
Copy Markdown
Member Author

image failing tests

@tomchor
Copy link
Copy Markdown
Member

tomchor commented Feb 19, 2026

image failing tests

Do you mean that I should restart the docker on nautilus? I think the failing tests aren't run on nautilus, right?

@glwagner
Copy link
Copy Markdown
Member Author

dont worry @tomchor. I will restart the tests.

@glwagner
Copy link
Copy Markdown
Member Author

looks like the tests passed after being restarted. I'll merge.

@glwagner glwagner merged commit 7cda325 into main Feb 20, 2026
80 checks passed
@glwagner glwagner deleted the dynamic-smag-regression branch February 20, 2026 01:14
briochemc added a commit that referenced this pull request Feb 20, 2026
…ield

* origin/main:
  Add DynamicSmagorinsky nonhydrostatic regression tests (#5310)
  Support boolean comparison operations on fields (#5309)
@tomchor
Copy link
Copy Markdown
Member

tomchor commented Feb 20, 2026

Awesome! Thanks for this PR @glwagner

@glwagner
Copy link
Copy Markdown
Member Author

also for future reference, in case not clear, "restarting the tests" is something that can be done within the PR (for gha you can close/reopen a PR, for buildkite you need to push an empty commit). In this case there was an update to main, so merging main triggered a re-build.

Re-building with no additional commits is sometimes necessary for flaky CI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants