Case study: estimating height of a dike
Eric Marsden
<eric.marsden@risk-engineering.org>
Case study: estimating height of a dike Eric Marsden - - PowerPoint PPT Presentation
Case study: estimating height of a dike Eric Marsden <eric.marsden@risk-engineering.org> 2 / 15 Source: flickr.com/photos/william_veerbeek/7703915786/ , CC BY-NC-SA licence Dikes and fmooding 3 / 15 Flood protection equipment in New
<eric.marsden@risk-engineering.org>
Source: flickr.com/photos/william_veerbeek/7703915786/, CC BY-NC-SA licence
2 / 15
3 / 15
Source: flickr.com/photos/tomlawrence/621868082, CC BY-NC-SA licence
4 / 15
5 / 15
▷ In reality, dike design is a function of many parameters:
▷ In this work, very simplifjed equations are used
6 / 15
Source: B. Iooss, P. Lemaître, A review on global sensitivity analysis methods, 2015, hal-00975701
7 / 15
3/5
▷ 𝑎𝑑 is fmood level (variable of interest) ▷ 𝑎𝑛 and 𝑎𝑤 are level of the riverbed, upstream and downstream (uncertain) ▷ 𝑅 is maximal annual fmowrate of the river (uncertain) ▷ 𝐿𝑡 is Strickler’s roughness coeffjcient (uncertain) ▷ 𝐶 and 𝑀 are the width and length of the river cross section (certain)
8 / 15
9 / 15
10 / 15
𝑎𝑑 = 𝑔 (𝑅, 𝑎𝑛, 𝑎𝑤, 𝐿𝑡)
11 / 15
𝑛
𝑤
𝑛
𝑡
𝑑
safety margin Zc* Hdike Zc* << Hdike
12 / 15
13 / 15
*
13 / 15
▷ Fit a lognormal distribution to the measurements of maximal fmowrate
▷ Calculate the average height of the river by making a deterministic
▷ Produce a histogram of possible water levels, given the input uncertainty,
▷ Estimate the 100-year fmood level for this river
14 / 15
▷ To fjt a lognormal distribution to data, use
shape, loc, scale = scipy.stats.lognorm.fit(observations)
▷ A quantile-quantile plot can be drawn with
scipy.stats.probplot(obs, dist=scipy.stats.lognorm(shape,loc,scale), plot=plt.figure().add_subplot(111))
▷ To obtain a random variate from a probability distribution, use method rvs() ▷ To obtain a random number from a triangular probability distribution, use
numpy.random.triangular(min, centre, max)
▷ A lefu-truncated probability distribution can be obtained using (lefu truncation at 15)
max(15, random_variate)
▷ The square root of 𝑦 is given by numpy.sqrt(x) ▷ Plot a histogram with plt.hist(observations) (fjrst say import
matplotlib.pyplot as plt)
15 / 15