osmose.calibration.sobol_io

Persisted Sobol sensitivity artifacts: save/load/list + pure view helpers.

Pure core module (no UI imports). One JSON file per result under SENSITIVITY_DIR, mirroring osmose/history.py’s run-record store. Producer: the live calibration sensitivity run (via save_sobol_result); consumer: the Sensitivity Explorer page.

Functions

influential_keys(rows, threshold)

Param keys with ST >= threshold (NaN ST is naturally excluded).

list_sobol_results([directory])

Discover artifacts → lightweight summaries, newest-first; skip corrupt files.

load_sobol_result(timestamp[, directory])

Load one artifact by its in-file timestamp.

rank_rows(result[, objective_idx, sort])

Per-param rows for the chosen objective, sorted for display (pure).

rows_to_csv(rows)

Ranked rows → CSV text (header + one line per row).

save_sobol_result(result, *, metadata[, ...])

Persist a Sobol analyze() result + metadata as one JSON artifact.