Category Archives: Hydrology

Red Books

I wrote a previous post about the on-line availability of the ‘Blue Books’, a key resource for Victorian Hydrologists which contain stream gauge information to 1987.   Now the ‘Red Books’ are also available, which include stream gauge information to 1982.  There are some additional gauges in the Red Books so its good to check both sources if you are looking for stream data.

The four volumes can be accessed via these links:

Red Books

Australian Rainfall and Runoff Workshops

A brief post to highlight the three ARR2016 workshops coming up in Melbourne:

As I learn things about ARR2016 I’m adding pages here.

R Packages for Hydrology

The Environmetrics Task View contains information about using R to analyse ecological and environmental data.  Importantly it includes a list of packages useful for hydrology.

I’ve extracted part of the task view here but please also check the original.  Acknowledgements to Gavin Simpson.

  • Package HydroMe estimates the parameters in infiltration and water retention models by curve-fitting method.
  • hydroTSM is a package for management, analysis, interpolation and plotting of time series used in hydrology and related environmental sciences.
  • hydroGOF is a package implementing both statistical and graphical goodness-of-fit measures between observed and simulated values, mainly oriented to be used during the calibration, validation, and application of hydrological/environmental models. Related packages are tiger, which allows temporally resolved groups of typical differences (errors) between two time series to be determined and visualized, and qualV which provides quantitative and qualitative criteria to compare models with data and to measure similarity of patterns
  • hydroPSO is a model-independent global optimization tool for calibration of environmental and other real-world models that need to be executed from the system console.hydroPSO implements a state-of-the-art PSO (SPSO-2011 and SPSO-2007 capable), with several fine-tuning options. The package is parallel-capable, to alleviate the computational burden of complex models.
  • EcoHydRology provides a flexible foundation for scientists, engineers, and policy makers to base teaching exercises as well as for more applied use to model complex eco-hydrological interactions.
  • topmodel is a set of hydrological functions including an R implementation of the hydrological model TOPMODEL, which is based on the 1995 FORTRAN version by Keith Beven. New functionality is being developed as part of the RHydro package on R-Forge.
  • dynatopmodel is a native R implementation and enhancement of the Dynamic TOPMODEL, Beven and Freers’ (2001) extension to the semi-distributed hydrological model TOPMODEL (Beven and Kirkby, 1979).
  • wasim provides tools for data processing and visualisation of results of the hydrological model WASIM-ETH
  • The nsRFA package provides collection of statistical tools for objective (non-supervised) applications of the Regional Frequency Analysis methods in hydrology.
  • The boussinesq package is a collection of functions implementing the one-dimensional Boussinesq Equation (ground-water).
  • rtop is a package for geostatistical interpolation of data with irregular spatial support such as runoff related data or data from administrative units.


Seasonal gradient in flow across Melbourne

There is a seasonal gradient in flow across Melbourne. Out in the rural east, the rivers flow as you would expect; high flows in winter (maximum in August) with dry conditions in January, February and March.  As we track west, the seasonal signal is lost and we get similar flows in all months.

Lets look at monthly discharges in seven streams from the Bass River, near Phillip Island, around to the Werribee River.


Flow in the Bass River at Glen Forbes South is strongly seasonal.  The graph below shows the flow volume in each month. The horizontal lines are the monthly averages with vertical lines representing volumes for each month as recorded in the years 2000 to 2015.


As we track west, winter flows become less pronounced; see the discharges for the Bunyip River below.


There is a small seasonal signal in Eumemmerring Creek (near Dandenong), but in the streams in urbanised catchments (from east to west – Gardiners, Merri and Kororoit) there is no evidence of seasonality.   For these streams, the high flow months are November and February.  This is partly driven by some unusually large events, for example, the flood of Feb 2005 stands out on these figures.

For the highly regulated Werribee River, average monthly volumes are higher in summer and spring.  The small number of large vertical spikes show this pattern is influenced by a few rare events.






Its difficult to tease out the cause of the differences in seasonality as these streams are affected by gradients in urbanisation, climate, and regulation.  Certainly, urbanisation has a strong influence. The impervious surfaces in urban areas will produce runoff all year round; they aren’t influenced by the seasonal wetting and drying that occurs in the rural catchments.

And the consequences?  We know that fish, for example, respond to seasonal flow changes to migrate and spawn.  But changes in seasonality are probably only a small influence in comparison with the large number of factors affecting the ecology of these streams.

Graphing a water balance

The water balance for a urban catchment equates the change in storage during a certain period, with the difference between water inputs (precipitation and mains water) and water outputs (evaporation, stormwater runoff and wastewater discharge).

\Delta s = (P+I) - (E_a + R_s + R_w)

\Delta s change in catchment storage
P precipitation
I  imported water
E_a actual evaportranspiration
R_s stormwater runoff
R_w wastewater discharge

Mitchell et al., (2003) provides data on the water balance for Curtin, ACT for 1979 to 1996.  The water balance for the average, wettest and driest years are shown in the table below.


When presenting financial statements, a common approach is to use a waterfall chart which shows how the components of a financial balance contribute to an overall result.  Here I’ve used a waterfall chart to show the water balance for Curtin for the driest and wettest year as reported by Mitchell et al., (2003).



Figure 1: Water balance for Curtin, ACT in (A) and driest and (B) the wettest years as estimated by Mitchell et al., (2003).

Does this approach to visualising a water balance help understanding?  A few things stand out:

  • In the driest year, more water was input from the mains than from rainfall
  • In the driest year, actual evapotranspiration was larger than rainfall and mains inputs.
  • Evapotranspiration and stormwater change with climate, with large variation between the wet and dry years.  Wastewater doesn’t change all that much.
  • Precipitation is highly variable, ranging from 247 mm to 914 mm.

There is a guide to making a waterfall chart in excel here.  The R code to produce the graphs shown in this blog is available as a gist, which draws on this blog.


Mitchell, V. G., T. A. McMahon and R. G. Mein (2003) Components of the Total Water Balance of an Urban Catchment. Environmental Management 32(6): 735-746. (link)

Munging rating tables

The Victorian water monitoring site includes rating tables for stream gauges but they are in a format that is not easy to work with.   An example is shown in Figure 1 below.

Rating table

Figure 1: Extract of rating table

The following steps can be used to extract and convert the data into a useable format.

1. Download and save rating table.  Click the button shown to get the rating table as a text file.


Figure 2: Save the rating table

2. Re-format the data to create columns of levels and flows.  You’ll need to use your favourite tool for this munging step.  An example using R is available as a gist.

3. Plot and compare with the online version


Figure 2: Rating plot (source:


Figure 3: Rating plot using data from rating table

4. Save as a csv file for further use.

R code is available here.

Related posts:

Converting between EY, AEP and ARI

The latest version of Australian Rainfall and Runoff (ARR2016) proposes new terminology for flood risk (see Book 1, Chapter 2.2.5).  Preferred terminology is provided in Figure 1.2.1 which is reproduced below.


  • EY – Number of exceedances per year
  • AEP – Annual exceedance probability
  • AEP (1 in x) – 1/AEP
  • ARI – Average Recurrence Interval (years)

Australian Rainfall and Runoff preferred terminology

For floods rarer than 5%, the relationship between the various frequency descriptors can be estimated by the following straightforward equations.

\mathrm{EY} = \frac{1}{\mathrm{ARI}}
\mathrm{EY} = \mathrm{AEP}
\mathrm{AEP(1\; in\; x \;Years)} = \frac{1}{\mathrm{AEP}}
\mathrm{ARI} = \mathrm{AEP(1\; in \; x \; Years)}
\mathrm{AEP} = \frac{1}{\mathrm{ARI}}

For common events, more complex equations are required (these will also work for any frequency):

\mathrm{EY} = \frac{1}{\mathrm{ARI}}
\mathrm{AEP(1\; in\; x \;Years)} = \frac{1}{\mathrm{AEP}}
\mathrm{AEP(1\; in\; x \;Years)} = \frac{\exp(\mathrm{EY})}{\left( \exp(\mathrm{EY}) - 1 \right)}
\mathrm{ARI} =\frac{1}{-\log_e(1-AEP)}
\mathrm{AEP} = \frac{\exp(\frac{1}{\mathrm{ARI}}) - 1}{\exp(\frac{1}{\mathrm{ARI}})}

A key result is that we can’t use the simple relationship ARI = 1/AEP for frequent events.  So, for example, the 50% AEP event is not the same as the 2-year ARI event.

Example calculations

For an ARI of 5 years, what is the AEP:

\mathrm{AEP} = \frac{\exp(\frac{1}{\mathrm{5}}) - 1}{\exp(\frac{1}{\mathrm{5}})} = 0.1813

For an AEP of 50%, what is the ARI?

\mathrm{ARI} =\frac{1}{-\log_e(1-0.5)} = 1.443

R functions and example calculation available as a gist.