What is a state partition?

A state partition is one piece of a simulation’s state. Simulations have a ‘state’ associated to them for each value of time.

A simulation state holds all of the essential information we want to track to make the simulation useful to us which, crucially, includes all of the information that is needed for the simulation to proceed.

In order to simplify how all of this state data is processed and retrieved, we’re going to partition this simulation state into several ‘state partition’ data structures.

For example, one of these partitions might hold all the data associated to a player in a sports team, and the whole simulation needs all of the players within its overall state.

Each state partition carries data that can be different for each moment in time of the simulation. In order to track this evolution, we create a ‘state partition history’ data structure for each state partition.

Each state partition history has indices which always match those of the cumulative timesteps history, so they are always synchronised with each other.

Example: Energy usage in a smart building

Overall time series (temperature)
Highlighted window corresponds to the history panels below.
Cumulative timesteps history
The most recent time is at the top.
State partition histories

References and further reading

Durbin, James, and Siem Jan Koopman. 2012. Time Series Analysis by State Space Methods. 2nd ed. Oxford University Press.
Grimm, Volker, Uta Berger, Finn Bastiansen, et al. 2006. “A Standard Protocol for Describing Individual-Based and Agent-Based Models.” Ecological Modelling 198 (1–2): 115–26. https://doi.org/10.1016/j.ecolmodel.2006.04.023.
Hardwick, Robert J. 2026a. “How does a simulation keep track of time?” umbralcalculations, November. https://umbralcalc.github.io/posts/how_does_a_simulation_keep_track_of_time.html.
Hardwick, Robert J. 2026b. “Why should I simulate the real world?” umbralcalculations, May. https://umbralcalc.github.io/posts/why_should_i_simulate_the_real_world.html.