Protecting assets from flooding: what size flood do I need to consider?

Often assets, such as houses or mines, have some design life. If they are to be built on flood prone land then we need to decide the appropriate level of flood protection so there is an acceptable flood risk during their design life.

Consider an example. This is taken from the wonderful book Statistical methods in Hydrology by C. T. Haan (see p 87 of the second edition).

In order to be 90% sure that a design flood is not exceeded in a 10-year period, what should be the return period of the design flood?

The example is analogous to tossing a biassed coin. We are going to toss a coin 10 times, once for each of the 10 years of the design life, and we want to be 90% sure that there will be no heads – assuming heads means floods. What probability, p, should we set for getting a head for a single toss. The return period we are interested in will be 1/p.

The probability of getting no floods during the design period is


This needs to equal 90%

0.9 = (1 – p)^10

Therefore p = 1- 0.9^(1/10) = 0.01408

The return period = 1/p = 95.413

So to be 90% sure of avoiding failure, we need to ensure our asset, with a 10-year design life, is protected against a 96-year flood event.

What is the probability of getting at least one flood in the 10-year design life if the asset is protected against floods with a 10-year recurrence interval?

1 – (1 – (1/10))^10 = 0.651 = 65%

Setting the design recurrence interval equal to the design life means that it is likely the asset will experience flooding.

Haan provides a graph that shows design return period required as a function of design life to be a given percent confident that the design condition is not exceeded. I’ve reproduced this below.

Design return period required as function of design life to be a given percent confident that the design condition is not exceeded

Design return period required as function of design life to be a given percent confident that the design condition is not exceeded

Using the graph, if a house has a design life of 50-years1 then to be 95% confident of not being flooded, the house needs to be protected against floods with a return period of about 1000 years (the actual answer is 975 years).  The is a much higher standard than is commonly used.  Current practice is to adopt the 100-year flood as a design event in most situations which means many assets, that are ostensibly protected against floods, will nevertheless be flooded during their design life.

Probably of at least 1, 1% flood in 50 years.

Pr = 1 - (1 - 0.01)^{50} = 0.395

So 39.5% of flood prone houses, protected to a 1% standard, will flood during their design life.

R code is below.

# Function to calculate the required return period given:
# in years
# confidence (%propability of not being flooded)

CalcReturnPeriod <- function(, confidence ) {
  1/(1- (confidence/100)^(1/

# 50 year design life
# 95% confident wont be flooded

CalcReturnPeriod(50, 95)
[1] 975.2864 years

# Make the graph


source_gist('cc60bbb3cbadf0e72619') # ggplot theme BwTheme

my.pal <- brewer.pal(length(confidence.seq), 'Paired') # define line colours

confidence.seq <- c(30, 40, 50, 60, 70, 75, 80, 90, 95) <- 10^seq(0,2,0.1)

y.label <- CalcReturnPeriod(1, confidence.seq) # location of labels

df %>%
  mutate(return.period = CalcReturnPeriod(, confidence)) %>%
  ggplot(aes(x =, y = return.period, color = factor(confidence))) + 
  geom_line() +
  annotate('text', x = 0.9, y = y.label, label = confidence.seq) +
  scale_x_log10(name = 'Design life', breaks = c(1,2, 5, 10,20, 50, 100)) +
  scale_y_log10(name = 'Return period',  breaks = c(1,2, 5, 10,20, 50, 100, 200, 500, 1000)) +
  BwTheme +  # pre-defined theme
  scale_colour_manual(values = my.pal) +
  theme(legend.position="none")   # remove legend

1 Australian Rainfall and Runoff (Book 1, Table 1.5.2) lists the effective service life of residential buildings as 40 to 95 years.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s