Can a simulation run inside another simulation?

Yes, and it turns out to be one of the more fundamental building blocks in practice. Enabling whole ‘inner’ simulation runs to start and complete within each timestep of an ‘outer’ simulation run is very useful. We shall call these ‘embedded simulation runs’.

There are then several ways one can think of to pass information from the outer simulation into the inner simulation prior to running it on each timestep.

Treating the inner simulation as a partition of the outer simulation, one example is to simply pass parameters from the outer simulation into the inner simulation, and nothing else.

Another example is to pass both the cumulative timesteps history and state partition histories from the outer simulation into the inner simulation, in addition to the parameters.

Consider how this might be used to create useful statistical operations over the history of the outer simulation, e.g., like rolling window averages.

Example: Rolling future temperature forecast

References and further reading

Hardwick, Robert J. 2026a. “How do state partitions share information?” umbralcalculations, November. https://umbralcalc.github.io/posts/how_do_state_partitions_share_information.html.
Hardwick, Robert J. 2026b. “What is a simulation run?” umbralcalculations, November. https://umbralcalc.github.io/posts/what_is_a_simulation_run.html.
Hardwick, Robert J. 2026c. “Why should I simulate the real world?” umbralcalculations, May. https://umbralcalc.github.io/posts/why_should_i_simulate_the_real_world.html.
Särkkä, Simo. 2013. Bayesian Filtering and Smoothing. Cambridge University Press. https://doi.org/10.1017/CBO9781139344203.