Alongside consulting practice, I build and contribute to open-source tools for the Australian hydrology and hydraulic modelling community. Below are my active public repositories and selected technical contributions.


Open Source Repositories

pyextremes — ARR2019_Book3 Python Active Fork

Fork of Georgy Bocharnikov's pyextremes — extended for ARR 2019 Book 3 and USGS Bulletin 17C at-site flood frequency analysis.

Adds native Log-Pearson Type III (LP3) distribution fitting, the Multiple Grubbs-Beck Test for Potentially Influential Low Flood (PILF) identification, Two-Component Extreme Value (TCEV) distribution support, and LH-moments (h=1,2,3) for robust parameter estimation in Australian catchments where the "separation effect" affects standard L-moment fits.

The branch is functional and testable. I'm actively developing it and welcome user feedback and bug reports via GitHub Issues — this is genuinely useful for Australian practitioners who need a pure-Python ARR 2019–compliant FFA workflow.

📄 User Guide 📝 Insights Post ⭐ View on GitHub

tuflow-vscode TypeScript

VS Code extension for TUFLOW hydraulic model files.

Syntax highlighting, keyword IntelliSense, and file navigation for TUFLOW control files (.tcf, .tbc, .tgc, .tef). Reduces friction in the model development workflow — particularly useful when managing large, multi-file TUFLOW configurations. Available on the VS Code Marketplace.

⭐ View on GitHub

Billabong QGIS Plugin Python

Python plugin for QGIS — hydrological data processing and analysis tools.

A QGIS plugin providing hydrological analysis tools within the QGIS environment. Published to the QGIS Plugin Repository.

⭐ View on GitHub

PyRomb — URBS Model Builder Python PR merged upstream

URBS runoff model builder for QGIS — contribution merged into Tom Norman's PyRomb main repository.

I wrote the URBS model builder component of PyRomb, submitted as a pull request to Tom Norman's main repository. The contribution was accepted upstream — URBS and RORB runoff models can now both be built directly within QGIS via the PyRomb plugin, removing the need to configure model files manually outside the GIS environment.

⭐ View on GitHub


Interactive Tools

Peak–Area Relationship Explorer

Web app · Australian flood peak/catchment-area analysis

An interactive tool for exploring peak flow vs. catchment area relationships across modelled Australian flood studies — geospatial mapping and statistical comparison of flood characteristics by region.

Launch the tool →


Technical Projects

Delft-FEWS / GoldSim Model Adapter

Python · Seqwater / WRM Water & Environment · 2019

A Python pre/post-adapter enabling GoldSim reservoir routing models to run natively within a Delft-FEWS real-time forecasting system. The adapter translates FEWS PI-XML time series to GoldSim spreadsheet inputs (pre-adapter) and converts GoldSim output back to PI-XML for FEWS import (post-adapter), triggered by a batch controller. Presented at the 2019 TUFLOW User Conference.

📝 Technical Post 🖥️ Worked Example Slides

Continuous Simulation for Long-Duration Flood Estimation

Python · URBS · Internal R&D

Adapted the pyraingen stochastic rainfall generation framework (Dykman & Brady) for long-term URBS continuous simulation — generating synthetic rainfall sequences constrained to IFD design values for use in continuous simulation flood frequency analysis. Part of ongoing R&D into moving from design storm–based to continuous simulation–based design flood estimation.


View all repositories on GitHub →  |  Questions or collaboration on any of the above: get in touch.