diff --git a/plenoirf/__init__.py b/plenoirf/__init__.py index bf6e66b..b42313a 100644 --- a/plenoirf/__init__.py +++ b/plenoirf/__init__.py @@ -99,6 +99,41 @@ def run(run_dir, pool, logger=None): if logger is None: logger = json_line_logger.LoggerStdout() + logger.debug("gather provenance") + prov = provenance.make_provenance() + provenance.tar_open_append_close( + path=opj(run_dir, "provenance", "init.tar"), + provenance=prov, + ) + + logger.debug("read config") + config = configurating.read(run_dir=run_dir) + + while magnetic_deflection.needs_to_run( + work_dir=opj(run_dir, "magnetic_deflection"), + num_showers_target=config["magnetic_deflection"]["num_showers_target"], + ): + logger.info("Produce more showers in magnetic_deflection.") + magnetic_deflection.run( + work_dir=opj(run_dir, "magnetic_deflection"), + pool=pool, + num_runs=config["magnetic_deflection"]["run"]["num_runs"], + num_showers_per_run=config["magnetic_deflection"]["run"][ + "num_showers_per_run" + ], + num_showers_target=config["magnetic_deflection"][ + "num_showers_target" + ], + ) + logger.info("magnetic_deflection is complete") + + plenoptics.run( + work_dir=opj(run_dir, "plenoptics"), + pool=pool, + logger=logger, + ) + logger.info("plenoptics is complete") + def makesuredirs(path): os.makedirs(path, exist_ok=True) diff --git a/plenoirf/configurating.py b/plenoirf/configurating.py index 003d771..cd3fbc3 100644 --- a/plenoirf/configurating.py +++ b/plenoirf/configurating.py @@ -60,7 +60,14 @@ def make_particles(): def make_magnetic_deflection(): - return {"energy_stop_GeV": 64.0} + return { + "energy_stop_GeV": 64.0, + "num_showers_target": 2 * 1000 * 1000, + "run": { + "num_runs": 192, + "num_showers_per_run": 1280, + }, + } def make_plenoptics():