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

XBeach Rompy #5

Open
benjaminleighton opened this issue Aug 27, 2024 · 2 comments
Open

XBeach Rompy #5

benjaminleighton opened this issue Aug 27, 2024 · 2 comments
Assignees

Comments

@benjaminleighton
Copy link
Collaborator

benjaminleighton commented Aug 27, 2024

Adapt rompy to implement XBeach, with functions that can be called to create “ready-to-run" workspaces for XBeach model runs (based on a Python notebook to be provided by CSIRO), and including at least:

  1. To facilitate the configuration of and to output an XBeach model configuration; including structured spatial grid definition, input data (forcing and bathymetry), model parameter file and a suitable workspace directory structure for XBeach to run in, including:
    a. Accept forcing data inputs (bathy, waves, wind) as files as well as the ability to extract these data from xarray based sources as required
    b. Defining a spatial domain initially as a structured grid (also see ramping requirement at Ramping the xbeach grid #4)
    c. Produce the XBeach model control file using a template (Jinja2/Cookiecutter) that exposes the required configuration options to replicate the provided notebook
    d. Write into output data appropriate geospatial metadata for orienting the data geographically
    e. Implement the capability to use simple forcing data in rompy xbeach. Allow hand built forcing files, optionally lacking any geospatial reference, to be provided as manual forcing ensuring that basic validation is in place to check that the data is compatible with model configuration. This implementation should, if practical, consider future implementation of this functionality in other rompy models detail in Bulk forcing options - XBeach #3
  2. Provide a progressive Jupyter notebook that shows each step to incorporating new models.
  3. Test the documentation and architecture of WP developments with a community of developers and integrate feedback.
  4. Continue to develop rompy base framework to maintain the required flexibility to adapt to further model implementations.
@benjaminleighton
Copy link
Collaborator Author

To clarify forcing options apart from Bulk Simon indicates "Accepts user specified “bulk” forcing or select forcing datasets
○ Wave: timestamp, sig_wav_ht, mn_wav_dir, mn_wav_per
○ Wind: timestamp, wind_speed, wind_dir
■ NOTE: Bulk forcing needs to work for rompy-xbeach and rompy-swan!
○ Can fall back to sampling global forcing datasets - auswave and access-g3-surface"

@rafa-guedes rafa-guedes transferred this issue from rom-py/rompy Oct 9, 2024
@benjaminleighton
Copy link
Collaborator Author

a. Accept forcing data inputs (bathy, waves, wind) as files as well as the ability to extract these data from xarray based sources as required
Bathy - implemented in testing
Wave - in progress
Wind - Subclasses implemented but no specialist classes?
Water Level - Subclasses implemented but no specialist classes?
b. Defining a spatial domain initially as a structured grid (also see ramping requirement at #4)
Defining a spatial domain and ramping - implemented in testing
d. Write into output data appropriate geospatial metadata for orienting the data geographically
implemented in testing - https://github.com/rom-py/rompy-notebooks/blob/main/notebooks/xbeach/example_declarative.ipynb
e. Implement the capability to use simple forcing data in rompy xbeach. Allow hand built forcing files, optionally lacking any geospatial reference, to be provided as manual forcing ensuring that basic validation is in place to check that the data is compatible with model configuration. This implementation should, if practical, consider future implementation of this functionality in other rompy models detail in #3
in progress, wave forcing allows some manual forcing to be parameterized as defaults, probably we need to allow csv to input and time varying, this maybe possible to do by manually adapting a csv to an xarray dataframe with an appropriate lat and lon close to the grid forcing point, it would be good to have an example
Provide a progressive Jupyter notebook that shows each step to incorporating new models.
in progress, so far great notebooks for existing functionality
Test the documentation and architecture of WP developments with a community of developers and integrate feedback.
Continue to develop rompy base framework to maintain the required flexibility to adapt to further model implementations.
in progess - steady changes to the framework, probably still needs cleanup

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

No branches or pull requests

3 participants