BREZO : A hydrodynamic flood simulation algorithm by Brett F. Sanders and Lorenzo Begnudelli

June, 2010: An OpenMP version of BreZo now included in brezov4.0p. This uses OpenMP directives to parallelize the main steps of each time loop, but there are still a fair number of sequential threads. The code has only been tested on a quad core machine, where a 50% reduction in run time (roughly) was achieved compared to the sequential version. An MPI version of BreZo, ParBreZo, has also been developed but is not publicly available. This has been run on high performance computing clusters using as many as 512 processors. The parallel scaling is excellent.

January, 2010: BreZo animations of the Baldwin Hills Dam-Break Flood. AVI 1 , AVI 2 , AVI 3

January, 2010: BreZo animations of river basin flooding - Q(t) specified at point sources. AVI 1 , AVI 2

April, 2009: BreZo poster presented at CUAHSI CHyMP meeting. BreZo Poster

August, 2008: BreZo 4.0 now available with new features and the ability to handle meshes with up to 200000 cells. Release Notes

BreZo solves the shallow-water equations using a Godunov-type finite volume algorithm that has been optimized for wetting and drying applications involving natural topography and runs on an unstructured grid of triangular cells. There are several versions of BreZo as a result of an ongoing research process, and we have explored the tradeoffs between schemes that are formally first and second-order accurate in space and time as well as schemes that solve scalar transport equations in addition to mass conservation and momentum balance equations. This site presents a scheme for flow simulation only that is formally first-order accurate but achieves close to second-order convergence rates in flooding applications involving natural topography because the model retains a second-order representation of terrain. In field-scale applications, depiction of terrain typically limits model accuracy.

The evolution of BreZo can be traced with several journal papers: Begnudelli and Sanders (2006) present the second-order accurate numerical scheme as well as BreZo's unique wetting and drying method. Begnudelli and Sanders (2007) present an application of BreZo in a dam-break modeling study, Sanders (2007) reports on the utility of on-line digital elevation models (DEMs) for flood inundation modeling, Begnudelli, Sanders and Bradford (2008) presents a novel scheme to improve accuracy by choosing variables for reconstruction at cell faces (required for application of approximate Riemann solver) according to the local Froude number, and Sanders (2008) presents a new local time-stepping scheme that improves run-time efficiency.

Here you can download brezov4.0p (updated June, 2010). This version applies the adaptive flow solver presented in Begnudelli, Sanders and Bradford (2008) and the time-stepping scheme described in Sanders (2008) . There is no scalar transport in the on-line version of BreZo. Please note that although BreZo is freely available, it is copyrighted by the authors and may not be sold or included in commercial products without a license. brezov4.0p now permits up to 200000 cells, which is plenty for academic test problems and will permit most field-scale problems to be tackled as well. The zip file brezov4.0p contains a binary executable compiled to run on computers running Windows operation systems (Sorry, no source code!), along with several sets of input files that can be modified for other applications.

A number of modeling utilities are available as well as more realistic project files including and More project file information is listed below. To run BreZo, unzipped files should appear as shown in this screen shot .

The screen shot shows that files should be organized with this file structure. The top directory must include the binary executable, brezo4.0p.exe and the input file brezo.start, which tells BreZo which project file (sub-directory) to open (e.g. partialdbrk.1, castjunc.2). Note that the BreZo grid and input files in each sub-directory should have a prefix identical to the sub-directory name, as shown by this file structure.

BreZo reads grid files that adopt the file format and file-naming conventions used by Triangle, a 2D mesh generator by Jonathan Shewchuk. Users of BreZo may adopt Triangle for grid generation, or use another program so long as the grid files are similarly formatted.

The required project files for BreZo are: .node , .ele , .edge , .neigh , .input (main parameter input file), and .bc (boundary condition) files.

Optional project files for BreZo are: .bed (elevation data for each vertex of grid), .ic (allows user to specify regional initial conditions), .mon (allows user to add monitor the time-dependent soluton at points) files, .source (allows user to specify point sources), .runoff (allows users to specify point sources scaled by a drainage area, runoff coefficient, and precipitation intensity) and .pump (allows user to add a point source of momentum) files.

BreZo is conditionally stable. The time step must be selected to satisfy the global CFL condition over the entire simulation period. When BreZo is executed, the global maximum Courant number at each time step is the second column of output written to the screen. If the model crashes, inspect the Courant number record to see if the stability constraint was violated. The time step can be changed using the .input file.

Instructions for initial conditions (revised August, 2008)

Instructions for boundary conditions (revised August, 2008)

Terrain data must be supplied either using the .node or .bed files. If it is not listed in the .node file, then BreZo will attempt to open a .bed file.

Instructions for formatting terrain data

Instructions for accessing terrain data from USGS Seamless Site

We use Tecplot (v. 10 or 360) extensively: to prepare terrain datasets for BreZo, make manual adjustments to grid properties, and post-process results. Output from BreZo is formatted to support animation, with the solution at all vertices saved at evenly spaced times. There is a switch in the .input file which controls whether output is formatted for Tecplot, Matlab (a simple ascii format without metadata), or VisIt. The option to output results for VisIt was added to BreZo by Dave Hargreaves and Bruce Kakimpa at Nottingham University.

Modeling utilities can be run at the windows command prompt and include the following:

The zip folder of BreZo files includes three sample project folders and an inputtimeseries folder that includes time series which can be used to specify time series that affect the flow: tide levels (lajolla.dat and laharbor.dat), wind speed and direction (santamonica2001.dat and santamonica2002.dat), and flow rates at point sources (glasgow.dat).

Project folders include files that can be run as-is or changed to experiment with different boundary and initial conditions, for example. When starting a new project folder, simply copy files from one of the other folders and rename them. The following project files are included:

To illustrate a more practical application of BreZo, here is a set of project files, (updated August, 2008) for a dam-break flooding scenario which can be animated (MPEG WMV).

The site corresponds to the Paute River Basin near Josefina, Ecuador. In 1993, a landslide created a natural dam which blocked the river, creating a reservoir. The dam subsequently overtopped causing a dam-break type flood. In this example, dam failure is crudely modeled by assuming an instantaneous and complete failure and terrain geometry is based on 3 sec SRTM which was accessed from the USGS Seamless Site. Flow resistance is based on a uniformly distributed Manning coefficient. For an educational exercise, users are encouraged to explore the sensitivity of flood predictions to resistance coefficient values (.input file), spatially variable resistance coefficients (.rough file), the height of water in the reservoir (.ic file), and different breach openings which can be adjusted by changing the ground elevation at the site of the dam (.bed file). Dr. Boris Abril, formerly of the UNESCO-IHE Water Institute for Education in Delft, NL, assisted in the set-up of this problem.

Note there is a switch in the .input file, maxflood_options which turns on an option to record the maximum depth, the maximum velocity, and the travel time of the flood. When this switch is turned on, a second output file is created which allows the following attributes to be contoured:

To illustrate a second practical application of BreZo involving steady-state flow along a river, contains a set of project files for a reach of the Santa Clara River near Castaic Junction, in southern California (new for August, 2008).

Steady-state flow conditions are modeled by running BreZo with fixed boundary conditions until a steady-state is attained. A volumetric flow rate of 1950 m^3/s is specified at the inflow (Eastern) boundary, and a water elevation of 283 m (above sea level) is specified at the outlet (Western) boundary and the model is used to define the flood zone. Inspect castjunc.2.bc to see the proper formatting of the boundary conditions. Also, note from the castjunc.2.input file that the parameter ic_area=1 (line 17) so BreZo opens castjunc.2.ic which prescribes a small pool of water near the inflow boundary as the initial condition. This allows BreZo to run with a larger time step than would be required if the channel was initially dry. An initially dry channel at the inflow boundary causes BreZo to predict highly supercritical flow which requires a much smaller time step for stability purposes.