{"id":13780647,"url":"https://github.com/chrisleaman/py-wave-runup","last_synced_at":"2025-05-11T13:32:48.507Z","repository":{"id":34560421,"uuid":"180274721","full_name":"chrisleaman/py-wave-runup","owner":"chrisleaman","description":"Empirical wave runup models implemented in Python","archived":false,"fork":false,"pushed_at":"2022-09-01T06:11:58.000Z","size":3131,"stargazers_count":38,"open_issues_count":24,"forks_count":16,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-29T20:33:09.043Z","etag":null,"topics":["beach","beaches","coastal","coastal-engineering","coastal-modelling"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chrisleaman.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-09T03:07:38.000Z","updated_at":"2024-06-30T10:48:35.000Z","dependencies_parsed_at":"2022-08-28T20:52:26.633Z","dependency_job_id":null,"html_url":"https://github.com/chrisleaman/py-wave-runup","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisleaman%2Fpy-wave-runup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisleaman%2Fpy-wave-runup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisleaman%2Fpy-wave-runup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisleaman%2Fpy-wave-runup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chrisleaman","download_url":"https://codeload.github.com/chrisleaman/py-wave-runup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223256750,"owners_count":17114722,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beach","beaches","coastal","coastal-engineering","coastal-modelling"],"created_at":"2024-08-03T18:01:18.278Z","updated_at":"2024-11-17T15:31:23.204Z","avatar_url":"https://github.com/chrisleaman.png","language":"Python","funding_links":[],"categories":["By topic","Hydrosphere"],"sub_categories":["Wave modelling","Coastal and Reefs"],"readme":"=================\nPython Wave Runup\n=================\n::\n\n    Empirical wave runup models implemented in Python for coastal engineers and scientists.\n\n.. image:: https://zenodo.org/badge/180274721.svg\n   :target: https://zenodo.org/badge/latestdoi/180274721\n\n.. image:: https://img.shields.io/pypi/v/py-wave-runup.svg\n        :target: https://pypi.python.org/pypi/py-wave-runup\n\n.. image:: https://img.shields.io/travis/com/chrisleaman/py-wave-runup.svg\n        :target: https://travis-ci.com/chrisleaman/py-wave-runup\n\n.. image:: https://readthedocs.org/projects/py-wave-runup/badge/?version=latest\n    :target: https://py-wave-runup.readthedocs.io/en/latest/?badge=latest\n    :alt: Documentation Status\n\n.. image:: https://codecov.io/gh/chrisleaman/py-wave-runup/branch/master/graph/badge.svg\n    :target: https://codecov.io/gh/chrisleaman/py-wave-runup\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n    :target: https://github.com/ambv/black\n\n\nContents\n----------\n- `Installation`_\n- `Usage`_\n- `Documentation`_\n- `Background`_\n- `Contributing`_\n- `Citation`_\n- `License`_\n- `References`_\n\n\n\nInstallation\n------------\n\nInstallation of ``py-wave-runup`` can be done with pip:\n\n.. code:: bash\n\n    pip install py-wave-runup\n\n\nUsage\n-----\n\nThe following `wave runup models`_ are available for use:\n\n- ``models.Stockdon2006``: The most commonly cited and widely used runup model.\n- ``models.Power2018``: Based on the Gene-Expression Programming technique.\n- ``models.Holman1986``: Incorporated wave setup using Duck, NC measurements.\n- ``models.Nielsen2009``: Based on runup measurements from NSW, Australia.\n- ``models.Ruggiero2001``: Based on runup measurements from dissipative Orgeon beaches.\n- ``models.Vousdoukas2012``: Based on runup from European Atlantic coast\n- ``models.Senechal2011``: Based on extreme storm condition at Truc Vert, France\n- ``models.Beuzen2019``: Gaussian Process (GP) runup model\n- ``models.Passarella2018``: Genetic Programming (infragravity and total) swash model \n\nTo get calculate runup, setup and swash, define your offshore conditions in your\nselected runup model then you can access each parameter:\n\n.. code:: python\n\n    from py_wave_runup import models\n\n    model_sto06 = models.Stockdon2006(Hs=4, Tp=12, beta=0.1)\n\n    model_sto06.R2     # 2.54\n    model_sto06.setup  # 0.96\n    model_sto06.sinc   # 2.06\n    model_sto06.sig    # 1.65\n\n.. _wave runup models: https://py-wave-runup.readthedocs.io/en/develop/models.html\n\nDocumentation\n-------------\nDocumentation is located at https://py-wave-runup.readthedocs.io.\n\n\nBackground\n----------\n\nWave runup refers to the final part of a wave's journey as it travels from offshore\nonto the beach. It is observable by anyone who goes to the beach and watches the edge\nof the water \"runup\" and rundown the beach. It is comprised of two components:\n\n    - **setup**: the height of the time averaged superelevation of the mean water level\n      above the Still Water Level (SWL)\n    - **swash**: the height of the time varying fluctuation of the instantaneous water\n      level about the setup elevation\n\nSetup, swash and other components of Total Water Level (TWL) rise are shown in this\nhandy figure below.\n\n.. image:: https://raw.githubusercontent.com/chrisleaman/py-wave-runup/master/docs/_static/VitousekDoubling2017Fig1.jpg\n   :width: 500 px\n   :align: center\n..\n\n    | Figure from Vitousek et al. (2017) [#vit17]_\n\nWave runup can contribute a significant portion of the increase in TWL in coastal\nstorms causing erosion and inundation. For example, Stockdon et al. (2006) [#sto06]_\ncollated data from numerous experiments, some of which showed wave runup 2% excedence\nheights in excess of 3 m during some storms.\n\nGiven the impact such a large increase in TWL can have on coastlines, there has been\nmuch research conducted to try improve our understanding of wave runup processes.\nAlthough there are many processes which can influence wave runup (such as nonlinear\nwave transformation, wave reflection, three-dimensional effects, porosity, roughness,\npermeability and groundwater) [#cem06]_, many attempts have been made to derive\nempirical relatinoships based on easily measurable parameters. Typically, empirical\nwave runup models include:\n\n    - **Hs**: significant wave height\n    - **Tp**: peak wave length\n    - **beta**: beach slope\n\nThis python package attempts to consolidate the work done by others in this field and\ncollate the numerous empirical relationships for wave runup which have been published.\n\nContributing\n------------\n\nAs there are many different empirical wave models out there, contributions are most\nwelcome. If you don't feel confident about changing the code yourself, feel free to open\na `Github issue`_ and let us know what could be added. Otherwise, follow the steps below\nto create a Pull Request:\n\n.. _Github issue: https://github.com/chrisleaman/py-wave-runup/issues\n\n1. Fork it (https://github.com/chrisleaman/py-wave-runup/fork)\n2. Create the development environment:\n\n    - For pip, run ``pip install --pre -r requirements.txt``\n    - For `poetry`_, run ``poetry install``\n    - For `anaconda`_, run ``conda env create --name \u003cenv_name\u003e -f environment.yml``\n\n3. Create your feature branch (``git checkout -b feature/fooBar``)\n4. Install pre-commit hooks for automatic formatting (``pre-commit run -a``)\n5. Add your code!\n6. Add and run tests (``pytest``)\n7. Update and check documentation compiles (``sphinx-build -M html \".\\docs\" \".\\docs\\_build\"``)\n8. Commit your changes (``git commit -am 'Add some fooBar``)\n9. Push to the branch (``git push origin feature/fooBar``)\n10. Create a new Pull Request\n\n.. _poetry: https://python-poetry.org/\n.. _anaconda: https://www.anaconda.com/distribution/#download-section\n\n\nCitation\n--------\n\nIf this package has been useful to you, please cite the following DOI: https://doi.org/10.5281/zenodo.2667464\n\n\nLicense\n--------\n\nDistributed under the GNU General Public License v3.\n\n\nReferences\n----------\n\n.. [#vit17] Vitousek, Sean, Patrick L. Barnard, Charles H. Fletcher, Neil Frazer,\n       Li Erikson, and Curt D. Storlazzi. \"Doubling of Coastal Flooding Frequency\n       within Decades Due to Sea-Level Rise.\" Scientific Reports 7, no. 1 (May 18,\n       2017): 1399. https://doi.org/10.1038/s41598-017-01362-7.\n.. [#sto06] Stockdon, Hilary F., Robert A. Holman, Peter A. Howd, and Asbury H. Sallenger.\n       \"Empirical Parameterization of Setup, Swash, and Runup.\" Coastal Engineering 53,\n       no. 7 (May 1, 2006): 573-88. https://doi.org/10.1016/j.coastaleng.2005.12.005\n.. [#cem06] United States, Army, and Corps of Engineers. Coastal Engineering Manual.\n       Washington, D.C.: U.S. Army Corps of Engineers, 2006.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisleaman%2Fpy-wave-runup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrisleaman%2Fpy-wave-runup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisleaman%2Fpy-wave-runup/lists"}