# A flood model¶

## Introduction¶

The following figure presents a dyke protecting industrial facilities. When the river level exceeds the dyke height, flooding occurs. The model is based on a crude simplification of the 1D hydrodynamical equations of Saint-Venant under the assumptions of uniform and constant flow rate and large rectangular sections. This model was first introduced in [deRocquigny2006], and then used in [Limbourg2010], [deRocquigny2012], [iooss2015], [baudin2015].

Height independent random variables are considered:

• : flow rate ;

• : Strickler ;

• : downstream height ;

• : upstream height ;

• : river width ;

• : river length ;

• : altitude of the river banks ;

• : height of the dyke .

When the Strickler coefficient increases, the riverbed generates less friction.

The altitude of the dyke is:

The slope of the river is assumed to be close to zero, which implies:

if . The water depth is ([deRocquigny2012] eq. 3.2 page 79) :

for any . The flood altitude is:

The altitude of the surface of the water is greater than the altitude of the top of the dyke (i.e. there is a flood) if ([deRocquigny2012] eq. 3.3 page 79):

is greater than zero.

The following figure presents the model with more details.

The cost can be decomposed into the building of the dyke and the cost of the flood ([iooss2015] eq. 5.3 page 103):

where the cost of the dyke is:

and the cost of the flood is:

We assume that the 8 inputs have the following distributions. We consider 2 different set of hypotheses.

• In the hypothesis where is low, then its distribution is uniform in the interval .

• In the hypothesis where is high, then its distribution is uniform in the interval . This is the hypothesis used in [iooss2015].

Input variable

Distribution

Gumbel(mode=1013, scale=558), > 0

Normal(mu=30.0, sigma=7.5), > 0

Uniform(a=49, b=51)

Uniform(a=54, b=56)

Triangular(min=295, mode=300, max=305)

Triangular(min=4990, mode=5000, max=5010)

Triangular(min=55, mode=55.5, max=56)

Uniform(min=2, max=4)

Table 1. Distribution of the input random variables in the scenario where is low.

Input variable

Distribution

Uniform(min=7, max=9)

Table 2. Distribution of the input random variables in the scenario where is high. The other variables have the same distribution.

Moreover, we assume that the input random variables are independent.

We want to estimate the flood probability:

The results depend on the hypothesis chosen for .

• If is low, then (with coefficient of variation lower than 0.01). In this case, the model is mostly additive.

• If is high, then (with coefficient of variation lower than 0.01). In this case, the model for has interactions, mainly for , , and . The model is mostly additive for and .

## Analysis of the model¶

The next figure presents the river height depending on the flowrate when the other parameters are set to their mean values. We see that the river height as a power model shape which is a property of the Manning-Strickler model.

The next figure plots the cost depending on the overflow in the default scenario where the dyke height is low. It makes use of a Quasi Monte Carlo sample of size .

The next figure plots the cost depending on the dyke height when the other parameters are set to their mean values. We notice that the cost first decreases because the flooding cost decreases when the dyke height increases. Then the cost increases because cost of the dyke increases when the dyke height increases.

The next figure presents the distribution of the three outputs in the default scenario where the height of the dyke is low. It is based on a Monte-Carlo sample of size and uses the histogram to estimate the density of the output of the model.

The next figure presents the distribution of the three outputs in the scenario where the height of the dyke is high.

The next figure presents the Sobol’ indices of the three outputs in the scenario where the height of the dyke is low. We estimate the Sobol’ indices from sampling, using a root sample size equal to and the Sobol’ low discrepancy sequence.

The next figure presents the Sobol’ indices of the three outputs in the scenario where the height of the dyke is high.

The next figure presents the Sobol’ indices of the height model output with four inputs only. This is a simpler model that leads to a simplified analysis.

## Analysis of the calibration problem¶

In this section, we analyse why calibrating the parameters of this model may raise some difficulties.

First, the slope only depends on the difference . This is why and cannot be identified at the same time. In algebraic terms, there is an infinite number of couples which generate the same difference .

Second, the denominator of the expression of involves the product . In algebraic terms, there is an infinite number of couples which generate the same product . This is why either or can be identified separately, but not at the same time. This shows that only one parameter can be identified.

Hence, calibrating this model requires some regularization which can be done by Bayesian methods.

## API documentation¶

class FloodModel(trueKs=30.0, trueZv=50.0, trueZm=55.0, distributionHdLow=True)

Data class for the flood model.

Parameters:
Lfloat, optional

Length of the river. The default is 5000.0.

Bfloat, optional

Width of the river. The default is 300.0.

trueKsfloat, optional

The true value of the Ks parameter. The default is 30.0.

trueZvfloat, optional

The true value of the Zv parameter. The default is 50.0.

trueZmfloat, optional

The true value of the Zm parameter. The default is 55.0.

distributionHdLowbool, optional

If True, then the distribution of Hd is uniform in [2, 4] i.e the dyke is relatively low. Otherwise, the distribution of Hd is uniform in [7, 9] i.e the dyke is relatively high. The default is True.

Examples

>>> from openturns.usecases import flood_model
>>> # Load the flood model
>>> fm = flood_model.FloodModel()
>>> print(fm.data[:5])
[ Q ($m^3/s$) H (m)       ]
0 : [  130           0.59     ]
1 : [  530           1.33     ]
2 : [  960           2.03     ]
3 : [ 1400           2.72     ]
4 : [ 1830           2.83     ]
>>> print("Inputs:", fm.model.getInputDescription())
Inputs: [Q, Ks, Zv, Zm, B, L, Zb, Hd]
>>> print("Output:", fm.model.getOutputDescription())
Output: [H, S, C]


Get the height model.

>>> heightInputDistribution, heightModel = fm.getHeightModel()
>>> print("Inputs:", heightModel.getInputDescription())
Inputs: [Q,Ks,Zv,Zm]
>>> print("Outputs:", heightModel.getOutputDescription())
Outputs: [H]


Get the flooding model with high Hd scenario.

>>> fm = flood_model.FloodModel(distributionHdLow=False)

Attributes:
dimThe dimension of the problem

dim=4

QTruncatedDistribution of a Gumbel distribution

ot.TruncatedDistribution(ot.Gumbel(558.0, 1013.0), 0.0, ot.TruncatedDistribution.LOWER)

KsTruncatedDistribution of a Normal distribution

ot.TruncatedDistribution(ot.Normal(30.0, 7.5), 0.0, ot.TruncatedDistribution.LOWER)

ZvUniform distribution

ot.Uniform(49.0, 51.0)

ZmUniform distribution

ot.Uniform(54.0, 56.0)

BUniform distribution

Triangular(295.0, 300.0, 305.0)

LUniform distribution

ot.Triangular(4990.0, 5000.0, 5010.0)

HdUniform distribution

ot.Uniform(54.0, 56.0)

ZbUniform distribution

The distribution depends on distributionHdLow.

modelParametricFunction

The flood model. The function has input dimension 4 and output dimension 1. More precisely, we have and . Its parameters are .

distributionJointDistribution

The joint distribution of the input parameters.

dataSample of size 10 and dimension 2

A data set which contains noisy observations of the flow rate (column 0) and the height (column 1).

Methods

 getHeightModel([L, B, Zb, Hd]) Return the height model with corresponding input distribution
getHeightModel(L=5000.0, B=300.0, Zb=55.5, Hd=3.0)

Return the height model with corresponding input distribution

Parameters:
Lfloat, optional

The value of the river length. The default is 5000.0.

Bfloat, optional

The value of the river width. The default is 300.0.

Zbfloat, optional

The level (altitude) of the bank. The default is 55.5.

Hdfloat, optional

The height of the dyke. The default is 3.0.

Returns:
heightInputDistributionot.Distribution(4)

The joint input distribution of (Q, Ks, Zv, Zm).

heightModelot.Function(4, 1)

The function with (Q, Ks, Zv, Zm) as input and (H) as output.

## Examples based on this use case¶

Compare unconditional and conditional histograms

Compare unconditional and conditional histograms

Compute squared SRC indices confidence intervals

Compute squared SRC indices confidence intervals

Estimate a flooding probability

Estimate a flooding probability

Generate flooding model observations

Generate flooding model observations

Calibrate a parametric model: a quick-start guide to calibration

Calibrate a parametric model: a quick-start guide to calibration

Calibration of the flooding model

Calibration of the flooding model

Bayesian calibration of the flooding model

Bayesian calibration of the flooding model