UM-Bridge is a universal interface that makes any numerical model accessible from any programming language or higher-level software, with a main focus on uncertainty quantification (UQ). It accelerates development from method research to applications and from prototype to supercomputer, enabling you to:
- seamlessly link numerical models to UQ across languages and frameworks,
- break down complexity of advanced applications into manageable components,
- share your containerized models with collaborators,
- benchmark your algorithms on a community-driven benchmark library, and
- scale your applications from laptop to supercomputer or cloud with minimal effort.
UM-Bridge only assumes that a model returns an output vector for a given input, and possibly offers derivatives and configuration options. That makes UM-Bridge suitable for fields like UQ, optimization or machine learning.
Try out this Python example! It passes an input to a simple 1D test model running on a remote server and prints the model's output.
import umbridge
model = umbridge.HTTPModel("http://testmodel.linusseelinger.de", "forward")
print(model([[100.0]]))
Interested? Continue with quickstart or tutorial for a guided tour. See clients for how to interact with a model from any supported language or UQ package, and models for how to add UM-Bridge support to your own model code.
In addition, UM-Bridge comes with a community-driven library of UQ benchmark problems, which you find listed on the left.
We'd like to hear about your application, so join our slack channel!
Language | Client (UQ) | Server (model) |
---|---|---|
C++ | ✓ | ✓ |
MATLAB | ✓ | ✗ |
Python | ✓ | ✓ |
R | ✓ | ✗ |
Julia | ✓ | ✓ |
Framework | Client (UQ) | Server (model) |
---|---|---|
CUQIpy | ✓ | ✓ |
emcee | ✓ | ✗ |
MUQ | ✓ | ✓ |
PyApprox | ✓ | ✗ |
PyMC | ✓ | ✗ |
QMCPy | ✓ | ✗ |
Sparse Grids MATLAB Kit | ✓ | ✗ |
tinyDA | ✓ | ✗ |
TT Toolbox | ✓ | ✗ |
UQPy | ✓ | ✗ |
We are happy to actively support the development of new integrations!
I love Uncertainty Quantification. But I don't love fiddling around with complex numerical solver routines. UM-Bridge takes the pain away from doing UQ with complex models.
Dr Mikkel Bue Lykkegaard - Data Science Lead, digiLab
OpenGoSim develops and supports Pflotran-OGS, an open-source reservoir simulator aimed at carbon dioxide and hydrogen storage.
We build on UM-Bridge in order to couple the flow simulation to applications from fields like geomechanics and geochemistry, which proved reasonably straightforward due to the elegance of the UM-Bridge implementation. Next, we plan to use UM-Bridge with Pflotran-OGS in order to investigate the long-term effects of geological uncertainty on CO2 storage.
Dave Ponting - Lead Software Developer, OpenGoSim
The UQ software that I develop is in Matlab, which is great for prototyping and distribution but a bit troublesome when it comes to working with engineers since most of them develop their simulators in other languages. UM-Bridge takes that problem away so I was more than happy to contribute to the project!
Dr Lorenzo Tamellini - Researcher at CNR-IMATI Pavia
When using UM-Bridge in scientific publications, please cite:
Seelinger, Reinarz et al., (2024). Democratizing Uncertainty Quantification. Journal of Computational Physics, url.
@article{DemocratizingUQ, title = {Democratizing uncertainty quantification}, journal = {Journal of Computational Physics}, volume = {521}, pages = {113542}, year = {2025}, issn = {0021-9991}, doi = {https://doi.org/10.1016/j.jcp.2024.113542}, url = {https://www.sciencedirect.com/science/article/pii/S0021999124007903}, author = {Linus Seelinger and Anne Reinarz and Mikkel B. Lykkegaard and Robert Akers and Amal M.A. Alghamdi and David Aristoff and Wolfgang Bangerth and Jean Bénézech and Matteo Diez and Kurt Frey and John D. Jakeman and Jakob S. Jørgensen and Ki-Tae Kim and Benjamin M. Kent and Massimiliano Martinelli and Matthew Parno and Riccardo Pellegrini and Noemi Petra and Nicolai A.B. Riis and Katherine Rosenfeld and Andrea Serani and Lorenzo Tamellini and Umberto Villa and Tim J. Dodwell and Robert Scheichl},}
Seelinger et al., (2023). UM-Bridge: Uncertainty quantification and modeling bridge. Journal of Open Source Software, url.
@article{UMBridge, doi = {10.21105/joss.04748}, url = {https://doi.org/10.21105/joss.04748}, year = {2023}, publisher = {The Open Journal}, volume = {8}, number = {83}, pages = {4748}, author = {Linus Seelinger and Vivian Cheng-Seelinger and Andrew Davis and Matthew Parno and Anne Reinarz}, title = {UM-Bridge: Uncertainty quantification and modeling bridge}, journal = {Journal of Open Source Software} }
This repository hosts stand-alone reference problems for benchmarking of UQ algorithms.
The documentation for the project and for the benchmark problems within is at: Documentation.
The project source code is hosted on GitHub.