This MATLAB codebase, titled “Peak outflows of a detention basin,” provides a methodology for modeling how detention dams affect the probability distribution of flood events. Developed by Salvatore Manfreda, Domenico Miglino, and Ciro Albertini, it is based on their research published in Hydrology and Earth System Sciences.
Overview
The code allows users to describe the Theoretically Derived Distribution (TDD) of peak outflows from an in-line detention dam. While traditional design methods often rely on fixed design hydrographs, this approach treats flood peaks as random variables to provide a more complete description of hydrological processes.
Key Components
The project includes several key MATLAB scripts and functions:
Detention_Dam_Flood_Attenuation_and_Peak_Outflow_TDD.m: The main script that initializes geometric and hydraulic dam parameters, defines the Gumbel distribution for peak inflows, and generates comparison plots.Detention_Dam_Peak_Outflow_TDD.m: A function that implements the mathematical formulation for the TDD of peak outflows using a Taylor series expansion.Detention_Dam_Flood_Attenuation_Numerical_Hydraulic_Simulation.m: A function that performs a step-by-step numerical hydraulic simulation to validate the theoretical model.
Core Methodology
The model operates under several key assumptions:
- Hydrograph Shape: Inflows are characterized as rectangular hydrographs with a fixed duration and random peak magnitudes.
- Dam Schematization: The dam is modeled with a low-level opening and a crest spillway.
- Probabilistic Framework: While the provided example uses a Gumbel distribution for inflows, the mathematical formulation is flexible and can be adapted to other probability distributions used in flood frequency analysis.
Why It Matters
This tool is particularly useful for the design and risk assessment of small detention dams. By comparing theoretical TDD results with numerical simulations, engineers can better understand how reservoir capacity and spillway characteristics influence downstream flood mitigation.
You can find the full code and documentation on the MATLAB Central File Exchange.
