ANUGA Hydro | |
Developer: | Geoscience Australia and the Australian National University |
Programming Language: | Python, C |
Operating System: | Linux, Microsoft Windows |
Language: | English |
License: | GNU GPLv2+[1] |
ANUGA Hydro[2] 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.
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 residents 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,.[3] 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.[4] 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 of 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 in 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 is called ANUGA.
In the wake of the 2004 Indian Ocean earthquake and tsunami.[5] [6] 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), having a pipe, box and trapezoid routine. Development continues to create an arbitrary shape culvert solver that links 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 include: a sediment transport module[7] etc.
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.
Most ANUGA components are written in the object-oriented programming language Python.[8] 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.
The ANUGA Viewer[9] is a graphical 3D rendering program suitable for animating the output files from ANUGA.
Additional viewing capability is available via several other options:
– Using Commercial Software such as WaterRide (Ref to WebSite)
– Using Free tools Such as Mirone (Grid viewing software) which has a specific tool called Aquamoto
– Using SWW2DEM in combination with any GIS platform
– Using Crayfish viewer as plugin in QGIS
– Possibly using tools such as VisIt (Ref to Web Site)
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,[10] wave tank runup experiments at University of Queensland,[11] the 2004 Indian Ocean tsunami impact at Patong Beach,[12] comparison to other models,[13] [14] 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 was 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.
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
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):
Although a flexible hydrodynamic modelling tool, ANUGA has a number of limitations that any potential user needs to be aware of. They are:
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"
"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"
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[18] 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.[19]
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
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.
ANUGA is freely available and distributed under the terms of the GNU General Public Licence.