Installation

C++ Build

Dependencies

Library

Purpose

GCC ≥ 11 (C++20)

Compiler

CGAL

Delaunay triangulation for 2D interpolation

GSL

Cubic spline derivatives

Ceres Solver

Non-linear least squares and root-finding

yaml-cpp

YAML configuration parsing

gflags / glog

Ceres runtime dependencies

GoogleTest

Unit tests only

On Debian/Ubuntu:

apt-get install g++ make libcgal-dev libgsl-dev libceres-dev libyaml-cpp-dev libgtest-dev

Building from source

cd src
make

The compiled binary is src/bulk.

Docker

A pre-built image is available on the MUSES GitLab registry:

docker pull registry.gitlab.com/nsf-muses/saturation-properties:latest
docker run -v $(pwd)/input:/opt/input -v $(pwd)/output:/opt/output \
    registry.gitlab.com/nsf-muses/saturation-properties:latest /bin/bash -c "cd src && ./bulk"

To build locally from the provided Dockerfile instead:

docker build -t saturation-properties .
docker run -v $(pwd)/input:/opt/input -v $(pwd)/output:/opt/output \
    saturation-properties /bin/bash -c "cd src && ./bulk"

Python utilities (optional)

The config validation and generation scripts require Python:

pip install -r requirements.txt

Required packages: openapi-core==0.19.4, pyyaml.