diff --git a/src/xfel_calibrate/calibrate.py b/src/xfel_calibrate/calibrate.py index 159891a39c913cb8689d9394e9292b0edfd6563a..f6a762b44de0cd79f5a17b8ffa489c0f6f596b74 100755 --- a/src/xfel_calibrate/calibrate.py +++ b/src/xfel_calibrate/calibrate.py @@ -23,6 +23,7 @@ import nbformat import numpy as np from jinja2 import Template from nbparameterise import extract_parameters, parameter_values, replace_definitions +import yaml import cal_tools.tools @@ -86,6 +87,11 @@ def make_initial_parser(**kwargs): help='Name of concurrency parameter.' 'If not given, it is taken from configuration.') + parser.add_argument('--constants-from', type=str, help=( + "Path to a calibration-metadata.yml file. If given, " + "retrieved-constants will be copied to use for a new correction." + )) + parser.add_argument('--priority', type=int, default=2, help="Priority of batch jobs. If priority<=1, reserved" " nodes become available.") @@ -1073,6 +1079,10 @@ def run(): 'path': python_exe, 'python-version': get_python_version(python_exe), } + if args["constants_from"]: + with open(args["constants_from"], "r", encoding='utf-8') as f: + d = yaml.safe_load(f) + metadata["retrieved-constants"] = d["retrieved-constants"] metadata.save() # Record installed Python packages for reproducing the environment