Graphing a Water Balance — a Python Port of Tony Ladson's R Method
A Python port of Tony Ladson's waterfall-chart method for visualising an urban catchment water balance — plus a check the original R script doesn't run: does...
Read MoreProfessional commentary and analysis on flood modelling, hydrological data science, and engineering practice in Australia. Originally published across LinkedIn and expanded here.
A Python port of Tony Ladson's waterfall-chart method for visualising an urban catchment water balance — plus a check the original R script doesn't run: does...
Read More'Don't use rainbow colourmaps' is good advice usually delivered as an assertion. This is the same advice with the receipts — a measurable reason a jet colour...
Read MoreTony Ladson's 2017 roundup of R packages for hydrology is a genuinely useful map of that ecosystem. This is the Python-side equivalent — independently resear...
Read Morepyraingen promises stochastic daily/subdaily rainfall generation with IFD constraining — a genuinely useful way to explore rainfall behaviour beyond a single...
Read MoreTony Ladson's R blog has quietly taught a lot of Australian hydrologists how to actually do this stuff in code. This is a validated Python port of his method...
Read MoreR's nls() doesn't give you confidence or prediction intervals the way lm() does for linear models — you have to do the propagation yourself, or reach for ano...
Read More'Unprecedented' gets used loosely after a big flood. Fitting a stationary distribution to the historical record, running a trend test, and checking what AEP ...
Read MoreA sequential colour palette is the wrong tool for distinguishing unrelated categories — it implies a ranking that isn't there and gives the least contrast ex...
Read MoreRunning 10 ARR temporal patterns is standard practice. Some contain a specific, recognisable error pattern that produces physically unrealistic flood peaks. ...
Read MoreAn earlier attempt at this post stalled on a missing long-duration equation, 10 regional coefficient sets, and an interpolation rule that isn't obvious from ...
Read MoreARR 2019 recommends Monte Carlo simulation treating initial loss as a random variable. Most practitioners still use fixed median values because the sampling ...
Read MoreAutomated calibration routinely produces high NSE values on models that are physically unrealistic. This post implements NSE, KGE, PBIAS, and peak flow bias ...
Read MoreThe standard Australian baseflow separation method exists only in R. This post provides a validated Python translation, applied to the Ladson reference examp...
Read MoreEvery BOM severe weather and thunderstorm outlook leans on a chart most engineers have never been taught to read. Here's what it actually shows, and a worked...
Read MoreThe human mind isn't built to distinguish a 1 in 100 chance from a 1 in 2000 chance — they both just feel 'rare'. A time-based framing that actually works, v...
Read MoreA benchmark of AI rainfall-downscaling models found no single model performed best across every metric or region — a precise, checkable illustration of a big...
Read MoreGoogle's Flood Hub and DeepMind's GraphCast both landed with genuinely impressive claims. Six years running DELFT-FEWS in an operational flood centre suggest...
Read MoreI've extended the pyextremes Python library to support ARR 2019 / Bulletin 17C–compliant at-site flood frequency analysis — adding LP3, Multiple Grubbs-Beck ...
Read MoreA 7.2% per °C average increase in extreme rainfall intensity across Australia conceals enormous regional variation — from 21.3% in the monsoonal north to 1.4...
Read MoreFrance went from managing a multi-year structural water deficit to a nationwide flood emergency in a single weather event. The lesson for Australian dam oper...
Read MoreFrance endured 37 consecutive days of rain — the longest unbroken streak since 1959. But the mechanism driving the disaster isn't the rainfall total. It's th...
Read MoreThe UN University's 'water bankruptcy' concept reframes persistent water insecurity as structural failure rather than temporary crisis. For Australian practi...
Read MoreI replicated Ed Hawkins' climate stripes style using the Simple Daily Intensity Index and the SILO Patched Point Dataset to show how rainfall intensity is sh...
Read MoreLake Powell dropped within 30 feet of minimum power pool in 2023. The River Outlet Works — the last remaining release mechanism at low levels — experiences d...
Read MoreGrazalema, Spain recorded 2,449mm in 40 days and 512.5mm in a single 24-hour period. What does this mean for the IFD curves we design infrastructure around?
Read MoreThe past three years — 2024, 2023, and 2025 — were the three hottest years on record. For Australian dam operators and water planners, one under-examined con...
Read MoreWhat happens when you plot rainfall, catchment area and peak flow for 55,000 print locations from Terry Malone's calibrated Australian URBS dataset? A fronti...
Read MoreThe 2024 Kedron Brook Flood Study (Brisbane City Council) provides a rare opportunity to see a rigorous Bayesian flood frequency analysis applied to a well-i...
Read MorePost-processing TUFLOW results used to take hours. Here's how a few Python scripts changed that — and what I learned building them.
Read MoreThree coastal gauges in North Queensland — Ingham, Paluma and Townsville — all came in at or close to maximum accumulation for the 2024/25 water year. The Ro...
Read MoreDesign storms have served the industry well, but they carry embedded assumptions that continuous simulation exposes. Here's why the shift matters.
Read MoreJoy Division's Unknown Pleasures album cover — stacked ridgeline plots of pulsar radio data — is one of the most iconic scientific visualisations ever repurp...
Read MoreThe Australia v India Brisbane Test Match prompted me to pull 136 years of SILO rainfall data for the Gabba and ask: what fraction of days in late November a...
Read MoreBayesian methods for flood frequency analysis are no longer academic curiosities. Here's what they offer and when they're worth the extra effort.
Read More