Open tools, free to run.
Two projects carry the dissertation: the GeoClimate Intelligence Platform opens Earth data to people who do not program, and MRRpy turns those data into floods. Both are free, documented, and already used in teaching. The code behind my published papers is public too.
MRRpy
The Multi-Mechanism Runoff and Routing model: rainfall–runoff and flood routing for any basin on Earth, from a DEM and a storm. It traces the drainage network of a DEM, works out how much rain runs off, routes the water through every grid cell and sub-grid river channel, and reports the outlet hydrograph, flood maps, and a water-balance check.

Install
pip install MRRpy # core (CPU) pip install "MRRpy[gpu]" # + CuPy/CUDA acceleration pip install "MRRpy[gee]" # + Google Earth Engine forcing
Run, given only an outlet
from MRRpy import Config, run_pipeline cfg = Config(DEM_PATH="dem.tif", OUTPUT_DIR="results/", OUTPUT_POINT=(27.632, 85.293), # (lat, lon) of the outlet TARGET_CRS_EPSG="EPSG:32645") # a projection in metres run_pipeline(cfg) # results/hydrograph.csv
MRRpy wizard # answer a few questions, get run.yaml MRRpy run -c run.yaml # process the DEM and route the storm
What it offers
- DEM to watershed. Reproject, pit-fill, D8 flow direction and accumulation, and delineation, or route the whole DEM with no outlet.
- Runoff generation. Coefficient, raster, SCS curve number, or physical runoff: variable source area saturation excess, Green–Ampt infiltration with recovery, and impervious surfaces as composable mechanisms.
- Flood routing. Kinematic wave, Muskingum–Cunge, a semi-implicit diffusion wave solved exactly on the drainage tree, and a local-inertial dynamic wave, with sub-grid river channels sized from the 2-year flood and an always-on water-balance check.
- Satellite forcing. Optional DEM download, IMERG rainfall, curve numbers, SERVES soil deficit, SoilGrids, HiHydroSoil, and land cover from Google Earth Engine; every option also works offline with your own files.
- Flood maps. Depth and discharge maps over time, animations, and peak-depth GeoTIFFs.
- CPU or GPU. One code path in NumPy or CuPy, with automatic CPU fallback; 34 times faster on GPU at 1.38 million cells.
- Interfaces for every taste. Python API, a command line with a question-and-answer wizard, a Jupyter form, and a QGIS plugin.
GeoClimate Intelligence Platform
A Streamlit web platform on Google Earth Engine that lets students, engineers, and researchers search, analyze, and export environmental data in a browser: 1,042 datasets and 23 climate indices, with no code. Free for research and teaching.
See it working
Every screenshot here comes from a real run of the platform in October 2026. Click a step, or let it play.
The nine tools
- Tool 1
GeoData Explorer
Search and download from the STAC API and Earth Engine catalog, with map preview, flexible areas, and GeoTIFF, NetCDF, or CSV export.
- Tool 2
Climate Intelligence Hub
ETCCDI climate indices such as TXx, RX1day, and CDD, with Mann–Kendall trend tests, time series, and maps.
- Tool 3
Hydrology Analyzer
Precipitation analysis with return periods, frequency analysis, IDF curves, and drought indices.
- Tool 4
Optimal Product Selector
Compares station data with gridded datasets to find the best source, from daily values to extremes.
- Tool 5
Multi-Geometry Export
Time series for many areas in one file, such as every county in a state.
- Tool 6
Data Visualizer
Upload results from any tool and explore time series and rasters with charts and summaries.
- Tool 7
Raster Calculator
Band math on any Earth Engine dataset: NDVI, NDWI, EVI, or custom expressions, with temporal aggregation.
- Tool 8
GLOBAL-SAM
Monthly snow depth from MODIS and GLDAS with an ERDC algorithm, compared against reference data.
- Tool 9
SERVES
Soil moisture, snow water equivalent, and land-surface analysis with the method of Dr. Nawa Raj Pradhan (ERDC).
More tools, real outputs
Papers and talks
- 2026GeoClimate Intelligence Platform: A web-based framework for environmental data analysis, Environmental Modelling & Software
- 2026Bridging the gap: An open-source, low-code platform for integrating data science into water resources engineering education, ASCE-EWRI Congress proceedings
- 2026Democratizing hydroclimatic science education through the GeoClimate Intelligence Platform, 106th AMS Annual Meeting (oral)
- 2025Global Snow Attribute Mapping Tool (Global-SAM), AGU Fall Meeting (co-author)
In classrooms and workshops
- 2025Used by 16 undergraduates in Advanced Water Resources Engineering at Jackson State University
- 2025AUC Data Science Initiative faculty workshop, "Harnessing GeoClimate Intelligence for Research Innovation" (28 registered faculty)
- 2025Smartphones4water workshop on crowdsourced and accessible environmental data analysis (lead instructor)
- 2025Best in Show and first place, Microsoft × AUC Data Science Initiative Data Challenge
Smaller tools and the code behind the papers.
Cooling Efficiency Analyzer
Estimates the cooling potential of urban green and blue spaces from Landsat land surface temperature (Urban Climate, 2025).
Open the app Interactive courseLearn hydrology with MRRpy
A free six-module course that follows the model's pipeline in the browser, from terrain to routing.
Start the course Course platformAdvanced Water Resources Engineering
Interactive Streamlit materials for CIV 465: big-data analytics, machine learning, extreme-value analysis, and climate projections.
Open the platformCode on GitHub
- Pythonwdxx-precipitation-indices: the WDxx and WDxxR rainfall-timing indices of "Do the wettest days occur together?" (Earth and Space Science, 2026)
- Pythonspatiotemporal-heatwave-analysis: ERA5 heatwave indices, trends, and vulnerability maps from the 2024 Scientific Reports study
- PythonClimate-Analysis-Tool: analysis and visualization of CMIP6 climate projections
- RCompoundFloodAnalysis: dependence between storm surge and precipitation
- PythonIndex-Visualizer and GeeData-GroundData-validator: Earth Engine workshop tools for climate indices and checking gridded data against stations
- PythonGSSHA_Automation: prepares storm-surge time series as GSSHA boundary inputs