Fahad KabirMechanical · CUET

Case study · open source, pre-alpha

From new measurements to a validated property model.

An open-source desktop workbench for thermophysical property research. Import lab data, check it against published measurements, fit and cross-validate models with stated uncertainty, and export journal-ready figures and CoolProp-compatible models, without writing code.

Rust · Tauri 2PythonSvelteCoolPropMIT

Move the loupe on the island →

63 points · 3 datasets

Drag the loupe over the sheet. Three published CF₃I viscosity datasets, 63 points in all. Where two of them overlap near 333 K, PropBench flags a +7.4 % offset. Point positions are drawn, not plotted.

~32klines of code
7Rust crates
450+automated tests
4CI platforms

The problem

When a new working fluid is measured for the first time, the path from raw data to a usable model runs through spreadsheets, one-off scripts and closed tools. Disagreements between labs go unnoticed, models are judged on the data they were fitted to, and the uncertainty is rarely stated. PropBench puts the whole study in one reproducible project file.

Spot disagreements before they reach the model

Model-free comparisons within combined expanded uncertainty, Bayesian constant offsets with 95 % intervals, and z-scores against NIST reference models. On published CF₃I viscosity data it flags a +7.4 % offset between two laboratories at 333 K (95 % interval 3.1–11.8 %).

Fit and validate

  • ECS, residual-entropy scaling and dilute-gas models, each with a published check value as a test.
  • Weighted least squares in relative deviation, multistart, per-dataset scale factors, GUM uncertainty propagation.
  • Leave-one-dataset-out, leave-one-state-out, k-fold and bootstrap cross-validation, ranked beside the NIST reference model.

A rule you can’t bend

Before any model is fitted, you state how the best one will be chosen: metric, validation scheme, physics checks. PropBench stores a SHA-256 of that rule and records it in the report, so nobody can pick the winner afterwards.

Architecture

The UI never computes. Hover a station.

Isolation

Third-party plug-ins run in a Wasmtime sandbox, or in the project’s Python environment, with only the permissions declared in their plugin.toml. Packages are signed with minisign. Projects are one SQLite file, saved atomically, with a migration for every schema change.

Correctness

CheckPublished valueReproduced
R134a, 300 K, 1 MPa1201.53 kg/m³reference EoS density
CF₃I viscosity, 356.8 K168.5169 µPa·sto 5 × 10⁻⁶ (NISTIR 8209)
JCGM 100, example H.150.000838 mmk = 2.92

Screens

PropBench results view: cross-validated AARD for the ECS viscosity model

Results: a candidate model ranked by leave-one-state-out AARD, with physics checks and the locked selection rule in the log.

PropBench graph studio

Graph studio with journal size presets.

Next

Signed installers, a package on PyPI, a documentation site, and a software paper with the CF₃I viscosity study as its first case study.

github.com/Anawrulkabir/PropBench