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

UW-586: Build driver for WaveWatchIII #496

Merged
merged 33 commits into from
Jun 4, 2024
Merged

Conversation

WeirAE
Copy link
Contributor

@WeirAE WeirAE commented May 24, 2024

Synopsis

Build driver for WaveWatchIII. As per discussion, scope is limited to "library" version for the coupled model. This also requires splitting the base Driver() methods and should not expose this driver to the CLI or API.

AC:
new driver introduced in CLI and API
JSON Schema validation capability
Documentation for CLI, API and landing page addition

Type

  • Bug fix (corrects a known issue)
  • Code maintenance (refactoring, etc. without behavior change)
  • Documentation
  • Enhancement (adds new functionality)
  • Tooling (CI, code-quality, packaging, revision-control, etc.)

Impact

  • This is a breaking change (changes existing functionality)
  • This is a non-breaking change (existing functionality continues to work as expected)

Checklist

  • I have added myself and any co-authors to the PR's Assignees list.
  • I have reviewed the documentation and have made any updates necessitated by this change.

@WeirAE WeirAE self-assigned this May 24, 2024
docs/shared/ww3.yaml Outdated Show resolved Hide resolved
@benjamin-cash
Copy link
Contributor

At least for the coupled application, ww3 also requires a directory named restart_wave in the run directory. I'm not sure if that is always true, but if so it should be part of provisioning the run directory.

@WeirAE
Copy link
Contributor Author

WeirAE commented May 28, 2024

@benjamin-cash Thank you! I hadn't seen that in the documentation, so I may have to rely on your hands-on experience to keep me honest here!

src/uwtools/drivers/ww3.py Outdated Show resolved Hide resolved
@WeirAE WeirAE requested a review from maddenp-noaa May 28, 2024 18:01
Copy link
Contributor

@christinaholtNOAA christinaholtNOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I took a second look at the code surrounding the new driver and provided a few comments. I didn't look at any of the tests in detail at this point.

src/uwtools/drivers/ww3.py Show resolved Hide resolved
src/uwtools/drivers/ww3.py Outdated Show resolved Hide resolved
src/uwtools/drivers/ww3.py Outdated Show resolved Hide resolved
src/uwtools/drivers/ww3.py Outdated Show resolved Hide resolved
src/uwtools/resources/jsonschema/ww3.jsonschema Outdated Show resolved Hide resolved
@christinaholtNOAA
Copy link
Contributor

@WeirAE I think this looks nice as far as pulling out a base class/subclass for the driver and stand-alone driver. I'm concerned a bit about the wording and getting the relationships right on how we name these classes. I think this kind of activity is closely related to discussions we've had regarding clean code, so I'm going to trigger some semantics questions in offline conversations.

directory test still failing
pending driver naming decisions
@WeirAE WeirAE marked this pull request as ready for review May 29, 2024 21:41
@elcarpenterNOAA
Copy link
Contributor

It seems to be missing the API and CLI documentation. Is that coming later, or in a separate PR?

@WeirAE
Copy link
Contributor Author

WeirAE commented May 30, 2024

@elcarpenterNOAA This one has been limited to just the coupled library mode, which should be fully disconnected from the API and CLI. Though it might be worth still putting something in place to cover it?

WeirAE and others added 2 commits May 31, 2024 14:08
Co-authored-by: Paul Madden <136389411+maddenp-noaa@users.noreply.github.com>
@WeirAE WeirAE requested a review from maddenp-noaa May 31, 2024 19:49
Copy link
Contributor

@christinaholtNOAA christinaholtNOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are still a few things here that I'd like to see corrected.

src/uwtools/drivers/ww3.py Show resolved Hide resolved
src/uwtools/resources/jsonschema/ww3.jsonschema Outdated Show resolved Hide resolved
src/uwtools/tests/drivers/test_driver.py Show resolved Hide resolved
src/uwtools/tests/drivers/test_ww3.py Outdated Show resolved Hide resolved
src/uwtools/tests/test_schemas.py Outdated Show resolved Hide resolved
@WeirAE
Copy link
Contributor Author

WeirAE commented Jun 4, 2024

Unresolved a few prior threads for ease of further discussion

docs/sections/user_guide/yaml/components/ww3.rst Outdated Show resolved Hide resolved
docs/sections/user_guide/yaml/components/ww3.rst Outdated Show resolved Hide resolved
docs/sections/user_guide/yaml/components/ww3.rst Outdated Show resolved Hide resolved
docs/shared/ww3.yaml Outdated Show resolved Hide resolved
src/uwtools/tests/drivers/test_ww3.py Outdated Show resolved Hide resolved
src/uwtools/resources/jsonschema/ww3.jsonschema Outdated Show resolved Hide resolved
WeirAE and others added 4 commits June 4, 2024 12:40
Co-authored-by: Paul Madden <136389411+maddenp-noaa@users.noreply.github.com>
Co-authored-by: Paul Madden <136389411+maddenp-noaa@users.noreply.github.com>
Co-authored-by: Paul Madden <136389411+maddenp-noaa@users.noreply.github.com>
@WeirAE WeirAE requested a review from maddenp-noaa June 4, 2024 18:21
docs/sections/user_guide/yaml/components/ww3.rst Outdated Show resolved Hide resolved
docs/sections/user_guide/yaml/components/ww3.rst Outdated Show resolved Hide resolved
src/uwtools/tests/drivers/test_ww3.py Outdated Show resolved Hide resolved
WeirAE and others added 2 commits June 4, 2024 13:33
Co-authored-by: Paul Madden <136389411+maddenp-noaa@users.noreply.github.com>
Copy link
Contributor

@christinaholtNOAA christinaholtNOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still just one more thing below, but this is looking good otherwise.

src/uwtools/drivers/ww3.py Outdated Show resolved Hide resolved
Copy link
Contributor

@christinaholtNOAA christinaholtNOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@WeirAE WeirAE merged commit bddcf4d into ufs-community:main Jun 4, 2024
2 checks passed
@WeirAE WeirAE deleted the UW-586-WW3 branch June 10, 2024 13:54
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.

6 participants