osmose.engine.simulate

Main simulation loop for the Python OSMOSE engine.

Follows Java’s SimulationStep.step() ordering:

incoming_flux -> reset -> resources.update -> movement -> mortality (interleaved) -> growth -> aging_mortality -> reproduction -> collect_outputs -> compact

Functions

initialize(config, grid, rng)

Create the initial population.

simulate(config, grid, rng[, movement_rngs, ...])

Run the OSMOSE simulation loop.

Classes

SimulationContext([diet_tracking_enabled, ...])

Per-simulation mutable state -- replaces module-level globals.

StepOutput(step, biomass, abundance, ...[, ...])

Aggregated output for a single simulation timestep.

TraitStats(mean, variance, n_individuals)

Per-species summary statistics for one genetic trait at one timestep.