Blog posts

2026

2025

2024

Bayesian Additive Regression Trees for Probabilistic Scenario Discovery

14 minute read

Published:

In this post, I provide an argument for using Bayesian Additive Regression Trees (BART) in scenario discovery contexts, highlighting the strengths of the BART model compared to other models used in the literature. I give a very quick introduction to the BART model formulation. Finally, I demonstrate the benefit of using BART for scenario discovery (AKA factor mapping) compared to deterministic Gradient Boosted Tree methods using the Shallow Lake Problem.

WaterSciCon24: Themes, Highlights, and Links

12 minute read

Published:

Last week I had the chance to travel to St. Paul, Minnesota, for the WaterSciCon conference hosted by AGU and CUAHSI. In this post, I give some of my own reflections on the core themes from the conference and share links and resources that were highlighted during the sessions.

Sankey Diagrams for USGS Gauge Data in Python(?)

9 minute read

Published:

This post was inspired by the Sankey diagram in Figure 1 of this pre-print led by Dave Gold:Exploring the Spatially Compounding Multi-sectoral Drought Vulnerabilities in Colorado’s West Slope River Basins” (Gold, Reed & Gupta, In Review) which features a Sankey diagram of flow contributions to Lake Powell. I like the figure, and thought I’d make an effort to produce similar diagrams using USGS gauge data.

Introduction to Bayesian Regression using PyMC

9 minute read

Published:

Fans of this blog will know that uncertainty is often a focus for our group. When approaching uncertainty, Bayesian methods might be of interest since they explicitly provide uncertainty estimates during the modeling process.

The Thomas-Fiering Model for Synthetic Streamflow Generation - Python Implementation

4 minute read

Published:

In 1962 a group of economists, engineers and political scientists who were involved in the Harvard Water Program published “Design of Water Resource Systems”. In chapter 12 of the book, Thomas and Fiering present the following statistical model which was one of the first, if not the first, formal application of stochastic modelling for synthetic streamflow generation and water resource systems evaluation.

12 Years of WaterProgramming: A Retrospective on 500+ Blog Posts

7 minute read

Published:

Just over 12 years ago, on January 9th 2012, the first WaterProgramming post was published. It was written by Joe Kasprzyk who is now an Associate Professor at CU Boulder, but at the time was a graduate student in the Reed Research Group. The post reads, in it’s entirety:

Welcome!

This blog shares tips for writing programs and running jobs associated with using multiobjective evolutionary algorithms (MOEAs) for water resources engineering. It will be informal, with posts on a number of topics by a number of folks.

2023

Overview of the National Hydrologic Model

7 minute read

Published:

Over the past several months, I have been working with data from the US Geological Survey’s (USGS) National Hydrologic Model (NHM), a valuable resource that required some time to become familiar with. The goal of this post is to provide an overview of the NHM, incorporating as many links as possible, with the hope of encouraging others to utilize these resources and serving as a springboard for further investigation.

Interactive Geo-Spatial Maps with Folium for Python

12 minute read

Published:

Interactive mapping and data visualization provide data scientists and researchers with a unique opportunity to explore and analyze spatial data, and to share their work with stakeholders in a more engaging and accessible way.

2022

Markdown-Based Scientific and Computational Note Taking with Obsidian

7 minute read

Published:

Over the last year, being in the Reed Research Group, I have been exposed to new ideas more rapidly than I can manage. During this period, I was filling my laptop storage with countless .docx, .pdf, .txt, .html files semi-sporadically stored across different cloud and local storages.