Getting Started#
Quick Start#
Prepare the input files:
- Ensure you have the following files in the inputs directory:
infra.json: Infrastructure data
slow_zones.json: Slow zone definitions
demand/odx_demand.csv: Passenger demand data
schedules/empirical_schedule.json: Train schedule data
Configure the simulation:
Open the load-balance/config.yaml file
- Adjust the following parameters as needed:
simulation.number_of_replications
simulation.start_time_of_day
simulation.end_time_of_day
demand_level
station
short_turning
logger.should_log_trajectories
logger.log_interval
Run the simulation:
python -m transit_lab_simmetro.simulation_runner.runner
Check the output:
Look for the generated log files in the specified log folder (default: log_folder_path)
You’ll find CSV and JSON files with various simulation data
Understanding the Inputs and Config#
Infrastructure (infra.json):
Defines blocks, stations, and path information for Northbound and Southbound directions
Slow Zones (slow_zones.json):
Specifies areas with reduced speed limits
Demand Data (odx_demand.csv):
Contains passenger arrival rates at 15-minute intervals for weekdays and non-weekdays for each OD pair
Schedule Data (empirical_schedule.json):
Defines train dispatch times and routes
Configuration (config.yaml):
simulation: Set replication count, start and end times
demand_level: Adjust overall passenger demand. Used as a multiplier to uniformly scale demand.
station: Specify holding station (e.g., “O-Hare” or “Clark/Lake”)
short_turning: Set short turning location (“UIC” or “Western”)
logger: Configure logging options
By adjusting these inputs and configurations, you can simulate various scenarios and analyze the rail system’s performance under different conditions.