-
Notifications
You must be signed in to change notification settings - Fork 509
Updates to SeaState c-bindings library interface #2997
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- remove extra `IMPLICIT NONE` statements - change name SeaSt_GetWaveFieldPointer_C to SeaSt_C_GetWaveFieldPointer (matches convention elsewehre)
- SeaSt_C_GetFluidVelAccDens - SeaSt_C_GetSurfElev
…eVelAcc - add acceleration output (similar to `dev-tc` usage) - I don't see anything that directly uses this.
- SeaSt_C_GetWaveFieldPointer - convert to subroutine, add error handling, add DebugLevel - SeaSt_C_SetWaveFieldPointer - new routine - python lib: revisions to support above, and also to support a new regression test (in progress)
the flag for node in or out of water is sufficient. The density is constant throughout the water column.
- removed outdated SeaState.py example since it is no longer compatible
- remove WrVTK_inDxy from the interface - fix some broken error handling
- clears out memory that is allocated within the c-bindings library that the _End routine doesn't catch
these are all subroutine calls, so no returns
These don't need to be passed
deslaughter
reviewed
Sep 17, 2025
Collaborator
Author
|
Collaborator
|
The r-test merge required might be a good line item in the standard PR template. I know that I always forget to do that. |
deslaughter
approved these changes
Sep 17, 2025
There was no reason to keep 8 decimal places
update regression test
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
C-binding library interfaces
Module: SeaState
SeaState module for wave data generation
Type: Testing
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Ready to merge
Feature or improvement description
This PR modifies the SeaState c-bindings library interface with several improvements, updates the corresponding python library, and adds a test case.
C-bindings library interface changes include:
PreInitroutine fromInit- for setting environment variablesClearMemroutineSeaSt_C_GetWaveFieldPointerSeaSt_C_SetWaveFieldPointerSeaSt_C_GetFluidVelAccSeaSt_C_GetSurfElevSeaSt_C_GetSurfNormErrStat_Fto justErrStat, and others - it was hard to read)ShowPassedDataroutines for interface debuggingInit(i.e.WrWvKinModis set to 0 now)Python interface changes:
Regression test:
HydroDyn and SeaState change:
WaveField_GetNodeWaveVelto include accelerations and renamed asWaveField_GetNodeWaveVelAcc(very similar to what is indev-tcright now)Additional things:
HydroDyn_C_binding.f90file: notes and missing public declaration.Related issue, if one exists
None
Impacted areas of the software
SeaState library interface, and matching test case
Additional supporting information
This is needed for some ongoing development work.
Test results, if applicable
A new test case
py_seastate_1exercises the library interface using the Python library.