SEAVEAtk
SEAVEA Toolkit Components
SEAVEA Toolkit Components
EasyVVUQ
A Python library for uncertainty quantification (UQ), supporting parameter sampling and statistical post-processing.
The aim of EasyVVUQ is to facilitate verification, validation and uncertainty quantification (VVUQ) for a wide variety of simulations. While very convenient for simple cases, EasyVVUQ is particularly well suited in situations where the simulations are computationally expensive, heterogeneous computing resources are necessary, the sampling space is very large or book-keeping is prohibitively complex. It coordinates execution using an efficient database, it is fault tolerant and all progress can be saved.
Here are some examples of questions EasyVVUQ can answer about your code:
Given the uncertainties in input parameters, what is the distribution of the output?
What percentage of the output variance each input parameter contributes?
It also lets you construct surrogate models that are cheaper to evaluate than the complete simulation.
FabSim3
A command-line tool for automating remote job submission and HPC workflows.
FabSim is a Python-based automation toolkit for scientific simulation and data processing workflows, licensed under the BSD 3-clause license. It aims to enable users to perform remote tasks from a local command-line, and to run applications while curating the environment variables and the input and output data in a systematic manner. To provide that curation, FabSim uses a basic data transfer functionalities such as rsync and ssh.
QCG-PilotJob
A lightweight pilot job manager designed for running ensembles of tasks efficiently.
The QCG-PilotJob system is designed to schedule and execute many small jobs inside one scheduling system allocation. Direct submission of a large group of jobs to a scheduling system can result in long aggregated time to finish as each single job is scheduled independently and waits in a queue. On the other hand the submission of a group of jobs can be restricted or even forbidden by administrative policies defined on clusters. One can argue that there are available job array mechanisms in many systems, however the traditional job array mechanism allows to run only bunch of jobs having the same resource requirements while jobs being parts of a multiscale simulation by nature vary in requirements and therefore need more flexible solutions.
MUSCLE3
A framework for coupling multiple models together to form multiscale simulations.
MUSCLE3 is the third incarnation of the Multiscale Coupling Library and Environment.
With MUSCLE3, you can connect multiple simulation models together into a multiscale simulation. Simulation models can be as simple as a single Python file, or as complex as a combination of multiple separate simulation codes written in C++ or Fortran, and running on an HPC machine.
EasySurrogate
EasySurrogate is a set of tools designed to help researchers and engineers build surrogate models and emulators. These are simplified, fast-to-run models that mimic the behaviour of more complex, computationally expensive simulations or real-world systems.
The library's primary function is to simplify the process of creating these models, particularly through its support for multi-output Gaussian processes. This is a sophisticated statistical method that is especially useful for problems where you need to model multiple related outputs at once, such as the temperature and pressure in a complex physical system. By handling these multiple outputs together, the library can create more accurate and efficient surrogate models than would be possible by modelling each output individually. This makes it an ideal tool for tasks like design optimisation, uncertainty quantification, and sensitivity analysis.
🔗 GitHub | 📄 Docs
MOGP Emulator
Python package for fitting Gaussian Process Emulators to computer simulation results.
MOGP Emulator is a Python package for fitting Gaussian Process Emulators to computer simulation results. The code contains routines for fitting GP emulators to simulation results with a single or multiple target values, optimizing hyperparameter values, and making predictions on unseen data. The library also implements experimental design, dimension reduction, and calibration tools to enable modellers to understand complex computer simulations.
mUQSA
Web-based Graphical User Interface for Multipurpose Uncertainty Quantification and Sensitivity Analysis, which automates and streamlines UQ computations on HPC systems.
The mUQSA portal provides a comprehensive system for the automated uncertainty quantification (UQ) and sensitivity analysis (SA) of computational models. It implements proven methods such as Monte Carlo (MC), Polynomial Chaos Expansion (PCE), and Stochastic Collocation (SC), and offers an intuitive web interface and efficient backend layer that comprehensively support development, execution, and analysis of the results of a computational model.
📄 Docs
RADICAL-Pilot
A pilot-job system for the scalable and flexible execution of a large number of heterogeneous computational tasks on HPC platforms, significantly reducing overhead by bypassing the batch system for individual tasks.
RADICAL-Pilot (formerly known as BigJob) is a flexible Pilot System that provides a simple and an scalable approach for executing many concurrent simulations and their data requirements on clusters, grids, and clouds. RADICAL-Pilot is written in the Python programming language, and as such is easily deployable into user space. It allows user-level control of Pilots and supports a wide range of application types. It is built on top of The Simple API for Grid Applications (SAGA), a high-level, easy-to-use API for accessing distributed resources. Thus, RADICAL-Pilot works on a variety of backends such as PBS, SGE, Amazon EC2, etc.
📄 Docs