sumo

From 30.000 feet#

sumo is the simulation itself; it is a microscopic, space-continuous, and time-discrete traffic flow simulation.

  • Input (optional): Additional definitions of traffic lights, variable speed signs, output detectors etc.
  • Output: SUMO allows to generate a wide set of outputs; visualization is done using sumo-gui
  • Programming Language: C++

Usage Description#

For a brief overview see Simulation/Basic_Definition. Model details and feature documentation can be found at Simulation topics.

Options#

You may use a XML schema definition file for setting up a SUMO configuration: sumoConfiguration.xsd.

Configuration#

Option Description
-c <FILE>
--configuration-file <FILE>
Loads the named config on startup
-C <FILE>
--save-configuration <FILE>
Saves current configuration into FILE
--save-template <FILE> Saves a configuration template (empty) into FILE
--save-schema <FILE> Saves the configuration schema into FILE
--save-commented <BOOL> Adds comments to saved template, configuration, or schema; default: false

Input#

Option Description
-n <FILE>
--net-file <FILE>
Load road network description from FILE
-r <FILE>
--route-files <FILE>
Load routes descriptions from FILE(s)
-a <FILE>
--additional-files <FILE>
Load further descriptions from FILE(s)
-w <FILE>
--weight-files <FILE>
Load edge/lane weights for online rerouting from FILE
-x <STRING>
--weight-attribute <STRING>
Name of the xml attribute which gives the edge weight; default: traveltime
--load-state <FILE> Loads a network state from FILE
--load-state.offset <TIME> Shifts all times loaded from a saved state by the given offset; default: 0
--load-state.remove-vehicles Removes vehicles with the given IDs from the loaded state
--junction-taz <BOOL> Initialize a TAZ for every junction to use attributes toJunction and fromJunction; default: false

Output#

Option Description
--write-license <BOOL> Include license info into every output file; default: false
--output-prefix <STRING> Prefix which is applied to all output files. The special string 'TIME' is replaced by the current time.
--precision <INT> Defines the number of digits after the comma for floating point output; default: 2
--precision.geo <INT> Defines the number of digits after the comma for lon,lat output; default: 6
-H <BOOL>
--human-readable-time <BOOL>
Write time values as hour:minute:second or day:hour:minute:second rather than seconds; default: false
--netstate-dump <FILE> Save complete network states into FILE
--netstate-dump.empty-edges <BOOL> Write also empty edges completely when dumping; default: false
--netstate-dump.precision <INT> Write positions and speeds with the given precision (default 2); default: 2
--emission-output <FILE> Save the emission values of each vehicle
--emission-output.precision <INT> Write emission values with the given precision (default 2); default: 2
--battery-output <FILE> Save the battery values of each vehicle
--battery-output.precision <INT> Write battery values with the given precision (default 2); default: 2
--elechybrid-output <FILE> Save the elecHybrid values of each vehicle
--elechybrid-output.precision <INT> Write elecHybrid values with the given precision (default 2); default: 2
--elechybrid-output.aggregated <BOOL> Write elecHybrid values into one aggregated file; default: false
--chargingstations-output <FILE> Write data of charging stations
--overheadwiresegments-output <FILE> Write data of overhead wire segments
--substations-output <FILE> Write data of electrical substation stations
--fcd-output <FILE> Save the Floating Car Data
--fcd-output.geo <BOOL> Save the Floating Car Data using geo-coordinates (lon/lat); default: false
--fcd-output.signals <BOOL> Add the vehicle signal state to the FCD output (brake lights etc.); default: false
--fcd-output.distance <BOOL> Add kilometrage to the FCD output (linear referencing); default: false
--fcd-output.acceleration <BOOL> Add acceleration to the FCD output; default: false
--fcd-output.params Add generic parameter values to the FCD output
--fcd-output.filter-edges.input-file <FILE> Restrict fcd output to the edge selection from the given input file
--full-output <FILE> Save a lot of information for each timestep (very redundant)
--queue-output <FILE> Save the vehicle queues at the junctions (experimental)
--vtk-output <FILE> Save complete vehicle positions inclusive speed values in the VTK Format (usage: /path/out will produce /path/out_$TIMESTEP$.vtp files)
--amitran-output <FILE> Save the vehicle trajectories in the Amitran format
--summary-output <FILE> Save aggregated vehicle departure info into FILE
--person-summary-output <FILE> Save aggregated person counts into FILE
--tripinfo-output <FILE> Save single vehicle trip info into FILE
--tripinfo-output.write-unfinished <BOOL> Write tripinfo output for vehicles which have not arrived at simulation end; default: false
--vehroute-output <FILE> Save single vehicle route info into FILE
--vehroute-output.exit-times <BOOL> Write the exit times for all edges; default: false
--vehroute-output.last-route <BOOL> Write the last route only; default: false
--vehroute-output.sorted <BOOL> Sorts the output by departure time; default: false
--vehroute-output.dua <BOOL> Write the output in the duarouter alternatives style; default: false
--vehroute-output.cost <BOOL> Write costs for all routes; default: false
--vehroute-output.intended-depart <BOOL> Write the output with the intended instead of the real departure time; default: false
--vehroute-output.route-length <BOOL> Include total route length in the output; default: false
--vehroute-output.write-unfinished <BOOL> Write vehroute output for vehicles which have not arrived at simulation end; default: false
--vehroute-output.skip-ptlines <BOOL> Skip vehroute output for public transport vehicles; default: false
--vehroute-output.incomplete <BOOL> Include invalid routes and route stubs in vehroute output; default: false
--vehroute-output.stop-edges <BOOL> Include information about edges between stops; default: false
--link-output <FILE> Save links states into FILE
--railsignal-block-output <FILE> Save railsignal-blocks into FILE
--bt-output <FILE> Save bluetooth visibilities into FILE (in conjunction with device.btreceiver and device.btsender)
--lanechange-output <FILE> Record lane changes and their motivations for all vehicles into FILE
--lanechange-output.started <BOOL> Record start of lane change manoeuvres; default: false
--lanechange-output.ended <BOOL> Record end of lane change manoeuvres; default: false
--lanechange-output.xy <BOOL> Record coordinates of lane change manoeuvres; default: false
--stop-output <FILE> Record stops and loading/unloading of passenger and containers for all vehicles into FILE
--statistic-output <FILE> Write overall statistics into FILE
--save-state.times Use TIME[] as times at which a network state written
--save-state.period <TIME> save state repeatedly after TIME period; default: -1
--save-state.prefix <FILE> Prefix for network states; default: state
--save-state.suffix <STRING> Suffix for network states (.xml.gz or .xml); default: .xml.gz
--save-state.files <FILE> Files for network states
--save-state.rng <BOOL> Save random number generator states; default: false
--save-state.transportables <BOOL> Save person and container states (experimental); default: false

Time#

Option Description
-b <TIME>
--begin <TIME>
Defines the begin time in seconds; The simulation starts at this time; default: 0
-e <TIME>
--end <TIME>
Defines the end time in seconds; The simulation ends at this time; default: -1
--step-length <TIME> Defines the step duration in seconds; default: 1

Processing#

Option Description
--step-method.ballistic <BOOL> Whether to use ballistic method for the positional update of vehicles (default is a semi-implicit Euler method).; default: false
--extrapolate-departpos <BOOL> Whether vehicles that depart between simulation steps should extrapolate the depart position; default: false
--threads <INT> Defines the number of threads for parallel simulation; default: 1
--lateral-resolution <FLOAT> Defines the resolution in m when handling lateral positioning within a lane (with -1 all vehicles drive at the center of their lane; default: -1
-s <TIME>
--route-steps <TIME>
Load routes for the next number of seconds ahead; default: 200
--no-internal-links <BOOL> Disable (junction) internal links; default: false
--ignore-junction-blocker <TIME> Ignore vehicles which block the junction after they have been standing for SECONDS (-1 means never ignore); default: -1
--ignore-route-errors <BOOL> (1) Do not check whether routes are connected. (2) Allow inserting a vehicle in a situation which requires emergency braking.; default: false
--ignore-accidents <BOOL> Do not check whether accidents occur; default: false
--collision.action <STRING> How to deal with collisions: [none,warn,teleport,remove]; default: teleport
--collision.stoptime <TIME> Let vehicle stop for TIME before performing collision.action (except for action 'none'); default: 0
--collision.check-junctions <BOOL> Enables collisions checks on junctions; default: false
--collision.mingap-factor <FLOAT> Sets the fraction of minGap that must be maintained to avoid collision detection. If a negative value is given, the carFollowModel parameter is used; default: -1
--max-num-vehicles <INT> Delay vehicle insertion to stay within the given maximum number; default: -1
--max-num-teleports <INT> Abort the simulation if the given maximum number of teleports is exceeded; default: -1
--scale <FLOAT> Scale demand by the given factor (by discarding or duplicating vehicles); default: 1
--time-to-teleport <TIME> Specify how long a vehicle may wait until being teleported, defaults to 300, non-positive values disable teleporting; default: 300
--time-to-teleport.highways <TIME> The waiting time after which vehicles on a fast road (speed > 69km/h) are teleported if they are on a non-continuing lane; default: 0
--waiting-time-memory <TIME> Length of time interval, over which accumulated waiting time is taken into account (default is 100s.); default: 100
--max-depart-delay <TIME> How long vehicles wait for departure before being skipped, defaults to -1 which means vehicles are never skipped; default: -1
--sloppy-insert <BOOL> Whether insertion on an edge shall not be repeated in same step once failed; default: false
--eager-insert <BOOL> Whether each vehicle is checked separately for insertion on an edge; default: false
--random-depart-offset <TIME> Each vehicle receives a random offset to its depart value drawn uniformly from [0, TIME]; default: 0
--lanechange.duration <TIME> Duration of a lane change maneuver (default 0); default: 0
--lanechange.overtake-right <BOOL> Whether overtaking on the right on motorways is permitted; default: false
--tls.all-off <BOOL> Switches off all traffic lights.; default: false
--tls.actuated.show-detectors <BOOL> Sets default visibility for actuation detectors; default: false
--tls.delay_based.detector-range <FLOAT> Sets default range for detecting delayed vehicles; default: 100
--time-to-impatience <TIME> Specify how long a vehicle may wait until impatience grows from 0 to 1, defaults to 300, non-positive values disable impatience growth; default: 300
--default.action-step-length <FLOAT> Length of the default interval length between action points for the car-following and lane-change models (in seconds). If not specified, the simulation step-length is used per default. Vehicle- or VType-specific settings override the default. Must be a multiple of the simulation step-length.; default: 0
--default.carfollowmodel <STRING> Select default car following model (Krauss, IDM, ...); default: Krauss
--default.speeddev <FLOAT> Select default speed deviation. A negative value implies vClass specific defaults (0.1 for the default passenger class; default: -1
--default.emergencydecel <STRING> Select default emergencyDecel value among ('decel', 'default', FLOAT) which sets the value either to the same as the deceleration value, a vClass-class specific default or the given FLOAT in m/s^2; default: default
--overhead-wire-solver <BOOL> Use Kirchhoff's laws for solving overhead wire circuit; default: true
--emergencydecel.warning-threshold <FLOAT> Sets the fraction of emergency decel capability that must be used to trigger a warning.; default: 1
--parking.maneuver <BOOL> Whether parking simulation includes manoeuvering time and associated lane blocking; default: false
--pedestrian.model <STRING> Select among pedestrian models ['nonInteracting', 'striping', 'remote']; default: striping
--pedestrian.striping.stripe-width <FLOAT> Width of parallel stripes for segmenting a sidewalk (meters) for use with model 'striping'; default: 0.64
--pedestrian.striping.dawdling <FLOAT> Factor for random slow-downs [0,1] for use with model 'striping'; default: 0.2
--pedestrian.striping.jamtime <TIME> Time in seconds after which pedestrians start squeezing through a jam when using model 'striping' (non-positive values disable squeezing); default: 300
--pedestrian.striping.jamtime.crossing <TIME> Time in seconds after which pedestrians start squeezing through a jam while on a pedestrian crossing when using model 'striping' (non-positive values disable squeezing); default: 10
--pedestrian.striping.reserve-oncoming <FLOAT> Fraction of stripes to reserve for oncoming pedestrians; default: 0
--pedestrian.striping.reserve-oncoming.junctions <FLOAT> Fraction of stripes to reserve for oncoming pedestrians on crossings and walkingareas; default: 0.34
--pedestrian.remote.address <STRING> The address (host:port) of the external simulation; default: localhost:9000
--ride.stop-tolerance <FLOAT> Tolerance to apply when matching pedestrian and vehicle positions on boarding at individual stops; default: 10

Routing#

Option Description
--routing-algorithm <STRING> Select among routing algorithms ['dijkstra', 'astar', 'CH', 'CHWrapper']; default: dijkstra
--weights.random-factor <FLOAT> Edge weights for routing are dynamically disturbed by a random factor drawn uniformly from [1,FLOAT); default: 1
--weights.minor-penalty <FLOAT> Apply the given time penalty when computing minimum routing costs for minor-link internal lanes; default: 1.5
--weights.priority-factor <FLOAT> Consider edge priorities in addition to travel times, weighted by factor; default: 0
--astar.all-distances <FILE> Initialize lookup table for astar from the given file (generated by marouter --all-pairs-output)
--astar.landmark-distances <FILE> Initialize lookup table for astar ALT-variant from the given file
--persontrip.walkfactor <FLOAT> Use FLOAT as a factor on pedestrian maximum speed during intermodal routing; default: 0.75
--persontrip.transfer.car-walk Where are mode changes from car to walking allowed (possible values: 'parkingAreas', 'ptStops', 'allJunctions' and combinations); default: parkingAreas
--persontrip.transfer.taxi-walk Where taxis can drop off customers ('allJunctions, 'ptStops')
--persontrip.transfer.walk-taxi Where taxis can pick up customers ('allJunctions, 'ptStops')
--railway.max-train-length <FLOAT> Use FLOAT as a maximum train length when initializing the railway router; default: 5000
--device.rerouting.probability <FLOAT> The probability for a vehicle to have a 'rerouting' device; default: -1
--device.rerouting.explicit Assign a 'rerouting' device to named vehicles
--device.rerouting.deterministic <BOOL> The 'rerouting' devices are set deterministic using a fraction of 1000; default: false
--device.rerouting.period <TIME> The period with which the vehicle shall be rerouted; default: 0
--device.rerouting.pre-period <TIME> The rerouting period before depart; default: 60
--device.rerouting.adaptation-weight <FLOAT> The weight of prior edge weights for exponential moving average; default: 0
--device.rerouting.adaptation-steps <INT> The number of steps for moving average weight of prior edge weights; default: 180
--device.rerouting.adaptation-interval <TIME> The interval for updating the edge weights; default: 1
--device.rerouting.with-taz <BOOL> Use zones (districts) as routing start- and endpoints; default: false
--device.rerouting.init-with-loaded-weights <BOOL> Use weight files given with option --weight-files for initializing edge weights; default: false
--device.rerouting.threads <INT> The number of parallel execution threads used for rerouting; default: 0
--device.rerouting.synchronize <BOOL> Let rerouting happen at the same time for all vehicles; default: false
--device.rerouting.railsignal <BOOL> Allow rerouting triggered by rail signals.; default: true
--device.rerouting.bike-speeds <BOOL> Compute separate average speeds for bicycles; default: false
--device.rerouting.output <FILE> Save adapting weights to FILE
--person-device.rerouting.probability <FLOAT> The probability for a person to have a 'rerouting' device; default: -1
--person-device.rerouting.explicit Assign a 'rerouting' device to named persons
--person-device.rerouting.deterministic <BOOL> The 'rerouting' devices are set deterministic using a fraction of 1000; default: false
--person-device.rerouting.period <TIME> The period with which the person shall be rerouted; default: 0

Report#

Option Description
-v <BOOL>
--verbose <BOOL>
Switches to verbose output; default: false
--print-options <BOOL> Prints option values before processing; default: false
-? <BOOL>
--help <BOOL>
Prints this screen or selected topics; default: false
-V <BOOL>
--version <BOOL>
Prints the current version; default: false
-X <STRING>
--xml-validation <STRING>
Set schema validation scheme of XML inputs ("never", "auto" or "always"); default: auto
--xml-validation.net <STRING> Set schema validation scheme of SUMO network inputs ("never", "auto" or "always"); default: never
--xml-validation.routes <STRING> Set schema validation scheme of SUMO route inputs ("never", "auto" or "always"); default: auto
-W <BOOL>
--no-warnings <BOOL>
Disables output of warnings; default: false
--aggregate-warnings <INT> Aggregate warnings of the same type whenever more than INT occur; default: -1
-l <FILE>
--log <FILE>
Writes all messages to FILE (implies verbose)
--message-log <FILE> Writes all non-error messages to FILE (implies verbose)
--error-log <FILE> Writes all warnings and errors to FILE
--duration-log.disable <BOOL> Disable performance reports for individual simulation steps; default: false
-t <BOOL>
--duration-log.statistics <BOOL>
Enable statistics on vehicle trips; default: false
--no-step-log <BOOL> Disable console output of current simulation step; default: false
--step-log.period <INT> Number of simulation steps between step-log outputs; default: 100

Emissions#

Option Description
--phemlight-path <FILE> Determines where to load PHEMlight definitions from.; default: ./PHEMlight/
--device.emissions.probability <FLOAT> The probability for a vehicle to have a 'emissions' device; default: -1
--device.emissions.explicit Assign a 'emissions' device to named vehicles
--device.emissions.deterministic <BOOL> The 'emissions' devices are set deterministic using a fraction of 1000; default: false
--device.emissions.period <STRING> Recording period for emission-output; default: 0

Communication#

Option Description
--device.btreceiver.probability <FLOAT> The probability for a vehicle to have a 'btreceiver' device; default: -1
--device.btreceiver.explicit Assign a 'btreceiver' device to named vehicles
--device.btreceiver.deterministic <BOOL> The 'btreceiver' devices are set deterministic using a fraction of 1000; default: false
--device.btreceiver.range <FLOAT> The range of the bt receiver; default: 300
--device.btreceiver.all-recognitions <BOOL> Whether all recognition point shall be written; default: false
--device.btreceiver.offtime <FLOAT> The offtime used for calculating detection probability (in seconds); default: 0.64
--device.btsender.probability <FLOAT> The probability for a vehicle to have a 'btsender' device; default: -1
--device.btsender.explicit Assign a 'btsender' device to named vehicles
--device.btsender.deterministic <BOOL> The 'btsender' devices are set deterministic using a fraction of 1000; default: false

Battery#

Option Description
--device.battery.probability <FLOAT> The probability for a vehicle to have a 'battery' device; default: -1
--device.battery.explicit Assign a 'battery' device to named vehicles
--device.battery.deterministic <BOOL> The 'battery' devices are set deterministic using a fraction of 1000; default: false

Example Device#

Option Description
--device.example.probability <FLOAT> The probability for a vehicle to have a 'example' device; default: -1
--device.example.explicit Assign a 'example' device to named vehicles
--device.example.deterministic <BOOL> The 'example' devices are set deterministic using a fraction of 1000; default: false
--device.example.parameter <FLOAT> An exemplary parameter which can be used by all instances of the example device; default: 0

Ssm Device#

Option Description
--device.ssm.probability <FLOAT> The probability for a vehicle to have a 'ssm' device; default: -1
--device.ssm.explicit Assign a 'ssm' device to named vehicles
--device.ssm.deterministic <BOOL> The 'ssm' devices are set deterministic using a fraction of 1000; default: false
--device.ssm.measures <STRING> Specifies which measures will be logged (as a space separated sequence of IDs in ('TTC', 'DRAC', 'PET')).
--device.ssm.thresholds <STRING> Specifies thresholds corresponding to the specified measures (see documentation and watch the order!). Only events exceeding the thresholds will be logged.
--device.ssm.trajectories <BOOL> Specifies whether trajectories will be logged (if false, only the extremal values and times are reported, this is the default).
--device.ssm.range <FLOAT> Specifies the detection range in meters (default is 50.00m.). For vehicles below this distance from the equipped vehicle, SSM values are traced.
--device.ssm.extratime <FLOAT> Specifies the time in seconds to be logged after a conflict is over (default is 5.00secs.). Required >0 if PET is to be calculated for crossing conflicts.
--device.ssm.file <STRING> Give a global default filename for the SSM output.
--device.ssm.geo <BOOL> Whether to use coordinates of the original reference system in output (default is false).

Toc Device#

Option Description
--device.toc.probability <FLOAT> The probability for a vehicle to have a 'toc' device; default: -1
--device.toc.explicit Assign a 'toc' device to named vehicles
--device.toc.deterministic <BOOL> The 'toc' devices are set deterministic using a fraction of 1000; default: false
--device.toc.manualType <STRING> Vehicle type for manual driving regime.
--device.toc.automatedType <STRING> Vehicle type for automated driving regime.
--device.toc.responseTime <FLOAT> Average response time needed by a driver to take back control.; default: -1
--device.toc.recoveryRate <FLOAT> Recovery rate for the driver's awareness after a ToC.; default: 0.1
--device.toc.lcAbstinence <FLOAT> Attention level below which a driver restrains from performing lane changes (value in [0,1]).; default: 0
--device.toc.initialAwareness <FLOAT> Average awareness a driver has initially after a ToC (value in [0,1]).; default: 0.5
--device.toc.mrmDecel <FLOAT> Deceleration rate applied during a 'minimum risk maneuver'.; default: 1.5
--device.toc.dynamicToCThreshold <FLOAT> Time, which the vehicle requires to have ahead to continue in automated mode. The default value of 0 indicates no dynamic triggering of ToCs.; default: 0
--device.toc.dynamicMRMProbability <FLOAT> Probability that a dynamically triggered TOR is not answered in time.; default: 0.05
--device.toc.mrmKeepRight <BOOL> If true, the vehicle tries to change to the right during an MRM.; default: false
--device.toc.mrmSafeSpot <STRING> If set, the vehicle tries to reach the given named stopping place during an MRM.
--device.toc.mrmSafeSpotDuration <FLOAT> Duration the vehicle stays at the safe spot after an MRM.; default: 60
--device.toc.maxPreparationAccel <FLOAT> Maximal acceleration that may be applied during the ToC preparation phase.; default: 0
--device.toc.ogNewTimeHeadway <FLOAT> Timegap for ToC preparation phase.; default: -1
--device.toc.ogNewSpaceHeadway <FLOAT> Additional spacing for ToC preparation phase.; default: -1
--device.toc.ogMaxDecel <FLOAT> Maximal deceleration applied for establishing increased gap in ToC preparation phase.; default: -1
--device.toc.ogChangeRate <FLOAT> Rate of adaptation towards the increased headway during ToC preparation.; default: -1
--device.toc.useColorScheme <BOOL> Whether a coloring scheme shall by applied to indicate the different ToC stages.; default: true
--device.toc.file <STRING> Switches on output by specifying an output filename.

Driver State Device#

Option Description
--device.driverstate.probability <FLOAT> The probability for a vehicle to have a 'driverstate' device; default: -1
--device.driverstate.explicit Assign a 'driverstate' device to named vehicles
--device.driverstate.deterministic <BOOL> The 'driverstate' devices are set deterministic using a fraction of 1000; default: false
--device.driverstate.initialAwareness <FLOAT> Initial value assigned to the driver's awareness.; default: 1
--device.driverstate.errorTimeScaleCoefficient <FLOAT> Time scale for the error process.; default: 100
--device.driverstate.errorNoiseIntensityCoefficient <FLOAT> Noise intensity driving the error process.; default: 0.2
--device.driverstate.speedDifferenceErrorCoefficient <FLOAT> General scaling coefficient for applying the error to the perceived speed difference (error also scales with distance).; default: 0.15
--device.driverstate.headwayErrorCoefficient <FLOAT> General scaling coefficient for applying the error to the perceived distance (error also scales with distance).; default: 0.75
--device.driverstate.speedDifferenceChangePerceptionThreshold <FLOAT> Base threshold for recognizing changes in the speed difference (threshold also scales with distance).; default: 0.1
--device.driverstate.headwayChangePerceptionThreshold <FLOAT> Base threshold for recognizing changes in the headway (threshold also scales with distance).; default: 0.1
--device.driverstate.minAwareness <FLOAT> Minimal admissible value for the driver's awareness.; default: 0.1
--device.driverstate.maximalReactionTime <FLOAT> Maximal reaction time (~action step length) induced by decreased awareness level (reached for awareness=minAwareness).; default: -1

Bluelight Device#

Option Description
--device.bluelight.probability <FLOAT> The probability for a vehicle to have a 'bluelight' device; default: -1
--device.bluelight.explicit Assign a 'bluelight' device to named vehicles
--device.bluelight.deterministic <BOOL> The 'bluelight' devices are set deterministic using a fraction of 1000; default: false
--device.bluelight.reactiondist <FLOAT> Set the distance at which other drivers react to the blue light and siren sound; default: 25

Fcd Device#

Option Description
--device.fcd.probability <FLOAT> The probability for a vehicle to have a 'fcd' device; default: -1
--device.fcd.explicit Assign a 'fcd' device to named vehicles
--device.fcd.deterministic <BOOL> The 'fcd' devices are set deterministic using a fraction of 1000; default: false
--device.fcd.period <STRING> Recording period for FCD-data; default: 0
--device.fcd.radius <FLOAT> Record objects in a radius around equipped vehicles; default: 0
--person-device.fcd.probability <FLOAT> The probability for a person to have a 'fcd' device; default: -1
--person-device.fcd.explicit Assign a 'fcd' device to named persons
--person-device.fcd.deterministic <BOOL> The 'fcd' devices are set deterministic using a fraction of 1000; default: false
--person-device.fcd.period <STRING> Recording period for FCD-data; default: 0

Elechybrid Device#

Option Description
--device.elechybrid.probability <FLOAT> The probability for a vehicle to have a 'elechybrid' device; default: -1
--device.elechybrid.explicit Assign a 'elechybrid' device to named vehicles
--device.elechybrid.deterministic <BOOL> The 'elechybrid' devices are set deterministic using a fraction of 1000; default: false

Taxi Device#

Option Description
--device.taxi.probability <FLOAT> The probability for a vehicle to have a 'taxi' device; default: -1
--device.taxi.explicit Assign a 'taxi' device to named vehicles
--device.taxi.deterministic <BOOL> The 'taxi' devices are set deterministic using a fraction of 1000; default: false
--device.taxi.dispatch-algorithm <STRING> The dispatch algorithm ['greedy','greedyClosest','greedyShared','routeExtension','traci']; default: greedy
--device.taxi.dispatch-algorithm.output <STRING> Write information from the dispatch algorithm to FILE
--device.taxi.dispatch-algorithm.params <STRING> Load dispatch algorithm parameters in format KEY1:VALUE1[,KEY2:VALUE]
--device.taxi.dispatch-period <TIME> The period between successive calls to the dispatcher; default: 60
--device.taxi.idle-algorithm <STRING> The behavior of idle taxis ['stop','randomCircling']; default: stop
--device.taxi.idle-algorithm.output <STRING> Write information from the idling algorithm to FILE

Tripinfo Device#

Option Description
--device.tripinfo.probability <FLOAT> The probability for a vehicle to have a 'tripinfo' device; default: -1
--device.tripinfo.explicit Assign a 'tripinfo' device to named vehicles
--device.tripinfo.deterministic <BOOL> The 'tripinfo' devices are set deterministic using a fraction of 1000; default: false

Traci Server#

Option Description
--remote-port <INT> Enables TraCI Server if set; default: 0
--num-clients <INT> Expected number of connecting clients; default: 1

Mesoscopic#

Option Description
--mesosim <BOOL> Enables mesoscopic simulation; default: false
--meso-edgelength <FLOAT> Length of an edge segment in mesoscopic simulation; default: 98
--meso-tauff <TIME> Factor for calculating the net free-free headway time; default: 1.13
--meso-taufj <TIME> Factor for calculating the net free-jam headway time; default: 1.13
--meso-taujf <TIME> Factor for calculating the jam-free headway time; default: 1.73
--meso-taujj <TIME> Factor for calculating the jam-jam headway time; default: 1.4
--meso-jam-threshold <FLOAT> Minimum percentage of occupied space to consider a segment jammed. A negative argument causes thresholds to be computed based on edge speed and tauff (default); default: -1
--meso-multi-queue <BOOL> Enable multiple queues at edge ends; default: true
--meso-lane-queue <BOOL> Enable separate queues for every lane; default: false
--meso-junction-control <BOOL> Enable mesoscopic traffic light and priority junction handling; default: false
--meso-junction-control.limited <BOOL> Enable mesoscopic traffic light and priority junction handling for saturated links. This prevents faulty traffic lights from hindering flow in low-traffic situations; default: false
--meso-tls-penalty <FLOAT> Apply scaled travel time penalties when driving across tls controlled junctions based on green split instead of checking actual phases; default: 0
--meso-tls-flow-penalty <FLOAT> Apply scaled headway penalties when driving across tls controlled junctions based on green split instead of checking actual phases; default: 0
--meso-minor-penalty <TIME> Apply fixed time penalty when driving across a minor link. When using --meso-junction-control.limited, the penalty is not applied whenever limited control is active.; default: 0
--meso-overtaking <BOOL> Enable mesoscopic overtaking; default: false
--meso-recheck <TIME> Time interval for rechecking insertion into the next segment after failure; default: 0

Random Number#

Option Description
--random <BOOL> Initialises the random number generator with the current system time; default: false
--seed <INT> Initialises the random number generator with the given value; default: 23423
--thread-rngs <INT> Number of pre-allocated random number generators to ensure repeatable multi-threaded simulations (should be at least the number of threads for repeatable simulations).; default: 64

Gui Only#

Option Description
-g <FILE>
--gui-settings-file <FILE>
Load visualisation settings from FILE
-Q <BOOL>
--quit-on-end <BOOL>
Quits the GUI when the simulation stops; default: false
-G <BOOL>
--game <BOOL>
Start the GUI in gaming mode; default: false
--game.mode <STRING> Select the game type ('tls', 'drt'); default: tls
-S <BOOL>
--start <BOOL>
Start the simulation after loading; default: false
-B
--breakpoints
Use TIME[] as times when the simulation should halt
--edgedata-files <FILE> Load edge/lane weights for visualization from FILE
-D <BOOL>
--demo <BOOL>
Restart the simulation after ending (demo mode); default: false
-T <BOOL>
--disable-textures <BOOL>
Do not load background pictures; default: false
--registry-viewport <BOOL> Load current viewport from registry; default: false
--window-size Create initial window with the given x,y size
--window-pos Create initial window at the given x,y position
--tracker-interval <FLOAT> The aggregation period for value tracker windows; default: 1
--osg-view <BOOL> Start with an OpenSceneGraph view instead of the regular 2D view; default: false
--gui-testing <BOOL> Enable ovelay for screen recognition; default: false
--gui-testing-debug <BOOL> Enable output messages during GUI-Testing; default: false
--gui-testing.setting-output <FILE> Save gui settings in the given settings output file

Loading order of input files#

Whenever a simulation object A (such as a vehicle) defined in an input file refers to another simulation object B (such as a vehicle type), the corresponding object B must be defined before A either by being put into a file that is loaded earlier, or by being put into the same file on an earlier line.

This is of particular importance in regard to files loaded with the options --route-files <FILE> and --additional-files <FILE>. The most important feature of the option --route-files <FILE> is that it loads the files incrementally thus saving memory. However, this means vehicles and flows must be sorted by their departure and begin times.

The option --additional-files <FILE> is handled before option --route-files <FILE> and the given files are fully loaded before the simulation starts. All items which can be put into a route-file can also be put into an additional-file (no vehicle sorting is necessary). Some objects must be available at the start of the simulation (such as output objects) and thus need to be loaded with this option, but is also useful for loading things referenced by route files such as <vType>-elements, named <route> elements or <routeDistribution>.

When multiple files are given as a comma-separated list, they are loaded from left to right.

Format of additional files#

Files loaded with the option --additional-files <FILE> may included a wide range of network elements such as traffic light programs, detector definitions, variable speed signs and bus stops. These files are also used to configure simulation outputs such as edge-based traffic measures or traffic light switching information. Furthermore, any element permitted in a route file such as vTypes, routes and vehicles can be added. All elements may be put into the same additional file or they may be grouped into multiple files as convenient.

The additional file always needs a top level tag with arbitrary name (additional is customary). An example file is given below:

<additional>
    <inductionLoop id="myLoop1" lane="foo_0" pos="42" freq="900" file="out.xml"/>
    <inductionLoop id="myLoop2" lane="foo_2" pos="42" freq="900" file="out.xml"/>

    <busStop id="station1" lane="foo_0" startPos="5" endPos="20"/>

    <vType id="bus" maxSpeed="20" length="12"/>
</additional>

Subtopics#