FloodModel

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.

Attributes:
dimint

The dimension of the problem: dim=4

QTruncatedDistribution

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

KsTruncatedDistribution

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

ZvUniform

ot.Uniform(49.0, 51.0)

ZmUniform

ot.Uniform(54.0, 56.0)

BUniform

Triangular(295.0, 300.0, 305.0)

LUniform

ot.Triangular(4990.0, 5000.0, 5010.0)

HdUniform

ot.Uniform(54.0, 56.0)

ZbUniform

The distribution depends on distributionHdLow.

modelParametricFunction

The flood model. The function has input dimension 4 and output dimension 1. More precisely, we have \vect{X} = (Q, K_s, Z_v, Z_m) and Y = H. Its parameters are \theta = (B, L).

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

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)
__init__(trueKs=30.0, trueZv=50.0, trueZm=55.0, distributionHdLow=True)
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:
heightInputDistributionDistribution

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

heightModelFunction

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

Examples using the class

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