Quoted from: https://github.com/GeoscienceAustralia/anuga_core#documentation-and-help
ANUGA (pronounced "AHnooGAH") is open-source software for the simulation of the shallow water equation, in particular it can be used to model tsunamis and floods.
ANUGA is a python package with some C extensions (and an optional fortran extension). At present ANUGA has not been ported to python 3. We recommend using python 2.7
Developed at Geoscience Australia and Mathematical Sciences Institute at the Australian National University.
Quoted from: https://github.com/GeoscienceAustralia/anuga_core/raw/master/doc/anuga_user_manual.pdf
Modelling the effects on the built environment of natural hazards such as riverine flooding, storm surges and tsunami is critical for understanding their economic and social impact on our urban communities. Geoscience Australia and the Australian National University are developing a hydrodynamic inundation modelling tool called ANUGA to help simulate the impact of these hazards.
The core of ANUGA is the fluid dynamics module, called shallow_water, which is based on a finite-volume method for solving the Shallow Water Wave Equation. The study area is represented by a mesh of triangular cells. By solving the governing equation within each cell, water depth and horizontal momentum are tracked over time.
A major capability of ANUGA is that it can model the process of wetting and drying as water enters and leaves an area. This means that it is suitable for simulating water flow onto a beach or dry land and around structures such as buildings. ANUGA is also capable of modelling hydraulic jumps due to the ability of the finite-volume method to accommodate discontinuities in the solution and the bed (using the latest algorithms (see section 1.5)
To set up a particular scenario the user specifies the geometry (bathymetry and topography), the initial water level (stage), boundary conditions such as tide, and any operators that may drive the system such as rainfall, abstraction of water, erosion, culverts See section 10 for details of operators available in ANUGA.
The built-in mesh generator, called graphical_mesh_generator, allows the user to set up the geometry of the problem interactively and to identify boundary segments and regions using symbolic tags. These tags may then be used to set the actual boundary conditions and attributes for different regions (e.g. the Manning friction coefficient) for each simulation.
Most ANUGA components are written in the object-oriented programming language Python. Software written in Python can be produced quickly and can be readily adapted to changing requirements throughout its lifetime. Computationally intensive components are written for efficiency in C routines working directly with Python numpy structures.
The visualisation tool developed for ANUGA is based on OpenSceneGraph, an Open Source Software (OSS) component allowing high level interaction with sophisticated graphics primitives. See [nielsen2005] for more background on ANUGA.