import json
import pathlib
import kshana
SCENARIO = pathlib.Path("scenarios/clock-holdover.toml")
def main() -> None:
src = SCENARIO.read_text()
result = json.loads(kshana.run(src))
q = result["quantum"]["fom"]["holdover_s"]
c = result["classical"]["fom"]["holdover_s"]
print(f"quantum holdover : {q:.0f} s")
print(f"classical holdover: {c:.0f} s")
assert q >= c, "optical clock must hold at least as long as the CSAC"
print("OK: optical clock holds >= CSAC (NIST SP-1065 white-FM growth law)")
if __name__ == "__main__":
main()