Software

Created with Sketch.

SOFTWARE

FALL3D

FALL3D is an open source community code for atmospheric transport of particles, aerosols and radionuclides particularly targeting volcanological applications. During the first phase of the ChEESE Center of Excellence (ChEEE-1P, 2018-2022), the pure MPI version of the code was heavily refactored and accelerated using OpenACC directives, and a dwarf version (mini-app) implemented to facilitate co-design and performance improvement activities.
 
FALL3D solves the so-called Advection-Diffusion-Sedimentation (ADS) equation on a generalised orthogonal system of coordinates. Coordinate mappings exist to map physical domains (e.g. accounting for Earth’s curvature and topography) to a «brick-like” computational domain by using coordinate-dependent horizontal and vertical mappings. The model can be solved on various horizontal (cartesian, spherical, Mercator, polar stereographic, etc.) and vertical (terrain following, etc.) coordinate systems. The finite volume based solver uses a high-resolution Kurganov-Tadmor (KT) scheme combined with an explicit solver time marching (4th order Runge-Kutta or first order Euler) and considering a simple structured mesh with 3D brick-like domain decomposition. FALL3D uses MPI for 3D domain decomposition with freedom for users to choose the number of processors along each spatial direction. The «brick-like» computational domain is discretised using a variation of the staggered Arakawa-D grid, in which the wind velocity components are evaluated at the respective cell faces and the rest of scalar quantities at the cell centres. This configuration is very convenient for solving the 3D equation in a fractional manner because, when solving each one-dimensional case, wind velocities are already aligned with the boundaries of the corresponding one dimensional cells. In the accelerated version (currently relying on OpenACC + CUDA-aware MPI) each subdomain is assigned to a single GPU.
 
The main repository has obtained an EOSC-synergy software gold badge 
 

Cite: Prata, A. T., Mingari, L., Folch, A., Macedonio, G., and Costa, A.: FALL3D-8.0: a computational model for atmospheric transport and deposition of particles, aerosols and radionuclides – Part 2: Model validation, Geosci. Model Dev., 14, 409–436, https://doi.org/10.5194/gmd-14-409-2021, 2021.

 

PyVOLCANS

PyVOLCANS is an open-access Python tool that generates data-driven sets of analogue volcanoes for any Holocene volcano listed in the Global Volcanism Program (GVP) Volcanoes Of The World database (v. 4.6.7), based on the VOLCANS (VOLCano ANalogues Search) method presented by Tierz, Loughlin and Calder (2019).

The main goal of PyVOLCANS is to help alleviate data-scarcity issues in volcanology, and contribute to developments in a range of topics, including (but not limited to): quantitative volcanic hazard assessment at local to global scales; investigation of magmatic and volcanic processes; and even teaching and scientific outreach.

PyVOLCANS provides its users with full flexibility to identify customised sets of analogue volcanoes, by exploring three main variables:

1. Target volcano (or volcano of interest);
2. Weighting scheme (i.e. set of weights given to each of the five volcanological criteria to calculate multi-criteria, total analogy);
3. Number of ‘top’ analogue volcanoes (i.e. those with the highest value of analogy with the target volcano).

In addition, PyVOLCANS allows the user to compare the values of total analogy computed for ‘a priori analogues’ (i.e. volcanoes thought to be good analogues to the target volcano by other strands of evidence, e.g. expert knowledge) with those computed for the rest of volcanoes in the GVP database. This permits investigation of sets of analogue volcanoes for varied purposes, and makes PyVOLCANS a useful complementary method to expert-derived analogue volcanoes.

GitHub repository: https://github.com/BritishGeologicalSurvey/pyvolcans  
PyPI project: https://pypi.org/project/pyvolcans/ 
 
Cite: Tierz, P., Christodoulou, V., Stevenson, J.A., Loughlin, S.C. (2021). PyVOLCANS: A Python package to flexibly explore similarities and differences between volcanic systems. Journal of Open Source Software, 6(68), 3649. https://doi.org/10.21105/joss.03649