Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update netcdf planes for amr levels not coincident with the edge #1382

Merged
merged 5 commits into from
Dec 4, 2024

Conversation

marchdf
Copy link
Contributor

@marchdf marchdf commented Dec 3, 2024

Summary

As described in #1380, netcdf format for the boundary planes would not allow for refinement levels to start in the middle of the domain. This PR fixes that.

Pull request type

Please check the type of change introduced:

  • Bugfix
  • Feature
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • Documentation content changes
  • Other (please describe):

Checklist

The following is included:

  • new unit-test(s)
  • new regression test(s)
  • documentation for new capability

This PR was tested by running:

  • the unit tests
    • on GPU
    • on CPU
  • the regression tests
    • on GPU
    • on CPU

Additional background

Now one can have this with the netcdf format (refinement zone starts partway up the domain):

Screenshot 2024-12-03 at 3 52 10 PM

They look reasonable when isualizing the planes in python:
velocity_xlo
velocity_ylo

As usual with these boundary planes, it's the 80/20 rule. the code changes are small but making sure they work... ugh.

Closes #1380

@marchdf marchdf force-pushed the update-netcdf-planes branch from ea0d86c to c4947db Compare December 3, 2024 22:56
@marchdf marchdf marked this pull request as ready for review December 3, 2024 23:02
@marchdf
Copy link
Contributor Author

marchdf commented Dec 3, 2024

@rybchuk I've done the testing I could and it looks reasonable. But it being so new and stuff... could be bugs. LMK if you see anything weird happening.

@marchdf marchdf requested review from mbkuhn and moprak-nrel December 4, 2024 03:29
@rybchuk
Copy link
Contributor

rybchuk commented Dec 4, 2024

You're the man, thanks Marc!!

  • I have confirmed that I can write BCs for land-based sims with 1 level of refinement and offshore sims for 2 levels of refinement (with the offshore caveats from Offshore boundary plane failing time tolerance #1342)! The offshore sim starts from a checkpoint.
  • I can also read BCs for that offshore sim.

I ran the test cases (attached) out only for ~20 iterations, but the log file is demonstrating healthy behavior. I'll soon be doing much longer i/o simulations and I'll follow up if anything goes awry. It might be a few days before I get to these longer sims, but if you want me to run them before you merge the PR, let me know and I can shuffle my timeline around.

offshore_lev2_write.txt
onshore_lev1_write.txt
offshore_lev2_read_log.txt
offshore_lev2_read.txt

@marchdf
Copy link
Contributor Author

marchdf commented Dec 4, 2024

Excellent news, thanks for checking @rybchuk !

@marchdf marchdf force-pushed the update-netcdf-planes branch from c4947db to 09402e0 Compare December 4, 2024 17:27
@marchdf marchdf enabled auto-merge (squash) December 4, 2024 17:27
@marchdf marchdf merged commit cb51359 into Exawind:main Dec 4, 2024
15 checks passed
@marchdf marchdf deleted the update-netcdf-planes branch December 13, 2024 22:32
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.

netCDF boundary plane write regression test fails after modifications
3 participants