/spillway

A python class to describe what happens when one lake drains into another.

Primary LanguageJupyter NotebookGNU General Public License v3.0GPL-3.0

spillway

Discharge and water surface profiles on spillways.

spillway.py is module that contains the equations and solvers. example.ipynb is a jupyter notebook showing how to set up a model instance and use spillway objects.

Installation

Via pip and PyPI

Releases will be sent to PyPI, and also eventually published on conda-forge.

To download and install the release version within your python system, use:

# Python 2
pip2 install spillway_eab # Python 2; deprecated :(

# Python 3 (implicit, assuming your packages are updated)
pip install spillway_eab

# Python 3 (explicit)
pip3 install spillway_eab

Locally with pip and incorporating ongoing code modifications

To install the unreleased code from this repository and/or to make changes to it locally and have this reflected immediately in how spillway runs:

# Download the repository
git clone https://github.com/ericbarefoot/spillway.git

# Install it
# First, navigate to the root spillway directory. Then do one or both of:
pip2 install -e . # Python 2; deprecated :(
pip install -e . # Python 3; recommended
pip3 install -e . # Python 3; command to explicitly use this version

Of course, you may always just download the spillway source from here and run it as a local (rather than system-wide installed) module. But this can be inconvenient when needing to manage the directory of spillway.py relative to that of the driver *.py file that you are building to create your model run.

Learning how to use spillway

Flow through a spillway with constant pool levels at either end.

For a tutorial run the Jupyter notebook contained within this package. After installing Jupyter on your local machine, navigate to this directory in the terminal and type:

jupyter notebook

to launch it. Alternatively, a number of cloud-based services can host Jupyter notebooks.