The water we should be using first
How much water runs off Melbourne's roofs and roads?

L Stringybark Project main page

Christopher J Walsh The University of Melbourne


The last few years in Melbourne have been dry. In each of 2006, 2007 and 2008, only about 450 mm of rain fell in the city centre, down from the long-term average of about 650 mm.

While the dry has resulted in worrying declines in the volumes flowing into our water-supply reservoirs, it has had much less of an effect on the volume of damaging stormwater flowing into Melbourne's urban waterways. Here is a table detailing the very large volumes of stormwater that are making our urban waterways sick.


Annual rainfall


Average
(650 mm*)

Dry
(450 mm*)

Runoff from all roofs and roads of the Melbourne region

608 GL

400 GL

made up of...



Volume that the roofs and roads stop from soaking into the ground to provide dry-weather flows to the city's waterways (water that ideally should be allowed to flow to the waterways through the soils or through constructed filters like rain-gardens)

145 GL

50 GL

Volume that would have been taken up by plants to be released back to the air if they hadn't been replaced by roofs or roads (water that ideally should be kept in the catchment to water our gardens and parks, or to substitute for mains water)

463 GL

350 GL

A GL is a gigalitre - 1,000,000,000 litres - and the people of Melbourne currently use about 420-450 of them each year, imported from reservoirs in distant catchments. The Victorian Government is about to augment these supplies with 150 GL each year from a new desalination plant at Wonthaggi.

Almost all of the runoff from Melbourne's roofs and roads runs down our stormwater drains, damaging the health of our rivers and creeks, and threatening the health of our bays. As Melbourne expands and its existing suburbs become more densely developed, the volume of damaging stormwater that Melbourne produces will only increase, even in a drier future.

The health of our rivers and creeks depends on us retaining as much urban stormwater as we can in our catchments. If we were to turn to this abundant, secure water source to water our gardens and our parks, we could help keep our city green and cool. If we were to use a moderate proportion of it as a substitute for our main water supply, we could avoid expensive water supply augmentation projects that only serve to make our long-term response to climate change more difficult.

*These annual rainfall values are for central Melbourne. The runoff volumes were calculated allowing for variation in annual rainfall across the Melbourne region. For more information on how these numbers were calculated see the next tab at the top of this page (How runoff vols are calculated), and to work out how much damaging stormwater runoff is produced by a particular building or road of interest, see the third tab (Runoff from an area you know).

The volumes of stormwater runoff shown on the first tab were estimated from three sets of data that are illustrated below.




Melbourne's impervious surfaces (grey) and streams (coloured by the proportion of their catchment covered by impervious surfaces that drain to the stormwater system). Source: Melbourne Water

Average annual rainfall across the Melbourne region (Click on this image to see a larger version). Source: ANUCLIM

The relationship between annual rainfall and the amount of water running off impervious surfaces in any one year across the Melbourne region. Source: Bureau of Meteorology

Melbourne is spread across a strong rainfall gradient with long-term average annual rainfall ranging from ~600 mm in the west to over 1200 mm in the upper Yarra Valley. To calculate runoff from the 964 square kilometres of Melbourne's roofs and roads, each surface was first attributed an average annual rainfall.

Not all rainfall runs off impervious surfaces: it usually takes about a millimetre of rain before the surface is wet enough to allow water to run off it. The relationship between annual rainfall and annual runoff from impervious surfaces is fairly consistent across the Melbourne region, with as little as ~75% of rain running off in dry years and dry places, up to as much as ~90% in wet years and wet places (see the figure above right).

So runoff volume (in litres) from each surface was calculated by converting its annual rainfall to impervious runoff (in mm) and multiplying this by its area (in square metres).

If stormwater runoff from a building or road is directed directly to a stormwater drain, then it is contributing to the damage being done to the waterway at the end of the pipe. To remove the impact that the building or road is having on its waterway, a small proportion of its runoff should be delivered slowly through a filtration system to restore lost dry-weather flows, and as much of the remainder of its runoff as possible should be used to water plants or to replace the potable water supply.

To calculate the volume of runoff generated by a particular building or stretch of road in Melbourne:

  1. work out its area in square metres. (For instance a typical suburban house might be 15 m wide by 20 m long, making its area 15 x 20 = 300 square metres. A typical 'Bunnings' warehouse is 130 m x 80 m = 10400 sq m);

  2. estimate its long-term average annual rainfall by finding its location on the map below;

  3. enter the values in the boxes below*, and press the 'Calculate runoff volume' button.

    *Instead of entering 300 for the house area you could enter 15*20, or perhaps 15*20+10 if the house had a 10 sq m shed attached. NOTE: do not put commas in numbers - 1000 not 1,000.

Area in square metres: sq m
Average annual rainfall in millimetres (from the figure above): mm

 
          if(rain == "" | imparea == "")
          stop("You must enter a value greater than zero into each of the two boxes above.", call. = FALSE) 
          rain <- as.numeric(rain); imparea <- as.numeric(imparea)
          if(rain == 0 | imparea == 0)
          stop("You must enter a value greater than zero into each of the two boxes above", call. = FALSE) 
          if(rain < 450 | rain > 2000)
          cat("Warning: you have selected a long-term annual average
	  rainfall outside the range experienced in the Melbourne region \n")
          if(imparea < 10)
          cat("Warning: the area of roof or road that you have selected is too small for this  
              calculator to produce accurate results, as it rounds up to 1000s of litres \n")   
           x <- data.frame(Volume.in.1000s.of.litres = 
                 c("runoff per year", "vol. to return
                    to waterway through a filter", "vol. to keep out
                 of waterway and USE"),  
               Average.yr = 
                 c(imparea*rain*(0.192029*log10(imparea) +
                 0.278451), imparea*rain*0.2, NA),
               Dry.yr = 
                 c(imparea*rain*0.69*(0.192029*log10(imparea*0.69) +
                 0.278451), imparea*rain**0.69*0.2, NA))
         x$Average.yr[3] <- x$Average.yr[1] - x$Average.yr[2]
         x$Dry.yr[3] <- x$Dry.yr[1] - x$Dry.yr[2]
         x[,2:3] <- round(x[,2:3],-3)/1000

     HTMLon()
     Html(x); BR
     HTMLtag("span style='font-size:10pt; font-family:Arial; color:#745A32; float:left;'")
     cat("To put these volumes in perspective, the ideal volume of water to
     keep out"); BR
     cat("of waterways in a dry year (", x$Dry.yr[3]*1000, "litres) amounts to", round(x$Dry.yr[3]/200,1), "times
     the consumption"); BR
     cat("of an average Melbourne household of 200,000 litres per year.")
     HTMLtag("/span"); BR;
     HTMLtag("span style='font-size:10pt; font-family:Arial; color:#745A32; float:left;'")
     HTMLtag("hr size=1 width='100%' align=center color='#008CD6'")
     cat("A 5-mm rain shower on this area would produce",
     round(imparea*4,0), "litres of water"); BR
     cat("A 20-mm storm on this area would produce", round(imparea*19,0), "litres of water")
     HTMLtag("hr size=1 width='100%' align=center color='#008CD6'")
     HTMLtag("/span"); BR
     HTMLoff()
        

Christopher J Walsh
Department of Resource Management and Geography
The University of Melbourne

cwalsh@unimelb.edu.au
10 August 2009


dojo.event.connect(dojo.byId("ia"), "onchange",
                  function(e) {rpad.calculateNode(e.target, true);});

dojo.event.connect(dojo.byId("rn"), "onchange",
                   function(e) {rpad.calculateNode(e.target, true);});


// this makes all Rpad updates to output boxes "yellowfade" in
// make the street select box auto update
dojo.event.connect(rpad, "updateResults", 
    function (rpadResults, data) {
        dojo.lfx.html.highlight(rpadResults, 
            dojo.gfx.color.extractRGB("#FFFF40")).play(1000);  // from color - bright yellow
        // #FFFFE0

   });
dojo.debug("hello");
" ";