_images/logo.jpg

An automation toolkit for complex simulation tasks

FabSim3 is a Python-based automation toolkit for scientific simulation and data processing workflows, licensed under the BSD 3-clause license. It is developed as part of VECMA (http://www.vecma.eu), and is part of the VECMA Toolkit (http://www.vecma-toolkit.eu).

FabSim3 is an automation toolkit for complex simulation tasks. FabSim3 helps users to perform complex remote tasks from a local command-line, and to automatically organise their data and environment variables when they perform these tasks. FabSim3 supports the execution of single jobs, ensembles of multiple jobs, and dynamic workflows through schedulers such as SLURM, PBSPro, LoadLeveller and QCG. It stores machine-specific configurations in the repository, and applies it to all applications run on that machine. These configurations are updated by any contributor who feels that a fix or improvement is required.

FabSim3 relies strongly on Fabric (http://www.fabfile.org, shown to work with versions 1.5.3 and 1.10.0) and PyYAML. It has been used to run simulation workflows on supercomputers such as ARCHER, SuperMUC, Carthesius, Eagle, as well as local clusters and desktops.

FabSim3 is publicly available at: http://www.github.com/djgroen/FabSim3 The accompanying software paper can be found here: https://doi.org/10.1016/j.cpc.2016.05.020

The public plugins for FabSim3 include:

  • FabMD, focused on molecular dynamics.
  • FabFlee, focused on agent-based modelling.
  • FabUQCampaign, focused on UQ ensemble sampling.
  • FabDummy, a dummy plugin used for testing the toolkit.

Key reference documents

Here’s a list of particularly useful reference documents for FabSim3.

Basic:

Intermediate:

Advanced:

Citing FabSim3

Please find the BibTex reference below of our FabSim3 software paper in Computer Physics Communications:

@article{GROEN2016375,
title = "FabSim: Facilitating computational research through automation on large-scale and distributed e-infrastructures",
journal = "Computer Physics Communications",
volume = "207",
number = "Supplement C",
pages = "375 - 385",
year = "2016",
issn = "0010-4655",
doi = "https://doi.org/10.1016/j.cpc.2016.05.020",
url = "http://www.sciencedirect.com/science/article/pii/S0010465516301448",
author = "Derek Groen and Agastya P. Bhati and James Suter and James Hetherington and Stefan J. Zasada and Peter V. Coveney",
}

Indices and tables