stilt.Project.status#

Project.status(sel=None)[source]#

Return the selected simulations with what each has, and where it stands.

Whether a result exists comes from a listing of the date folders, so no result file is opened; only the failure records of failed simulations are read.

Parameters:

sel (Any) – The simulations: rows of simulations, any table with receptor and variant columns (pandas, polars, pyarrow), or a boolean mask over simulations. All of them by default.

Returns:

The selection with six more columns. particles and footprint are True when the result exists, False when it is missing, and NA when the variant does not make it. state is complete when every expected result exists (stilt.Simulation.is_complete), failed when the last run failed, interrupted when a run of its particles started and stopped before it finished (a time limit, preemption, or a killed process), and pending when nothing has run. step, reason, and message say why a failed simulation failed (stilt.Simulation.failure), and are NA for the others.

Return type:

DataFrame

Notes

An empty footprint (no particle reached the grid) is complete: its sim.footprint is None while sim.has_footprint is true, and jacobian() lists the empty ones.

Examples

>>> st = project.status()
>>> st.state.value_counts()
>>> st[st.state == "failed"][
...     ["receptor", "variant", "reason"]
... ]