MetroSurr: A Python package for surrogate-model-assisted measurement uncertainty estimation in sensor calibration
Description
MetroSurr is an open-source Python package that streamlines surrogate-model workflows for measurement uncertainty estimation in sensor calibration. Following the Guide to the Expression of Uncertainty in Measurement (JCGM 100:2008) and its Monte Carlo Supplement (JCGM 101:2008), expanded-uncertainty estimation across the full operating range of an instrument requires repeated propagations for each working point, which becomes prohibitive for nonlinear or multivariate measurement models. MetroSurr addresses this by combining space-filling Monte-Carlo intersite-proj-th (MIPT) sampling, batched GUM and Monte Carlo uncertainty propagation, k-fold cross-validated XGBoost surrogate training, and matplotlib-based 2D/3D visualisation behind a small set of high-level entry points. The package is intended for metrology researchers, accredited calibration laboratories operating under ISO/IEC 17025, and standards-development working groups who need to prototype uncertainty-aware calibration studies rapidly and reproducibly. Distributed under the MIT licence. This dataset is the software companion to the manuscript submitted to Software Impacts (Elsevier).
Files
Steps to reproduce
Unzip the deposited archive. Run pip install -r requirements.txt to install dependencies. From the package root, run PYTHONPATH=. python -m pytest tests/ -v to execute the 22-test pytest suite (all must pass). Then run the two illustrative scripts: PYTHONPATH=. python examples/01_thermocouple_calibration.py and PYTHONPATH=. python examples/02_pressure_sensor.py. Each script prints validation statistics and saves a figure (PNG) in the examples/ folder.