stilt.Model.run#

Model.run(executor=None, skip_existing=None, rebuild=None, wait=True)[source]#

Register pending work and start workers to drain it.

When config.footprints contains one or more footprint configurations, workers auto-run HYSPLIT trajectories as needed and then compute footprints in a single pass. When no footprint configs are defined, only HYSPLIT trajectories are dispatched.

Workers either drain a claim-capable project index via pull_simulations() or consume immutable chunk shards via push_simulations(); the coordinator registers simulations and starts workers, then optionally blocks.

Parameters:
  • executor (Executor, optional) – Override the executor resolved from config.execution.

  • skip_existing (bool or None, optional) – Skip simulations that already have output. None (default) reads the value from config.skip_existing.

  • rebuild (bool or None, optional) – Rebuild the output index from outputs before planning work. None (default) uses auto mode: rebuild when skip-existing is enabled, otherwise skip the pre-run rebuild.

  • wait (bool, optional) – If True (default), block until all workers finish and rebuild output index from outputs. If False, return the JobHandle immediately — suitable for fire-and-forget Slurm runs.

Returns:

A handle you can call .wait() on later, or ignore.

Return type:

JobHandle

Notes

Model.run() is the main science-facing execution path for local or notebook use. For claim-based service workflows, use stilt.execution.pull_simulations() against a model configured with a PostgreSQL-backed index, or use the CLI stilt pull-worker and stilt serve commands.