HYPERstreamHS inherits the core features of the HYPERstream routing scheme recently presented in the work from Piccolroaz et al. (2016), while improving it by means of a dual-layer MPI framework and the inclusion of explicit modelling of streamflow alterations due to Human Systems (hence, the HS suffix to the model’s name). HYPERstream is a multi-scale streamflow routing method based on the Width Function Instantaneous Unit Hydrograph (WFIUH) approach; this approach has been specifically designed for reliably simulating the relevant horizontal hydrological fluxes preserving the geomorphological dispersion of fluxes and thus being able to perform well at different scales, from a single catchment to the meso-scale
SHEMAT-Suite is a finite-difference open-source code for simulating coupled flow, heat and species transport in porous media. The code, written in Fortran-95, originates from geoscientific research in the fields of geothermics and hydrogeology. It comprises: (1) a versatile handling of input and output, (2) a modular framework for subsurface parameter modeling, (3) a multi-level OpenMP parallelization, (4) parameter estimation and data assimilation by stochastic approaches (Monte Carlo, Ensemble Kalman filter) and by deterministic Bayesian approaches based on automatic differentiation for calculating exact (truncation error-free) derivatives of the forward code.
ParFlow is known as a numerical model that simulates the hydrologic cycle from the bedrock to the top of the plant canopy. The original codebase provides an embedded Domain-Specific Language (eDSL) for generic numerical implementations with support for supercomputer environments (distributed memory parallelism), on top of which the hydrologic numerical core has been built. In ParFlow, the newly developed optional GPU acceleration is built directly into the eDSL headers such that, ideally, parallelizing all loops in a single source file requires only a new header file.
Meso-NH is the non-hydrostatic mesoscale atmospheric model of the French research community. It has been jointly developed by the Laboratoire d’Aérologie (UMR 5560 UPS/CNRS) and by CNRM-GAME (UMR 3589 CNRS/Météo-France). Meso-NH:
- Incorporates a non-hydrostatic system of equations, for dealing all scales ranging from large (synoptic) to small (large eddy) scales while calculating budgets;
- Has a complete set of physical parameterizations, particularly advanced for the representation of clouds and precipitation;
- Is coupled to the surface model SURFEX for representing the ground atmosphere interactions by considering different surface types (vegetation, city, ocean, lake);
- Allows for a multi-scale approach through a grid-nesting technique;
- Is a versatile code, vectorized, parallelized, operating in 1D, 2D or 3D designed to handle real situations as well as academic cases;
- Is coupled with a chemistry module (including gas-phase, aerosol, and aqua-phase components) and a lightning module;
- Has observation operators that compare directly model output with satellite observations, radar, lidar and GPS.
ESIAS-Chem is a tool for generating and controlling ultra-large ensembles of chemistry transport models for stochastic integration, exploiting a two-level parallelism, combined with a particle filter data assimilation scheme.
ESIAS-Meteo is a tool for generating and controlling ultra-large ensembles of numerical weather forecast models for stochastic integration, exploiting a two-level parallelism, combined with a particle filter data assimilation scheme.
waLBerla is a massively parallel simulation framework. It contains efficient, hardware specific compute kernels to get optimal performance on today’s supercomputing architectures. waLBerla employs a block-structured partitioning of the simulation domain including support for grid refinement. These grid data structures make it easy to integrate various data parallel algorithms like Multigrid, CG, or phasefield models. waLBerla uses the lattice Boltzmann method (LBM), which is an alternative to classical Navier-Stokes solvers for computational fluid dynamics simulations. All of the common LBM collision models are implemented (SRT, TRT, MRT). Additionally, a coupling to the rigid body physics engine pe is available. waLBerla is written in C++, which allows for modular and portable software design without having to make any performance trade-offs.
GYSELA A drift-kinetic semi-Lagrangian 4D code for ion turbulence simulation. A new code is presented here, named Gyrokinetic SEmi-LAgragian (GYSELA) code, which solves 4D drift-kinetic equations for ion temperature gradient driven turbulence in a cylinder (r,θ,z). The code validation is performed with the slab ITG mode that only depends on the parallel velocity. This code uses a semi-Lagrangian numerical scheme, which exhibits good properties of energy conservation in non-linear regime as well as an accurate description of fine spatial scales. The code has been validated in the linear and non-linear regimes. The GYSELA code is found to be stable over long simulation times (more than 20 times the linear growth rate of the most unstable mode), including for cases with a high resolution mesh (δr∼0•1 Larmor radius, δz∼10 Larmor radius).
KMC/DMC are general purpose programs for the simulation of chemical reactions taking place at crystal surfaces. The used simulation method is a Discrete Event Simulation with continuous time. In the literature this is commonly called a Dynamic Monte Carlo simulation (DMC) or Kinetic Monte Carlo simulation (KMC). The general purpose nature of the program is visible in a clear separation between model and (simulation) method. The simulation model is specified in terms of surface structure and changing patterns, reflecting the reactions taking place at the surface. Several methods can be employed on the model differing only in simulation speed and memory use.
Alya is a high performance computational mechanics code to solve complex coupled multi-physics / multi-scale / multi-domain problems, which are mostly coming from the engineering realm. Among the different physics solved by Alya we can mention: incompressible/compressible flows, non-linear solid mechanics, chemistry, particle transport, heat transfer, turbulence modeling, electrical propagation, etc.
From scratch, Alya was specially designed for massively parallel supercomputers, and the parallelization embraces four levels of the computer hierarchy. 1) A substructuring technique with MPI as the message passing library is used for distributed memory supercomputers. 2) At the node level, both loop and task parallelisms are considered using OpenMP as an alternative to MPI. Dynamic load balance techniques have been introduced as well to better exploit computational resources at the node level. 3) At the CPU level, some kernels are also designed to enable vectorization. 4) Finally, accelerators like GPU are also exploited through OpenACC pragmas or with CUDA to further enhance the performance of the code on heterogeneous computers.
Multiphysics coupling is achieved following a multi-code strategy, relating different instances of Alya. MPI is used to communicate between the different instances, where each instance solves a particular physics. This powerful technique enables asynchronous execution of the different physics. Thanks to a careful programming strategy, coupled problems can be solved retaining the scalability properties of the individual instances.
The code is one of the two CFD codes of the Unified European Applications Benchmark Suite (UEBAS) as well as the Accelerator benchmark suite of PRACE.