For small teams like ours, sharing our resources increases the probability that other people join the project and contribute to it
What is the project about?
Avalanche-dynamics computational models have been developed since the late 1980s to compute pressure, velocity, flow depth and runout distance of snow avalanches. These models are useful for predicting extreme avalanches and their threat to urbanized areas or civil-engineering structures (e.g. ski lifts, railway, reservoirs). To date, most models are based on the analogy between avalanches and floods. Avalanche-dynamics models thus involve the same governing equations as the ones used for modelling floods in rivers, the main difference lying in energy dissipation (snow dissipates more energy than water) and the existence of an arrested state (avalanches come to a halt when they ran out of power).
The AVAC code uses the Clawpack library for solving the governing equations. Clawpack is a collection of Riemann solvers for solving equations of conservation in mechanics. It implements high-resolution finite-volume methods written in Fortran and python scripts for interfacing the code. It was initially developed at the University of Washington, Seattle, but is now used by a growing community across the world. A comparative advantage (with respect to other finite-volume libraries such as OpenFoam) is that it is open, and it includes useful options (parallel computing, adaptive mesh refinement).
The AVAC code provides additional Python and GRASS scripts to preprocess data (definition of the avalanche’s starting area and snow cover thickness), run the Fortran code, and postprocess the numerical output (raster maps of avalanche extent, avalanche features in a given area, etc.). Mathematica notebooks are also provided to preprocess and postprocess data. As the code runs fast and efficiently, it can be used in Monte Carlo Markov Chain for model calibration or uncertainty estimation. Typically, executing 1000 runs lasts a couple of hours on multi-core processors.
Clawpack (and thus AVAC) is distributed under the terms of the Berkeley Software Distribution (BSD) license.
The AVAC code is an alternative to commercial software that are expensive and not exempt of problems that are hidden to the end-user (these codes usually involve a number of workarounds and tuning parameters to cope with all the numerical problems that may arise during the computation). The code is open and transparent. It involves long-term collaborative projects (nonlinear solving, adaptative meshing, interfacing, visualisation) that provide cutting-edge technologies.
Who benefits from it?
The code is freely available and can be modified. For the moment, the user has to be acquainted with Python and Grass to run the code (and possibly Fortran to modify the source code). In the future, we hope we can provide further tools for running the code and postprocessing its outputs without requiring extensive technical knowledge in programming. The code has been devised for professionals (scientists and engineers) with a background in computational fluid mechanics and geographical information systems.
For small teams like ours, sharing our resources increases the probability that other people join the project and contribute to it.
How did you make it Open Software?
The AVAC code was originally entirely written in Fortran as a stand-alone tool for computing extreme avalanches (in the 1990s). By the early 2010s, we decided to switch to Clawpack and use Clawpack routines. The advantages are that (i) the core functions are documented, (ii) the code can easily be modified, (iii) it takes advantage of the last cutting-edge technologies, (iv) it is open. As we plan to release a similar tool for computing floods and bedload transport in mountain streams, we hope we can provide a single numerical platform for computing extreme events in mountain areas.
Contact: Christoph Ancey