deep_bucket_lab
Model of water in/out of a bucket. Training an LSTM.
https://github.com/nwc-cuahsi-summer-institute/deep_bucket_lab
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
✓DOI references
Found 4 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.2%) to scientific vocabulary
Repository
Model of water in/out of a bucket. Training an LSTM.
Basic Info
- Host: GitHub
- Owner: NWC-CUAHSI-Summer-Institute
- License: mit
- Language: Jupyter Notebook
- Default Branch: main
- Size: 43.5 MB
Statistics
- Stars: 3
- Watchers: 0
- Forks: 20
- Open Issues: 1
- Releases: 3
Metadata Files
README.md
DeepBucketLab
Overview
DeepBucketLab is an interactive, hands-on tool designed to introduce students in civil engineering and Earth science disciplines to the fundamentals of neural network-based modeling, with a specific focus on hydrological processes. As neural networks become increasingly vital in predicting current and future hydrological conditions, there's a growing need for formal education in this area at the upper division and graduate levels. DeepBucketLab aims to fill this gap by providing a practical and educational platform for training effective neural network models for hydrological prediction.

Features
- Interactive Learning: Engage with neural network concepts through hands-on modeling exercises.
- Focus on Hydrology: Specifically designed for understanding hydrological processes using state-of-the-art neural network models.
- Practical Application: Learn how to train and evaluate neural network models in a hydrological context.
- Accessible Online: Easily accessible through Binder, allowing for immediate, hassle-free usage without the need for local setup.
Target Audience
- Upper Division Students: Ideal for students in advanced stages of civil engineering and Earth science programs.
- Graduate Students: A valuable resource for graduate students specializing in hydrology, environmental science, or related fields.
- Educators: A useful teaching tool for instructors in hydrology and environmental science.
Getting Started
To start using DeepBucketLab, simply click on the Binder badge above. This will launch the interactive notebook in your browser, allowing you to begin experimenting with neural network models right away.
Running the lab on your own computer
Install the conda environment
If you have anaconda installed on your computer, you should install and activate the environment from the file environment.yml with the following commands:
1. conda env create -f environment.yml
2. conda activate deep_bucket_env
Fully contained Jupyter Notebook
launch the following file in a Jypyter Notebook: deep_bucket_lab.ipynb
More information
For more detailed instructions and documentation, please see our technical description.

Advanced usage
Code for more advanced usage, including running your own interesting experiments, is split into several directories, each serving specific roles:
./src/
Contains the clean, modular code for the project, divided into several scripts:
- data_generation.py: Generates synthetic data simulating a leaking bucket hydrologic response.
- lstm.py: Implements the LSTM deep learning model.
- model_controller.py: Manages model functions such as training and data normalization.
- validation.py: Executes model validation and computes performance statistics.
- vizualization.py: Provides functionality for visualizing data and predictions.
./run/
Includes Jupyter notebooks and scripts for direct execution of the model training and simulation:
- run_deep_bucket_lab_with_graphics.ipynb: A Jupyter notebook with comprehensive visual outputs.
- run_deep_bucket_lab.py: A script for running the model from the command line.
./configuration/
Stores configuration files that dictate model parameters and settings.
./experiments/
Hosts scripts designed to run specific experiments, such as testing model sensitivity to input noise.
Using the advanced code
To run the model, you can either open the Jupyter notebook in the run directory or execute the scripts from the command line in the main directory:
- To start the Jupyter notebook with graphical outputs, navigate to ./runs/ and open run_deep_bucket_lab_with_graphics.ipynb.
- To train the model via command line: python3 ./runs/run_deep_bucket_lab.py.
- To conduct an experiment on noise sensitivity: python3 ./experiments/noise_iteration.py.
Citation Guide
Suggested citation
J. M. Frame, L. Hernandez Rodriguez, and M. Bassiouni, "DeepBucketLab - A Playground for Understanding Deep Learning for Hydrologic Process Representations," DOI: 10.5072/zenodo.7349
Or else
For more information on how to cite DeepBucketLab in your research or publications, please refer to our Citation Guide.
Contributing
We welcome contributions from the community, especially if you have used the tool in an educational setting and have identified specific areas for improvement, whether it's adding new features, improving documentation, or reporting issues. For major changes, please open an issue first to discuss what you would like to change.
Owner
- Name: NWC CUAHSI Summer Institute
- Login: NWC-CUAHSI-Summer-Institute
- Kind: organization
- Website: https://www.cuahsi.org/education/summerinstitute/
- Twitter: CUAHSI
- Repositories: 4
- Profile: https://github.com/NWC-CUAHSI-Summer-Institute
CUAHSI supports students in National Water Center (NWC) Summer Institute
Citation (CITATION.md)
# Citation Guide for DeepBucketLab Project ## How to Cite If you use DeepBucketLab or refer to its findings in your research or publications, please cite it as follows: ### APA Style Frame, J. M., Hernandez Rodriguez, L., & Bassiouni, M. (2023). DeepBucketLab - A Playground for Understanding Deep Learning for Hydrologic Process Representations. *Preprint*. University of Alabama; Lawrence Berkeley National Laboratory; University of California, Berkeley. 10.5281/zenodo.14538195 ### MLA Style Frame, Jonathan M., Leila Hernandez Rodriguez, and Maoya Bassiouni. "DeepBucketLab - A Playground for Understanding Deep Learning for Hydrologic Process Representations." *Preprint*, University of Alabama, Lawrence Berkeley National Laboratory, University of California, Berkeley, 9 Dec. 2023. 10.5281/zenodo.14538195 ### Chicago Style Frame, Jonathan M., Leila Hernandez Rodriguez, and Maoya Bassiouni. 2023. "DeepBucketLab - A Playground for Understanding Deep Learning for Hydrologic Process Representations." *Preprint*. ### IEEE Style J. M. Frame, L. Hernandez Rodriguez, and M. Bassiouni, "DeepBucketLab - A Playground for Understanding Deep Learning for Hydrologic Process Representations," *Preprint*, University of Alabama, Lawrence Berkeley National Laboratory, University of California, Berkeley, Dec. 9, 2023. 10.5281/zenodo.14538195 ## Contact Information For further inquiries or information about this project, please contact: - Jonathan M. Frame, University of Alabama, Email: jmframe at ua dot edu - Leila Hernandez Rodriguez, Lawrence Berkeley National Laboratory, Berkeley, CA 94720 - Maoya Bassiouni, Environmental Science, Policy Management, University of California, Berkeley, Berkeley, CA 94720
GitHub Events
Total
- Release event: 1
- Delete event: 1
- Issue comment event: 1
- Push event: 3
- Pull request event: 5
- Fork event: 2
- Create event: 4
Last Year
- Release event: 1
- Delete event: 1
- Issue comment event: 1
- Push event: 3
- Pull request event: 5
- Fork event: 2
- Create event: 4
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 3
- Total pull requests: 30
- Average time to close issues: 6 days
- Average time to close pull requests: 5 days
- Total issue authors: 1
- Total pull request authors: 4
- Average comments per issue: 0.67
- Average comments per pull request: 0.57
- Merged pull requests: 27
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 11
- Average time to close issues: 4 minutes
- Average time to close pull requests: 1 minute
- Issue authors: 1
- Pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 0.09
- Merged pull requests: 9
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- jmframe (3)
Pull Request Authors
- jmframe (21)
- quinnylee (7)
- maoyab (1)
- leilaher (1)