Welcome to Mantaray’s documentation!¶
Ray Tracing¶
A library for surface gravity waves ray tracing.
Development¶
Installation¶
Install Pixi
Clone the repo
git clone git@github.com:mines-oceanography/mantaray.git
cd mantaray
Build Python
pixi run develop
This will take about 20 to 30 minutes (at least for first time compiling on windows 10).
Usage¶
At the top of your python file, you will need to include the following import line:
from mantaray.core import single_ray, ray_tracing
Documentation for these functions are located in core.py.
Run Python file¶
pixi run python path_to_file.py
Using Jupyter Lab¶
Develop the code for the
examples
environment
pixi run -e examples develop
Open Jupyter Lab using the
examples
environment
pixi run -e examples jupyter lab
To test Python library run:¶
pixi run -e test pytest
License¶
Licensed under either of
Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution¶
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
We welcome contributions to this project! Whether you’re fixing a bug, adding a new feature, or improving the documentation, your help is greatly appreciated. All contributions should be made through GitHub, by forking the repository, creating a new branch, and submitting a pull request.
Ways to Contribute¶
There are many ways to contribute to this project, including:
Reporting bugs: If you find a bug, please open an issue with the
bug
label and provide as much detail as possible, including steps to reproduce the issue.Suggesting features: Have an idea for a new feature or improvement? Open an issue with the
enhancement
label and describe your suggestion.Submitting code changes: We welcome code contributions! Please follow the Pull Request Guidelines below.
Improving documentation: Clear and concise documentation is essential. If you find areas where the documentation can be improved, please submit an issue with the
documentation
label.
Pull Request Guidelines¶
Before submitting a pull request, please make sure it meets these guidelines:
Tests: All pull requests should include unit tests that cover the changes.
Documentation: If your pull request adds or modifies functionality, please update the documentation accordingly.
CI: Your pull request must pass all existing continuous integration checks.
Single Functionality: Each pull request should ideally address a single, well-defined functionality. If your changes are more extensive, please consider breaking them down into multiple, smaller pull requests.
Getting Help¶
If you have questions or need help getting started, please open an issue with the question
label. We’ll do our best to assist you.