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 the Postgres work queue 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) – Deprecated no-op. Completion is always read from the outputs by key, so there is nothing to rebuild before planning.

  • wait (bool, optional) – If True (default), block until all workers finish. 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 queue, or use the CLI stilt pull-worker and stilt serve commands.