Batman stands for Bayesian Analysis Tool for Modelling and uncertAinty quaNtification. It is a Python module distributed under the open-source CECILL-B license (MIT/BSD compatible).
batman seamlessly allows to do statistical analysis (sensitivity analysis, Uncertainty Quantification, moments) based on non-intrusive ensemble experiment using any computer solver. It relies on open source python packages dedicated to statistics (OpenTURNS and scikit-learn).
Main features are:
Design of Experiment (LHS, low discrepancy sequences, MC),
Resample the parameter space based on the physic and the sample,
Surrogate Models (Gaussian process, Polynomial Chaos, RBF, scikit-learn’s regressors),
Optimization (Expected Improvement),
Sensitivity/Uncertainty Analysis (SA, UA) and Uncertainty Quantification (UQ),
Visualization in n-dimensions (HDR, Kiviat, PDF),
POD for database optimization or data reduction,
Automatically manage code computations in parallel.
Full documentation is available at:
A detailled example can be found in
tutorial. The folder
contains examples that you can adapt to you needs. You can find more information
about the cases within the respectives
Shoud you be interested by batman’s implementation, consider reading the technical documentation.
If you encounter a bug (or have a feature request), please report it via GitLab. Or it might be you falling but “Why do we fall sir? So we can learn to pick ourselves up”.
Last but not least, if you consider contributing check-out contributing.
How to install BATMAN?¶
The sources are located on GitLab:
Install and update using
pip install -U ot-batman
batman is also distributed through
conda, on the
To install conda:
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh
To create a new environment and install batman through
conda create -n bat_env -c conda-forge batman
Using the latest python version is prefered! Then to install:
git clone email@example.com:cerfacs/batman.git cd batman python setup.py install python setup.py test python setup.py build_sphinx
The latter is optionnal as it build the documentation. The testing part is also optionnal but is recommanded. (<30mins depending on your configuration).
If you don’t have install priviledge, add
--user option after install.
But the simplest way might be to use pip or a conda environment.
If batman has been correctly installed, you should be able to call it simply:
Depending on your configuration, you might have to export your local path:
export PATH=$PATH:~/.local/bin. Care to be taken with both your
PYTHONPATH environment variables. Make sure you do not call different
installation folders. It is recommanded that you leave your
The required dependencies are:
Python >= 2.7 or >= 3.4
OpenTURNS >= 1.10
scikit-learn >= 0.18
numpy >= 1.13
scipy >= 0.15
pathos >= 0.2
matplotlib >= 2.1
Paramiko >= 2.4
Appart from OpenTURNS, required dependencies are satisfied by the installer. Optionnal dependencies are:
Antares for extra IO options
sphinx >= 1.4 for documentation
ffmpeg for movie visualizations (n_features > 2)
Testing dependencies are:
Extra testing flavours:
OpenTURNS and ffmpeg are available on conda through the conda-forge channel.
Help and Support¶
If you use batman, come and say hi at https://batman-cerfacs.zulipchat.com. Or send us an email. We would really appreciate that as we keep record of the users!