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

Time varying abl bodyforce #1025

Merged
merged 28 commits into from
Apr 30, 2024
Merged

Conversation

mbkuhn
Copy link
Contributor

@mbkuhn mbkuhn commented Apr 22, 2024

Summary

This PR adds 2 features that work together: the ability to output the ABL forcing values to a text file and the ability to read in forces from a text file to apply uniformly using BodyForce.

Pull request type

Please check the type of change your PR introduces:

  • 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 should accompany this PR:

  • new unit-test(s)
  • new regression test(s) pass
  • 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

This feature is well suited to be used with velocity timetable, but it does not have to be. It can be used independently. Likewise, the body force feature can be used with a text file that has been set up manually or through another means; it does not have to come from an ABL Forcing output.

Issue Number: #1022

@mbkuhn
Copy link
Contributor Author

mbkuhn commented Apr 22, 2024

Just getting this out there for now, but it does need unit tests and documentation

@mbkuhn
Copy link
Contributor Author

mbkuhn commented Apr 22, 2024

Should this PR also include a forcing timetable output from Geostrophic Forcing? I know that some ABL precursors use Geostrophic Forcing instead of ABL Forcing.

@mchurchf
Copy link
Contributor

Yes, having time-varying geostrophic wind would be useful too. I think just a general code class that handles time tables and interpolates within them in time would be handy. Eliot's pull request from earlier this year does this for arbitrary time-height varying forcing, so maybe you can draw upon that instead of duplicating. What I don't like about Eliot's code is that it has to read in a netcdf input file. The input can get sort of large because it might be a full day's worth time history of an evolving height profile, so netcdf is good, I suppose, but you can't just open up a netcdf file in a text editor and look at it and modify it, and the size of data is really not that big in the grand scheme of things.

@mbkuhn
Copy link
Contributor Author

mbkuhn commented Apr 23, 2024

I added the same text file output for Geostrophic Forcing, but it looks like it doesn't need that. Unlike ABL forcing, Geostrophic Forcing should be reproducible in an inflow-outflow sim because it's not based on the current velocities of a sim.

@mbkuhn
Copy link
Contributor Author

mbkuhn commented Apr 25, 2024

With documentation now added, I think that the only thing remaining is unit tests.

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.

None yet

3 participants