ANUGA Hydro

ANUGA Hydro is a free and open source software tool for hydrodynamic modelling, suitable for predicting the consequences of hydrological disasters such as riverine flooding, storm surges and tsunamis. For example, ANUGA can be used to create predicted inundation maps based on hypothetical tsunami or flood scenarios. The ANUGA name without qualification is used informally to mean the ANUGA Hydro tool.

Background
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.

ANUGA has its genisis as a MatLab program developed for ACTEW (an Australian Capital Territory owned utility providing electricity, water and wastewater treatment to the residence of the Australian Capital Territory). Its development was instigated by Dr Christopher Zoppou, a senior engineer in the Hydrographics Section of ACTEW in 1998 and a former student of Professor Stephen Roberts from the Australian National University (ANU). Stephen Roberts and Christopher Zoppou embarked on the development of a two-dimensional hydrodynamic shallow water wave equation solver,. Written by Stephen Roberts, the MatLab  code was used by Christopher Zoppou to simulate the  impact of the catastrophic collapse of water supply reservoirs maintained by ACTEW. The code's ownership is shared between ANU and ACTEW.

In 2002 Christopher Zoppou left ACTEW to lead the Risk Modelling Section at Geoscience Australia (an Australian Government agency responsible for providing geo-scientific advice and information). The Risk Modelling Section was formed because Geoscience Australia was diversifying its  interest from the impact of earthquakes on the built environment to the impact from other natural hazards. These included cyclones, storm surges and landslides. Christopher Zoppou initiated the development of a generic open source  storm surge model within the Risk Modelling Section, that was based on the  MatLab model developed for ACTEW. A small group was formed in 2002, consisting of Dr Ole Nielsen, who joined Geoscience Australia from the ANU and Mr Duncan Gray, a program developer to produce a comprehensive storm surge model in the Risk Modelling Section. Stephen Roberts was involved in the development of the hydrodynamic solver, Ole Neilsen on the modelling framework using Python, Duncan Gray on the coding and Christopher Zoppou provided hydraulic engineering advice on the model development. The open source model is jointly owned by ANU and Geoscience Australia and called ANUGA.

In the wake of the 2004 Indian Ocean earthquake and tsunami. the emphasis of ANUGA shifted from a storm surge model due to cyclones to inundation modelling caused by tsunamis resulting from earthquakes. This was not a quantum leap as the shallow water wave equations are applicable to tsunami, storm surge, flash and riverine flooding.

The first public open source release of ANUGA took place in December 2006. In 2007 after approaches from Local Government Engineers, a rainfall routine was added. This allows rainfall to be placed directly over the topography described in the computational domain. A time series can be applied to a polygon, or a series of polygons. Alternatively a rainfall grid can be applied. This is particularly useful for applying RADAR rainfall. ANUGA can model culverts and bridges with code from the open source Watershed Bounded Network Model (WBNM){Boyd, Rigby, VanDrie}, having a pipe, box and trapezoid routine. Development continues to create an arbitrary shape culvert solver and linking to a 1D piped network model such as SWMM. ANUGA is stable even in extreme flow with high Froude numbers. An example of this is the 1928 St Francis Dam Break in California that resulted in extreme flow velocities and complex waves in a tortuous valley. ANUGA ran this model with full volumetric mass balance preserved at all times and no instabilities anywhere in the model.

In the ensuing years ANUGA has involved contributions form a number of individuals and organisations. These includes: a sediment transport module etc.

Simulation engine
The fluid dynamics in ANUGA are based on a Finite volume method for solving the Shallow Water Wave Equation. The study area is represented by a mesh of triangular cells that can vary in size in order to capture detail where it is required. By solving the governing equation within each cell, water surface, bed elevation (hence depth) and horizontal (X-y) 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. While ANUGA works with discontinuities in the conserved momentum quantities, only the discontinuous elevation solvers allow discontinuities in the bed elevation. The latter were added to the code in 2013 and include the default algorithm as of ANUGA 2.0.

User Interface
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.

To set up a model of a scenario the user specifies the geometry (bathymetry and topography), the initial water level, boundary conditions such as tide, and any forcing terms that may drive the system such as rainfall, water abstraction, wind stress or atmospheric pressure gradients. Gravity and Frictional resistance from the different terrains in the model are represented by predefined forcing terms.

ANUGA viewer
The ANUGA Viewer is a graphical 3D rendering program suitable for animating the output files from ANUGA.

Validation studies
ANUGA has been extensively validated against wave tank experiments and field studies where available, and ships with a validation test suite with about 30 analytical solutions, wave tank and field tests. Examples include validation against the wave tank experiment for the Okushiri 1995 tsunami, wave tank runup experiments at University of Queensland, the 2004 Indian Ocean tsunami impact at Patong Beach, comparison to other models, ANUGA was a late entry in the UK 2D model Benchmarking project in 2010 using version 1.1beta_7501. As a result, not all tests were completed. However of the basic tests ANUGA was well within the comparable range of results of other models. Since late 2013 the standard test suite for the model also includes a full catchment model (Towradgi Creek Catchment) which has been validated against the 17 August 1998 storm event.

ANUGA software development methodology
ANUGA is developed as an AGILE project so with strong adherence to Test Driven Development and Continuous Integration. ANUGA has more than 1200 individual tests that can be run by users or developers to verify that a given installation works as expected. ANUGA is fully versioned using the source code control system git, which allows a user to replicate a model run from a previous version at any time. It also of course thereby allows comparison with the current version.

ANUGA development timeline summary
Noting that ANUGA runs both in serial (1 core) and parallel (many cores) tested on 1000s.

Here is a rough time line of major developments:

Date     : Version  : Comment

1999     : ---  : Zoppou Roberts Paper

2004     : ---  : Storm Surge project started at Geoscience Australia in collaboration with the ANU

2005     : ---  : Project changed to focus on Tsunami Inundation following the 2004 disaster

2006/08/16:  3500   : Moved code to SVN

2006/09/07:  3548   : Offline viewer with Animation capability

2006/12/19:  4092   : First Public Release Open Source & Free

2007/06/04:  4530   : Rainfall forcing function added: Dr. Ole Nielsen, Rudy van Drie

2008/03/28:  5178   : Rainfall forcing to polygons : Dr. Ole Nielsen, Rudy van Drie

2008/06/10:  5435   : Bridges/ Culverts (using US Dept of Transportation Method as adapted by Generalised Equations by Boyd in the WBNM model): Dr. Ole Nielsen, Assoc. Prof. Stephen Roberts, Rudy Van Drie, Dr. Petar Milevski

2008/07/15:  5585   : Multi-Barrel culvert added

2009/08/14:  7376   : Moveable Bed (The bed elevation can be a time varying quantity): Dr. Ole Nielsen

2009/08/19:  7452   : Move culvert from Forcing to Operator: Assoc. Prof. Stephen Roberts

2010/               : Sediment Transport and Vegetation Operators being developed: Mariella Perignon refer https://github.com/mperignon/anugaSed

2010/11/11:  8069   : Major Version 1.2.0 package released

2010/11/25:  8087   : Minor Package up date 1.2.1 released

2011/01/31:  8116   : Update to Wind and Pressure Terms

2011/03/08:  8128   : Model domain Operators concept developed

2011/03/22:  8161   : Kinematic Viscosity moved from Forcing to Operator

2012/xx/xx:  xxxx   : Depth Varying Mannings Roughness Function added: Assoc. Prof Stephen Roberts, Rudy Van Drie

2012/07/31:  8485   : Erosion Based on Bed Shear Operator: Assoc. Prof Stephen Roberts, Rudy Van Drie

2013/05/27:  8877   : Add a gate structure capability: Assoc. Prof Stephen Roberts, Rudy Van Drie

2013/09/12:  8973   : Set value by Grid(RADAR Rainfall & Roughness Grid): Assoc. Prof Stephen Roberts, Rudy Van Drie

2013/12/05: 0debdd6 : Added DE algorithms, well balanced and discontinuous elevation: Gareth Davies

2014/07/10: bf590e3 : Set up boundary flux integral operator: Gareth Davies

2014/08/05: af03985 : Reporting of mass conservation: Gareth Davies

2014/12/18:  1.2.5  : Moved package to GitHub

2015/02/07:  1.3.1  : Major change to directory structure

2015/03/19:  1.3.10 : Moved to GitHub.com//GeoscienceAustralia/anuga_core

2015/04/28:  1.3.11 : Updated manual and added validations_report to doc directory

2015/05/04:  2.0    : A major release where we moved to the DE0 algorithm (Discontinuous Elevation) as default algorithm

2016/06/28: 321cd1e : Added in erosion operator provided by Ted Rigby

2017/05/20: GitHub Branch created to initiate development of SWMMLINK 1D Pipe network to ANUGA 2D Dr. Ole Nielsen, Assoc. Prof. Stephen Roberts, Rudy Van Drie, Dr. Petar Milevski

ANUGA development ideas for the future
The development of ANUGA is ongoing and dynamic. The introduction of "Operators" was a major step in that it allowed many additional possibilities. The future development is currently driven by both performance increases and adding capability. Currently there is work underway on the following items (that will be moved to the above list once fully achieved):
 * Easily availability to a GPU capable version (Beta version is currently working)
 * Linking to a highly capable urban pipe network model such as SWMM see e.g.
 * Ongoing speed improvements to the code

Limitations
Although a flexible hydrodynamic modelling tool, ANUGA has a number of limitations that any potential user needs to be aware of. They are:
 * The mathematical model is the 2D shallow water wave equation. As such it cannot resolve vertical convection and consequently not breaking waves or 3D turbulence (e.g. vorticity).
 * All spatial coordinates are assumed to be UTM (meters). As such, ANUGA is unsuitable for modelling flows in areas larger than one and half UTM zones (9 degrees wide).
 * Fluid is assumed to be inviscid – although kinematic viscosity can be used modelled using a kinematic viscosity operator.
 * The finite volume is a very robust and flexible numerical technique, especially when implemented on an unstructured triangular mesh, but it is not the fastest method around, and over sufficiently simple geometries alternative algorithms may be able to solve the problem faster than ANUGA.
 * Frictional resistance is implemented using Manning's formula.

Users

 * Geoscience Australia
 * Australian National University
 * Fire and Emergency Services of Western Australia
 * Franzius-Institut, Leibniz University Hannover
 * Australia-Indonesia Facility for Disaster Reduction
 * Wollongong City Council
 * Balance Research & Development
 * Institute Teknologi Bandung, Indonesia
 * Universitas Sanata Dharma, Yogyakarta, Indonesia
 * DMInnovation
 * PT Inteligensi Risiko, Jakarta
 * PT Reasuransi MAIPARK Indonesia, Jakarta
 * Hydrata
 * NASA JPL

Use history

 * ANUGA was trialed as a conventional hydrodynamic 2D flood model on both a complex urban system and a simpler rural system. The urban model included a dam break scenario with flood water passing through a residential area.

The model was found to have:
 * "The ability to construct a model with elements varying in size to suit the features being modelled permitted flow behaviour to be simulated realistically and at a level of local detail that structured grid models cannot practically reproduce"


 * ANUGA has been used to assess the likely difference in tsunami amplification and dissipation between different characteristic coastal embayments, coastal entrances and estuaries The results showed that:
 * "for large embayments, the wave run-up can be amplified by a factor six in comparison to the amplitude at the model boundary. For small embayments, the amplification is dependent on the location of the ocean water line, or tidal stage"


 * In 2005, ANUGA was used to demonstrate the capability to simulate inundation of an urban coastal city as part of the Catastrophic Disasters Working Group activity in 2005 by the Attorney Generals Department and Geoscience Australia for the then Australian Emergency Management Committee.
 * In 2007 after the addition of the initial Rainfall forcing function by Ole Nielsen and Rudy VanDrie it was used to model the Macquarie Rivulet Catchment and then the Entire Lake Illawarra Catchment.
 * From that time on it has been used to model thousands of catchments in Australia, Germany, Mozambique, Indonesia, Brazil, Mauritius, Reunion Island and many other localities.
 * In 2013, researchers used ANUGA to replicate work done by Dr. Brett Sanders to model the 1928 St Francis Dam Break. ANUGA was not only able to replicate the arrival times of the flood wave, but also appeared to more realistically capture the extreme sloshing behaviour immediately down stream of the dam in the tortuous valley. https://www.mssanz.org.au/modsim2013/A4/mungkasi.pdf
 * From 2013 to 2016 an Australian National Disaster Resilience Program (NDRP) project resulted in a "Flood Modelling Framework for the ACT" which modelled the entire 9400km2 in 2D using radar rainfall applied directly to the computational mesh. This project was nominated for an award by the ACT government.
 * The largest known catchment model using direct rainfall in a full 2D model to date is around 85,000km2 being a portion of the Condamine-Balonne River in Australia.
 * In 2015 Researchers in Brazil used ANUGA to model "DESFORESTATION IMPACTS ON THE WATER FLOW PROPAGATION FOR THE LOW AMAZON FLOODPLAIN"
 * in 2015-2016 Department of Economic Development, Jobs, Transport and Resources, Tatura, Victoria used ANUGA to model Irrigation Bays, concluding that: ".... Physical (hydrological) models and crop growth models are both applied, and can be run in conjunction with each other. As an example, the ANUGA 2Dimensional surface-water flow model has been adapted for testing border-check irrigation bay design. An infiltration algorithm has been included, using the Modified Kostiakov (MK) equation, which calculates infiltration as a function of ponding time. Following the revision, the ANUGA model successfully simulated border-check surface irrigation, and was used in Smarter Irrigation for Profit to help assess drainage options for irrigated dairy pastures" Refer: https://www.crdc.com.au/sites/default/files/Smarter%20Irrigation%20for%20Profit%20Snapshot.pdf
 * In 2017 Researchers at the University of Colorado used ANUGA to model erosion and sediment transport and the effects of vegetation drag, resulting in formulating new operators stating that: "These operators are used to simulate the erosion, transport, and deposition of sediment across the domain, and the effects of vegetation drag on the flow." https://www.hydroshare.org/resource/90cfc292f1cc4b6c96c66265a992b759/

Awards and exposure
ANUGA has been used to understand tsunami risk to the Western Australia coastline and the results of this work are being utilised by emergency managers and the Department for Planning and Infrastructure in Western Australia. In 2007 this work received the Asia-Pacific Spatial Excellence Award and the Emergency Management Australia Safer Communities Award. In June 2009, ANUGA was featured in a special episode on the Australian TV program The New Inventors: Dealing With Disasters.

Support and getting involved
ANUGA is an open source project and supported by the organizations that develop and use it.

The source code is available at GitHub https://github.com/anuga-community/anuga_core and pull requests can be submitted there. The aim is to build a community of model users and co-developers / contributors to interact with the GitHub repository. There are strict rules regarding the need for Unit testing in order to have code included into the repository. In time it is likely that a developer guideline document may be formulated to aid others from contributing to the code.

Questions and interest in contributing can be directed to the mailing list anuga-user@lists.sourceforge.net

Training
Neither ANU or GA provide specific training at present. However, there was an initial workshop regarding the use and future of the ANUGA model in 2008 at Geoscience Australia in Canberra.

Since then a training course was provided to a group from a large insurance entity by Rudy Van Drie, Rudy also undertook an extensive and detailed training course at the University of Essen in 2011; A detailed presentation and insight into its use in Mozambique in 2013, and a workshop at Udayana University in Bali in 2017.

License
ANUGA is freely available and distributed under the terms of the GNU General Public Licence.