https://github.com/ch-earth/hydro_decision_calendars
Creating Decision Calendar Plots for Hydrological Forecasting
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 9 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.5%) to scientific vocabulary
Repository
Creating Decision Calendar Plots for Hydrological Forecasting
Basic Info
- Host: GitHub
- Owner: CH-Earth
- License: mit
- Language: Jupyter Notebook
- Default Branch: main
- Size: 85.9 MB
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
Decision Calendar
A Python-based tool for creating Decision Calendar Plots for Hydrological Forecasting.
Overview
This repository contains tools to generate decision calendar visualizations for hydrological forecasting. Decision calendars help river forecast centers, water resource managers and stakeholders understand the timing of key decisions and their relationship to hydrological forecasts.
Repository Structure
notebooks/- Jupyter Notebook for creating decision calendars -config/- Configuration files in YAML formatchena.yaml- Configuration for Chena River analysisross.yaml- Configuration for Ross River analysis
scripts/- Python scripts for generating decision calendarsdecision_calendars.py- Main script for creating decision calendar plots
data/- Data files for streamflow and snow dataoutput/- Output files for decision calendarsimages/- Images used in the decision calendars
Example Output

Getting Started
Prerequisites
- Python 3.x
- Required Python packages (recommend creating a virtual environment):
bash pip install jupyter numpy pandas matplotlib pyyaml pycirclize
Usage
Clone the repository:
bash git clone https://github.com/CH-Earth/hydro_decision_calendars.git cd decision_calendarLaunch Jupyter Notebook:
bash jupyter notebookRun the notebook
notebooks/decision_calendars.ipynbto create decision calendars.Configure your analysis (and colour schemes) by modifying the YAML files in the
config/directory to match your specific river system and decision points.
Updating the config files
The YAML configuration files in the config/ directory define the parameters for each river system's decision calendar. You can use the existing templates (chena.yaml and ross.yaml) as examples for creating configurations for other river systems.
Configuration Update Instructions
Colors and Styles
To update colors or styles:
1. Modify the hex codes under each relevant section.
- Example: Change annual_activities.critical_period from "#896279" to "#123456".
2. Update styles (e.g., line types, markers) in the styles section:
- linestyle: Options include "-" (solid), "--" (dashed), ":" (dotted), or "-." (dashdot).
- linewidth: Adjust thickness (e.g., 3 for thicker lines).
- marker: Update to other symbols like "o", "P", or "v".
- markerfacecolor: Use colors defined in visualization or input custom hex codes.
Track Configurations
Track configurations define visualization details like colors, line types, and ranges.
- To update specific tracks:
1. Change type (e.g., "line", "infill", "marker").
2. Update color using the keys in the colors section or custom hex codes.
3. Modify linestyle, linewidth, and alpha (transparency).
4. Adjust r_start, r_end, and months to change placement and duration.
- Example:
yaml
hydrological_critical_period:
type: "infill"
color: "hydrological_forecasting.critical_period"
alpha: 0.7
r_start: 65
r_end: 86
months: ["Apr", "May", "Jun", "Jul", "Aug", "Sep"]
Legend Groups
Legend groups control the labels and descriptions for different elements.
- To update:
1. Modify description for the group title.
2. Adjust the color and linestyle for clarity.
3. Add or remove elements as needed:
- Use type options like "line", "marker", or "space".
- Example:
yaml
- type: line
color: "hydrological_forecasting.forecast"
linestyle: "dotted"
linewidth: 3
label: "HEFS Forecasts"
Plot Settings
To update plot configurations:
1. Modify figure size:
- Example: Change figsize: [30, 16] to adjust width and height.
2. Update title text under titles.
3. Adjust the legend position (loc) and style attributes like fontsize and edgecolor.
Contributions are welcome! Please feel free to submit a Pull Request.
How to cite this project
If you use or reference this software in your work, please cite it as follows:
APA style (for general use):
Casson, D. (2025). CH-Earth/hydrodecisioncalendars: version 1.0 release (Version 1.0) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.16883445
BibTeX (for LaTeX users):
```bibtex @software{casson2025hydrodecisioncalendars, title = {CH-Earth/hydro_decision_calendars: version 1.0 release}, author = {Casson, Dave}, year = {2025}, month = aug, version = {1.0}, publisher = {Zenodo}, doi = {10.5281/zenodo.16883445}, url = {https://doi.org/10.5281/zenodo.16883445} }
Owner
- Name: CH-Earth: Computational Hydrology for a small planet
- Login: CH-Earth
- Kind: organization
- Repositories: 10
- Profile: https://github.com/CH-Earth
Computational software for hydrology and related geosciences from collaborative multi-institution projects (e.g., NCAR, U. Saskatchewan, U. Washington)
GitHub Events
Total
- Release event: 2
- Member event: 1
- Push event: 3
- Create event: 4
Last Year
- Release event: 2
- Member event: 1
- Push event: 3
- Create event: 4