Save and reload the SC object

This example creates a SimulatedCommissioning object, saves it to JSON, and reloads it. The saved JSON includes the lattice path from hmba_config.yaml, so no extra arguments are needed when loading it from the same project layout.

Download the script: 05_save_and_reload_sc.py

examples/05_save_and_reload_sc.py
"""Save and reload a SimulatedCommissioning object."""

from pathlib import Path

from pySC import SimulatedCommissioning, generate_SC

Path("output").mkdir(exist_ok=True)

sc = generate_SC("hmba_config.yaml", seed=1, sigma_truncate=3)
sc.to_json("output/sc.json")
reloaded_sc = SimulatedCommissioning.from_json("output/sc.json")

print(len(sc.lattice.ring), len(reloaded_sc.lattice.ring))