stilt.execution.worker.run_receptor#
- stilt.execution.worker.run_receptor(project, receptor_id, *, compute_root, execution=None, skip_existing=True, batched=True)[source]#
Run every simulation of one receptor, and return what did not complete.
Each realization of an ensemble variant is a simulation of its own. Variants with the same transport settings share one set of particles (per realization), so they run as a group: the transport model runs once for the group when the particles are missing (or always, without
skip_existing), and each variant’s footprint is made from those particles in memory. A footprint is made again whenever its particles were, so it always matches them. A failure is recorded with the simulation (stilt.Simulation.failure) and does not stop the others; a failed transport model run fails every variant of its group. AKeyboardInterrupt, such as a preempted job, stops the receptor and is raised again.- Parameters:
project (
Project) – Project the receptor belongs to.receptor_id (
str) – Receptor to run.compute_root (
Path) – Directory the workdirs are made in, a new one for each run, asresolve_compute_root()returns it.execution (
ExecutionConfig|None) – Execution settings, fortimeoutandkeep_workdir. Defaults to the project’s.skip_existing (
bool) – Keep particles and footprints that already exist.batched (
bool) – Also run the variants of a batched transport model, one receptor per call.run_receptors()runs those for all its receptors at once first, and passes False.
- Returns:
One line per failure, empty when every simulation is complete. The failures are also recorded in the output directory, which is where
stilt.Project.status()reads them.- Return type: