SPUX Framework: a Scalable Package for Bayesian Uncertainty Quantification and Propagation
We present SPUX - a modular framework for Bayesian inference enabling uncertainty quantification and propagation in linear and nonlinear, deterministic and stochastic models, and supporting Bayesian model selection. SPUX can be coupled to any serial or parallel application written in any programming language, (e.g. including Python, R, Julia, C/C++, Fortran, Java, or a binary executable), scales effortlessly from serial runs on a personal computer to parallel high performance computing clusters, and aims to provide a platform particularly suited to support and foster reproducibility in computational science. We illustrate SPUX capabilities for a simple yet representative random walk model, describe how to couple different types of user applications, and showcase several readily available examples from environmental sciences. In addition to available state-of-the-art numerical inference algorithms including EMCEE, PMCMC (PF) and SABC, the open source nature of the SPUX framework and the explicit description of the hierarchical parallel SPUX executors should also greatly simplify the implementation and usage of other inference and optimization techniques.
READ FULL TEXT