diff --git a/src/xfel_calibrate/calibrate.py b/src/xfel_calibrate/calibrate.py index 1dd810b120ea4a42e04719a4b5f49c845d69ab8b..735730fe5eda5c4bf887a690590a06504f3040ba 100755 --- a/src/xfel_calibrate/calibrate.py +++ b/src/xfel_calibrate/calibrate.py @@ -74,6 +74,9 @@ def make_initial_parser(**kwargs): default=False, help="Do not run as a cluster job") + parser.add_argument('--prepare-only', action="store_true", + help="Prepare notebooks but don't run them") + parser.add_argument('--report-to', type=str, help='Filename (and optionally path) for output' ' report') @@ -1166,6 +1169,15 @@ def run(): # Save information about jobs for reproducibility job_group.save() + if args['prepare_only']: + print("Files prepared, not executing now (--prepare-only option).") + print("To execute the notebooks, run:") + rpt_opts = '' + if user_venv is not None: + rpt_opts = f'--python {python_exe}' + print(f" python -m xfel_calibrate.repeat {run_tmp_path} {rpt_opts}") + return + submission_time = datetime.now().strftime('%Y-%m-%dT%H:%M:%S') # Launch the calibration work