Model Control — Simulations
The Simulation section of the Model Control page lets you replay a historical experiment through the models in expanding time chunks. This mimics what the models would have predicted if running live during that experiment — useful for validating model behaviour before deploying on a live run.
For running models on live or newly loaded data, see Running Predictions.
How Simulation Works
Section titled “How Simulation Works”A simulation takes a complete historical experiment and slices it into expanding time windows:
- Chunk 1 covers minutes
0 → N - Chunk 2 covers minutes
0 → 2N - Chunk 3 covers minutes
0 → 3N - … and so on until the end of the experiment
All three models (XGBoost, LSTM, Linear Regression) are run on each chunk in sequence. This means by the end of a simulation you have a full set of predictions at every time step, exactly as if the models had been running live throughout the experiment.
Each simulation run is assigned a unique ID:
{experiment_id}_simulation_{YYYYMMDD_HHMMSS}Running the same experiment multiple times produces separate IDs so every run is tracked independently in the database.
Running a Simulation
Section titled “Running a Simulation”1. Select Training Data (Optional)
Section titled “1. Select Training Data (Optional)”The simulation uses the Training Data Selection section (top of the Model Control page) to determine what data the models train on before each chunk is predicted. If no training experiments are selected, all available data is used.
See Running Predictions → Training Data Selection for how to set this up.
2. Select a Simulation Experiment
Section titled “2. Select a Simulation Experiment”The experiment list shows all available experiments as radio buttons, each labelled with the experiment ID and reactor entity. Select the experiment you want to replay.
The list does not reload while a simulation is already running to avoid disrupting the active run.

3. Set the Chunk Size
Section titled “3. Set the Chunk Size”Enter the chunk size in minutes. This controls how much data is added at each step. Smaller chunks give finer-grained predictions but take longer to complete. A chunk size of 15 minutes is a reasonable default for most bioreactor runs.
4. Start the Simulation
Section titled “4. Start the Simulation”Click Run Simulation. While the simulation is running:
- The run button and experiment list are disabled
- A live output panel shows progress after each chunk completes:
Simulation run #1 started (exp_001_simulation_20240601_120000): 24 chunks of 15 minutesChunk 1/24 completedChunk 2/24 completed...Simulation run #1 finished! ID: exp_001_simulation_20240601_120000If something goes wrong, an error message is shown in the output panel in red and the simulation state is reset so you can try again.
Viewing Results
Section titled “Viewing Results”Once a simulation finishes, its results are written to the local database
under the simulation ID. Navigate to the Prediction Evaluation tab
on the control page and
select the simulation experiment (it appears in the dropdown experiment list with the
_simulation_ suffix) to see the model predictions overlaid on the
replayed sensor data.
Simulation results are also available in the Performance Metrics page for evaluation against the ground-truth optical density values from the original experiment.

See Also
Section titled “See Also”- Running Predictions — run models on live data, manage model files, and configure hyperparameters
- Experimental Insight — view experimental data
- Performance Metrics — evaluate simulation prediction quality