Skip to content

A Markov-type numerical model of sediment particle transport in rivers

License

Notifications You must be signed in to change notification settings

szwiep/py_SBeLT

Repository files navigation

status szwiep Binder

pySBeLT

gif of 500 model runs
*Figure 1. A .gif of 500 iterations from a py_SBeLTrun using default parameters.

Rivers transport sediment particles. Individual particles can exhibit transport behavior that differs significantly when compared to other particles. pySBeLT, which stands for Stochastic Bed Load Transport, provides a simple Python framework to numerically examine how individual particle motions in rivers combine to produce rates of transport that can be measured at one of a number of downstream points. The model can be used for basic research, and the model's relatively straightforward set-up makes it an effective and efficient teaching tool to help students build intuition about river transport of sediment particles.

Installation

Quick Installation

pip install sbelt

Installation from Source

Clone the py_SBeLT GitHub repository

git clone https://github.com/szwiep/py_SBeLT.git

Then set your working directory to py_SBeLT/ and build the project

 cd py_SBeLT/
 python setup.py build_ext --inplace
 pip install -e .

Testing your installation

If you've installed from source, you can test the installation by setting your working directory to py_SBeLT/ and running the following

python -m unittest discover -s src/tests --buffer

Getting Started

Users can work through the Jupyter Notebooks provided to gain a better understanding of pySBeLT's basic usage, potential, and data storage methods. Either launch the binder instance (Binder), clone the repository, or download the notebooks directly to get started.

If notebook's aren't your thing, simply run:

sbelt-run

or

from sbelt import sbelt_runner
sbelt_runner.run()

For help, reach out with questions to the repository owner szwiep and reference the documenation in docs/ and paper/!

Documentation

Documentation, including Jupyter Notebooks, API documentation, default parameters, and model nomenclature, can be found in the repository's docs/ directory. Additional information regarding the theoritical motivation of the model can be found in the paper/paper.md and THEORY.md files.

Two Jupyter Notebooks describe basic usage and the structure of the output hdf5 format file.

The API documentation is in HTML format. These files can either be downloaded and viewed directly in your browser or can be viewed using the GitHub HTML preview project.

Attribution and Citation

If you use Simframe, please remember to cite (to be updated later).


@article{Zwiep2022,
  doi = {10.21105/joss.04282},
  url = {https://doi.org/10.21105/joss.04282},
  year = {2022},
  publisher = {The Open Journal},
  volume = {7},
  number = {74},
  pages = {4282},
  author = {Sarah Zwiep and Shawn M. Chartrand},
  title = {pySBeLT: A Python software package for stochastic sediment transport under rarefied conditions},
  journal = {Journal of Open Source Software}
}

Publication

The publication with more details can be accessed here: DOI

Ackowledgements

pySBeLT has received funding from NSERC Undergraduate Student Research Awards Program and Simon Fraser University.

pySBeLT was developed at the Simon Fraser University within the School of Environmental Science.

About

A Markov-type numerical model of sediment particle transport in rivers

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •