Software
I build research software that turns complex environmental data into usable models, methods, and analysis-ready products. The work ranges from new river-network algorithms and data platforms to end-to-end hydrologic modeling frameworks.
Most projects are geospatial, reproducible, and automation-heavy. Except for Pydro, I have been the primary developer of each project shown here, with ideas, knowledge, and code contributed by many friends and collaborators.
Featured software
Three projects that best represent the range of my current work: decision-making with AI, river-network algorithms, and global-scale data fusion.
Reservoir operations + reinforcement learning
Open source · In active development
DeepReservoir-Navajo
A deep reinforcement learning framework for optimizing reservoir operations in a virtual hydropower-reservoir environment. Scenario-driven rules, constraints, and objectives make it possible to test alternative operational strategies quickly.
Navajo Reservoir photo: U.S. Bureau of Reclamation (public domain)
Open source · Published
RivGraph
Extracts river and delta channel-network topology from georeferenced masks, assigns link directionality, and computes reproducible topologic and morphologic metrics.
Research platform · Source release planned
VotE (Veins of the Earth)
A river-centric data platform and API for rapidly querying, modeling, and visualizing data across global river networks.
About VotE
VotE is a first step toward fusing global hydrologic data into a common, AI-ready platform—something in the direction of a hydrologic digital twin. Its schema and workflows bring hydrography, dams, and river attributes into one consistent, queryable system.
The source currently includes build scripts and the API, but not the data or database. It is being prepared for a public release.
More software
Focused tools and modeling efforts. Open a card for a workflow figure or additional context.
Workflow example
rabpro connects user-defined locations to basin-scale context and can compute statistics for arbitrary raster inputs such as topography, precipitation, and vegetation through Google Earth Engine.
Open source
dapper
Curates, samples, and formats the datasets needed to run DOE’s E3SM Land Model across flexible grid-cell definitions.
What it automates
dapper (Data PreParation for ELM Runs) automates meteorological forcings, parameters, and related inputs. It leans on Google Earth Engine and other APIs to make sampling scalable for polygons such as watersheds as well as rectangular grids.
Example outputs
Example application
The units shown for metropolitan Toronto provide higher resolution where either human density or mosquito-habitat potential is high. Ecopopper contributed to a larger LANL team effort that received two 2025 R&D 100 Awards.
In development · Available by request
Pydro
A differentiable runoff-and-routing modeling effort for hybrid physics/AI learning, designed to remain trainable end to end while retaining physically meaningful structure.
Current work
Work to date includes development of an unreleased global wildfire-hydrology dataset for training and validation.
Available by request
hillsloper
Partitions digital elevation models into connected hillslopes for high-resolution terrestrial simulations while preserving hillslope-channel connectivity.
Modeling context
hillsloper creates vector-based terrain representations and characterizations suitable for the Advanced Terrestrial Simulator (ATS).
Example application
More than 50 million Chesapeake Bay water-quality observations were aligned in space and time with MODIS pixels in the cloud to create a statistical model.
Model context
The model was a collaboration among coauthors; I implemented it in code. A relatively simple interaction model produced rich dynamics and remained tractable for formal nonlinear-dynamics analysis.