65 oc.
addCallExample(
"-b 0 -e 1000 -n net.xml -r routes.xml",
TL(
"start a simulation from time 0 to 1000 with given net and routes"));
66 oc.
addCallExample(
"-c munich_config.cfg",
TL(
"start with a configuration file"));
81 oc.
addDescription(
"net-file",
"Input",
TL(
"Load road network description from FILE"));
86 oc.
addDescription(
"route-files",
"Input",
TL(
"Load routes descriptions from FILE(s)"));
89 oc.
addDescription(
"ignore.routeelements",
"Input",
TL(
"Ignore route elements during loading of sumo-configs"));
93 oc.
addDescription(
"additional-files",
"Input",
TL(
"Load further descriptions from FILE(s)"));
96 oc.
addDescription(
"ignore.additionalelements",
"Input",
TL(
"Ignore additional elements during loading of sumo-configs"));
100 oc.
addDescription(
"weight-files",
"Input",
TL(
"Load edge/lane weights for online rerouting from FILE"));
102 oc.
addSynonyme(
"weight-attribute",
"measure",
true);
103 oc.
addDescription(
"weight-attribute",
"Input",
TL(
"Name of the xml attribute which gives the edge weight"));
106 oc.
addDescription(
"load-state",
"Input",
TL(
"Loads a network state from FILE"));
108 oc.
addDescription(
"load-state.offset",
"Input",
TL(
"Shifts all times loaded from a saved state by the given offset"));
110 oc.
addDescription(
"load-state.remove-vehicles",
"Input",
TL(
"Removes vehicles with the given IDs from the loaded state"));
113 oc.
addDescription(
"junction-taz",
"Input",
TL(
"Initialize a TAZ for every junction to use attributes toJunction and fromJunction"));
122 oc.
addSynonyme(
"netstate-dump",
"netstate-output");
123 oc.
addDescription(
"netstate-dump",
"Output",
TL(
"Save complete network states into FILE"));
125 oc.
addSynonyme(
"netstate-dump.empty-edges",
"netstate.empty-edges");
126 oc.
addSynonyme(
"netstate-dump.empty-edges",
"netstate-output.empty-edges");
127 oc.
addSynonyme(
"netstate-dump.empty-edges",
"dump-empty-edges",
true);
128 oc.
addDescription(
"netstate-dump.empty-edges",
"Output",
TL(
"Write also empty edges completely when dumping"));
130 oc.
addSynonyme(
"netstate-dump.precision",
"netstate.precision");
131 oc.
addSynonyme(
"netstate-dump.precision",
"netstate-output.precision");
132 oc.
addSynonyme(
"netstate-dump.precision",
"dump-precision",
true);
133 oc.
addDescription(
"netstate-dump.precision",
"Output",
TL(
"Write positions and speeds with the given precision (default 2)"));
136 oc.
addDescription(
"emission-output",
"Output",
TL(
"Save the emission values of each vehicle"));
138 oc.
addDescription(
"emission-output.precision",
"Output",
TL(
"Write emission values with the given precision (default 2)"));
140 oc.
addDescription(
"emission-output.geo",
"Output",
TL(
"Save the positions in emission output using geo-coordinates (lon/lat)"));
142 oc.
addDescription(
"emission-output.step-scaled",
"Output",
TL(
"Write emission values scaled to the step length rather than as per-second values"));
144 oc.
addDescription(
"emission-output.attributes",
"Output",
TL(
"List attributes that should be included in the emission output"));
147 oc.
addDescription(
"battery-output",
"Output",
TL(
"Save the battery values of each vehicle"));
149 oc.
addDescription(
"battery-output.precision",
"Output",
TL(
"Write battery values with the given precision (default 2)"));
152 oc.
addDescription(
"elechybrid-output",
"Output",
TL(
"Save the elecHybrid values of each vehicle"));
154 oc.
addDescription(
"elechybrid-output.precision",
"Output",
TL(
"Write elecHybrid values with the given precision (default 2)"));
156 oc.
addDescription(
"elechybrid-output.aggregated",
"Output",
TL(
"Write elecHybrid values into one aggregated file"));
159 oc.
addDescription(
"chargingstations-output",
"Output",
TL(
"Write data of charging stations"));
161 oc.
addDescription(
"chargingstations-output.aggregated",
"Output",
TL(
"Write aggregated charging event data instead of single time steps"));
163 oc.
addDescription(
"chargingstations-output.aggregated.write-unfinished",
"Output",
TL(
"Write aggregated charging event data for vehicles which have not arrived at simulation end"));
166 oc.
addDescription(
"overheadwiresegments-output",
"Output",
TL(
"Write data of overhead wire segments"));
169 oc.
addDescription(
"substations-output",
"Output",
TL(
"Write data of electrical substation stations"));
171 oc.
addDescription(
"substations-output.precision",
"Output",
TL(
"Write substation values with the given precision (default 2)"));
174 oc.
addDescription(
"fcd-output",
"Output",
TL(
"Save the Floating Car Data"));
176 oc.
addDescription(
"fcd-output.geo",
"Output",
TL(
"Save the Floating Car Data using geo-coordinates (lon/lat)"));
178 oc.
addDescription(
"fcd-output.utm",
"Output",
TL(
"Save the Floating Car Data using utm/unshifted coordinates (x/y)"));
180 oc.
addDescription(
"fcd-output.signals",
"Output",
TL(
"Add the vehicle signal state to the FCD output (brake lights etc.)"));
182 oc.
addDescription(
"fcd-output.distance",
"Output",
TL(
"Add kilometrage to the FCD output (linear referencing)"));
184 oc.
addDescription(
"fcd-output.acceleration",
"Output",
TL(
"Add acceleration to the FCD output"));
186 oc.
addDescription(
"fcd-output.speed-relative",
"Output",
TL(
"Add relative speed (vehicle speed / edge speed limit) to the FCD output"));
188 oc.
addDescription(
"fcd-output.max-leader-distance",
"Output",
TL(
"Add leader vehicle information to the FCD output (within the given distance)"));
190 oc.
addDescription(
"fcd-output.params",
"Output",
TL(
"Add generic parameter values to the FCD output"));
192 oc.
addDescription(
"fcd-output.filter-edges.input-file",
"Output",
TL(
"Restrict fcd output to the edge selection from the given input file"));
194 oc.
addDescription(
"fcd-output.attributes",
"Output",
TL(
"List attributes that should be included in the FCD output"));
196 oc.
addDescription(
"fcd-output.filter-shapes",
"Output",
TL(
"List shape names that should be used to filter the FCD output"));
198 oc.
addDescription(
"fcd-output.skip-empty",
"Output",
TL(
"Do not save data for time steps which have no vehicles / transportables"));
202 oc.
addDescription(
"person-fcd-output",
"Output",
TL(
"Save fcd for persons and container to separate FILE"));
205 oc.
addDescription(
"device.ssm.filter-edges.input-file",
"Output",
TL(
"Restrict SSM device output to the edge selection from the given input file"));
208 oc.
addDescription(
"full-output",
"Output",
TL(
"Save a lot of information for each timestep (very redundant)"));
211 oc.
addDescription(
"queue-output",
"Output",
TL(
"Save the vehicle queues at the junctions (experimental)"));
213 oc.
addDescription(
"queue-output.period",
"Output",
TL(
"Save vehicle queues with the given period"));
215 oc.
addDescription(
"queue-output.aggregation",
"Output",
TL(
"Write aggregated queue length statistics (max, median, 95th percentile) per edge for the given period (e.g. a traffic light cycle) instead of per-timestep data"));
217 oc.
addDescription(
"queue-output.speed-threshold",
"Output",
TL(
"Maximum speed for counting a vehicle as queued"));
219 oc.
addDescription(
"queue-output.percentile",
"Output",
TL(
"The percentile (0-100) to report as percentileQueueLength in aggregated queue output"));
221 oc.
addDescription(
"queue-output.skip-empty",
"Output",
TL(
"Do not save data for time steps / intervals which have no queue (required for column based output formats)"));
224 oc.
addDescription(
"vtk-output",
"Output",
TL(
"Save complete vehicle positions inclusive speed values in the VTK Format (usage: /path/out will produce /path/out_$TIMESTEP$.vtp files)"));
226 oc.
addDescription(
"amitran-output",
"Output",
TL(
"Save the vehicle trajectories in the Amitran format"));
231 oc.
addDescription(
"summary-output",
"Output",
TL(
"Save aggregated vehicle departure info into FILE"));
234 oc.
addDescription(
"summary-output.period",
"Output",
TL(
"Save summary-output with the given period"));
237 oc.
addDescription(
"person-summary-output",
"Output",
TL(
"Save aggregated person counts into FILE"));
241 oc.
addDescription(
"tripinfo-output",
"Output",
TL(
"Save single vehicle trip info into FILE"));
244 oc.
addDescription(
"tripinfo-output.write-unfinished",
"Output",
TL(
"Write tripinfo output for vehicles which have not arrived at simulation end"));
247 oc.
addDescription(
"tripinfo-output.write-undeparted",
"Output",
TL(
"Write tripinfo output for vehicles which have not departed at simulation end because of depart delay"));
251 oc.
addDescription(
"personinfo-output",
"Output",
TL(
"Save personinfo and containerinfo to separate FILE"));
255 oc.
addDescription(
"vehroute-output",
"Output",
TL(
"Save single vehicle route info into FILE"));
258 oc.
addSynonyme(
"vehroute-output.exit-times",
"vehroutes.exit-times");
259 oc.
addDescription(
"vehroute-output.exit-times",
"Output",
TL(
"Write the exit times for all edges"));
262 oc.
addSynonyme(
"vehroute-output.last-route",
"vehroutes.last-route");
263 oc.
addDescription(
"vehroute-output.last-route",
"Output",
TL(
"Write the last route only"));
266 oc.
addSynonyme(
"vehroute-output.sorted",
"vehroutes.sorted");
267 oc.
addDescription(
"vehroute-output.sorted",
"Output",
TL(
"Sorts the output by departure time"));
270 oc.
addSynonyme(
"vehroute-output.dua",
"vehroutes.dua");
271 oc.
addDescription(
"vehroute-output.dua",
"Output",
TL(
"Write the output in the duarouter alternatives style"));
274 oc.
addDescription(
"vehroute-output.cost",
"Output",
TL(
"Write costs for all routes"));
277 oc.
addSynonyme(
"vehroute-output.intended-depart",
"vehroutes.intended-depart");
278 oc.
addDescription(
"vehroute-output.intended-depart",
"Output",
TL(
"Write the output with the intended instead of the real departure time"));
281 oc.
addSynonyme(
"vehroute-output.route-length",
"vehroutes.route-length");
282 oc.
addDescription(
"vehroute-output.route-length",
"Output",
TL(
"Include total route length in the output"));
285 oc.
addDescription(
"vehroute-output.write-unfinished",
"Output",
TL(
"Write vehroute output for vehicles which have not arrived at simulation end"));
288 oc.
addDescription(
"vehroute-output.skip-ptlines",
"Output",
TL(
"Skip vehroute output for public transport vehicles"));
291 oc.
addDescription(
"vehroute-output.incomplete",
"Output",
TL(
"Include invalid routes and route stubs in vehroute output"));
294 oc.
addDescription(
"vehroute-output.stop-edges",
"Output",
TL(
"Include information about edges between stops"));
297 oc.
addDescription(
"vehroute-output.speedfactor",
"Output",
TL(
"Write the vehicle speedFactor (defaults to 'true' if departSpeed is written)"));
300 oc.
addDescription(
"vehroute-output.internal",
"Output",
TL(
"Include internal edges in the output"));
303 oc.
addSynonyme(
"personroute-output",
"personroutes");
304 oc.
addDescription(
"personroute-output",
"Output",
TL(
"Save person and container routes to separate FILE"));
307 oc.
addDescription(
"link-output",
"Output",
TL(
"Save links states into FILE"));
310 oc.
addDescription(
"railsignal-block-output",
"Output",
TL(
"Save railsignal-blocks into FILE"));
313 oc.
addDescription(
"railsignal-vehicle-output",
"Output",
TL(
"Record entry and exit times of vehicles for railsignal blocks into FILE"));
316 oc.
addDescription(
"bt-output",
"Output",
TL(
"Save bluetooth visibilities into FILE (in conjunction with device.btreceiver and device.btsender)"));
319 oc.
addDescription(
"lanechange-output",
"Output",
TL(
"Record lane changes and their motivations for all vehicles into FILE"));
322 oc.
addDescription(
"lanechange-output.started",
"Output",
TL(
"Record start of lane change manoeuvres"));
325 oc.
addDescription(
"lanechange-output.ended",
"Output",
TL(
"Record end of lane change manoeuvres"));
328 oc.
addDescription(
"lanechange-output.xy",
"Output",
TL(
"Record coordinates of lane change manoeuvres"));
331 oc.
addDescription(
"stop-output",
"Output",
TL(
"Record stops and loading/unloading of passenger and containers for all vehicles into FILE"));
333 oc.
addDescription(
"stop-output.write-unfinished",
"Output",
TL(
"Write stop output for stops which have not ended at simulation end"));
336 oc.
addDescription(
"collision-output",
"Output",
TL(
"Write collision information into FILE"));
339 oc.
addDescription(
"edgedata-output",
"Output",
TL(
"Write aggregated traffic statistics for all edges into FILE"));
341 oc.
addDescription(
"lanedata-output",
"Output",
TL(
"Write aggregated traffic statistics for all lanes into FILE"));
344 oc.
addSynonyme(
"statistic-output",
"statistics-output");
345 oc.
addDescription(
"statistic-output",
"Output",
TL(
"Write overall statistics into FILE"));
348 oc.
addDescription(
"deadlock-output",
"Output",
TL(
"Write reports on deadlocks FILE"));
352 oc.
addDescription(
"movereminder-output",
"Output",
TL(
"Save movereminder states of selected vehicles into FILE"));
354 oc.
addDescription(
"movereminder-output.vehicles",
"Output",
TL(
"List of vehicle ids which shall save their movereminder states"));
358 oc.
addDescription(
"save-state.times",
"Output",
TL(
"Use TIME[] as times at which a network state written"));
360 oc.
addDescription(
"save-state.period",
"Output",
TL(
"save state repeatedly after TIME period"));
362 oc.
addDescription(
"save-state.period.keep",
"Output",
TL(
"Keep only the last INT periodic state files"));
364 oc.
addDescription(
"save-state.prefix",
"Output",
TL(
"Prefix for network states"));
366 oc.
addDescription(
"save-state.suffix",
"Output",
TL(
"Suffix for network states (.xml.gz or .xml)"));
368 oc.
addDescription(
"save-state.files",
"Output",
TL(
"Files for network states"));
370 oc.
addDescription(
"save-state.rng",
"Output",
TL(
"Save random number generator states"));
372 oc.
addDescription(
"save-state.transportables",
"Output",
TL(
"Save person and container states (experimental)"));
374 oc.
addDescription(
"save-state.constraints",
"Output",
TL(
"Save rail signal constraints"));
376 oc.
addDescription(
"save-state.precision",
"Output",
TL(
"Write internal state values with the given precision (default 2)"));
380 oc.
addDescription(
"begin",
"Time",
TL(
"Defines the begin time in seconds; The simulation starts at this time"));
383 oc.
addDescription(
"end",
"Time",
TL(
"Defines the end time in seconds; The simulation ends at this time"));
386 oc.
addDescription(
"step-length",
"Time",
TL(
"Defines the step duration in seconds"));
389 oc.
addDescription(
"step-method.ballistic",
"Processing",
TL(
"Whether to use ballistic method for the positional update of vehicles (default is a semi-implicit Euler method)."));
392 oc.
addDescription(
"extrapolate-departpos",
"Processing",
TL(
"Whether vehicles that depart between simulation steps should extrapolate the depart position"));
395 oc.
addDescription(
"threads",
"Processing",
TL(
"Defines the number of threads for parallel simulation"));
398 oc.
addDescription(
"lateral-resolution",
"Processing",
TL(
"Defines the resolution in m when handling lateral positioning within a lane (with -1 all vehicles drive at the center of their lane"));
402 oc.
addDescription(
"route-steps",
"Processing",
TL(
"Load routes for the next number of seconds ahead"));
405 oc.
addDescription(
"no-internal-links",
"Processing",
TL(
"Disable (junction) internal links"));
408 oc.
addDescription(
"ignore-junction-blocker",
"Processing",
TL(
"Ignore vehicles which block the junction after they have been standing for SECONDS (-1 means never ignore)"));
411 oc.
addDescription(
"ignore-route-errors",
"Processing",
TL(
"Do not check whether routes are connected"));
414 oc.
addDescription(
"ignore-accidents",
"Processing",
TL(
"Do not check whether accidents occur"));
417 oc.
addDescription(
"collision.action",
"Processing",
TL(
"How to deal with collisions: [none,warn,teleport,remove]"));
420 oc.
addDescription(
"intermodal-collision.action",
"Processing",
TL(
"How to deal with collisions between vehicle and pedestrian: [none,warn,teleport,remove]"));
423 oc.
addDescription(
"collision.stoptime",
"Processing",
TL(
"Let vehicle stop for TIME before performing collision.action (except for action 'none')"));
426 oc.
addDescription(
"intermodal-collision.stoptime",
"Processing",
TL(
"Let vehicle stop for TIME before performing intermodal-collision.action (except for action 'none')"));
429 oc.
addDescription(
"collision.check-junctions",
"Processing",
TL(
"Enables collisions checks on junctions"));
432 oc.
addDescription(
"collision.check-junctions.mingap",
"Processing",
TL(
"Increase or decrease sensitivity for junction collision check"));
435 oc.
addDescription(
"collision.mingap-factor",
"Processing",
TL(
"Sets the fraction of minGap that must be maintained to avoid collision detection. If a negative value is given, the carFollowModel parameter is used"));
438 oc.
addDescription(
"keep-after-arrival",
"Processing",
TL(
"After a vehicle arrives, keep it in memory for the given TIME (for TraCI access)"));
441 oc.
addDescription(
"max-num-vehicles",
"Processing",
TL(
"Delay vehicle insertion to stay within the given maximum number"));
444 oc.
addDescription(
"max-num-persons",
"Processing",
TL(
"Delay person insertion to stay within the given maximum number"));
447 oc.
addDescription(
"max-num-teleports",
"Processing",
TL(
"Abort the simulation if the given maximum number of teleports is exceeded"));
450 oc.
addDescription(
"scale",
"Processing",
TL(
"Scale demand by the given factor (by discarding or duplicating vehicles)"));
453 oc.
addDescription(
"scale-suffix",
"Processing",
TL(
"Suffix to be added when creating ids for cloned vehicles"));
456 oc.
addDescription(
"time-to-teleport",
"Processing",
TL(
"Specify how long a vehicle may wait until being teleported, defaults to 300, non-positive values disable teleporting"));
459 oc.
addDescription(
"time-to-teleport.highways",
"Processing",
TL(
"The waiting time after which vehicles on a fast road (speed > 69km/h) are teleported if they are on a non-continuing lane"));
462 oc.
addDescription(
"time-to-teleport.highways.min-speed",
"Processing",
TL(
"The waiting time after which vehicles on a fast road (default: speed > 69km/h) are teleported if they are on a non-continuing lane"));
465 oc.
addDescription(
"time-to-teleport.disconnected",
"Processing",
TL(
"The waiting time after which vehicles with a disconnected route are teleported. Negative values disable teleporting"));
468 oc.
addDescription(
"time-to-teleport.remove",
"Processing",
TL(
"Whether vehicles shall be removed after waiting too long instead of being teleported"));
471 oc.
addDescription(
"time-to-teleport.remove-constraint",
"Processing",
TL(
"Whether rail-signal-constraint based deadlocks shall be cleared by removing a constraint"));
474 oc.
addDescription(
"time-to-teleport.ride",
"Processing",
TL(
"The waiting time after which persons / containers waiting for a pickup are teleported. Negative values disable teleporting"));
477 oc.
addDescription(
"time-to-teleport.bidi",
"Processing",
TL(
"The waiting time after which vehicles on bidirectional edges are teleported"));
480 oc.
addDescription(
"time-to-teleport.railsignal-deadlock",
"Processing",
TL(
"The waiting time after which vehicles in a rail-signal based deadlock are teleported"));
483 oc.
addDescription(
"waiting-time-memory",
"Processing",
TL(
"Length of time interval, over which accumulated waiting time is taken into account (default is 100s.)"));
486 oc.
addDescription(
"startup-wait-threshold",
"Processing",
TL(
"Minimum consecutive waiting time before applying startupDelay"));
489 oc.
addDescription(
"max-depart-delay",
"Processing",
TL(
"How long vehicles wait for departure before being skipped, defaults to -1 which means vehicles are never skipped"));
492 oc.
addDescription(
"sloppy-insert",
"Processing",
TL(
"Whether insertion on an edge shall not be repeated in same step once failed"));
495 oc.
addDescription(
"eager-insert",
"Processing",
TL(
"Whether each vehicle is checked separately for insertion on an edge"));
498 oc.
addDescription(
"emergency-insert",
"Processing",
TL(
"Allow inserting a vehicle in a situation which requires emergency braking"));
501 oc.
addDescription(
"insertion-checks",
"Processing",
TL(
"Override default value for vehicle attribute insertionChecks"));
504 oc.
addDescription(
"random-depart-offset",
"Processing",
TL(
"Each vehicle receives a random offset to its depart value drawn uniformly from [0, TIME]"));
507 oc.
addDescription(
"lanechange.duration",
"Processing",
TL(
"Duration of a lane change maneuver (default 0)"));
510 oc.
addDescription(
"lanechange.overtake-right",
"Processing",
TL(
"Whether overtaking on the right on motorways is permitted"));
513 oc.
addDescription(
"tls.all-off",
"Processing",
TL(
"Switches off all traffic lights."));
516 oc.
addDescription(
"tls.actuated.show-detectors",
"Processing",
TL(
"Sets default visibility for actuation detectors"));
519 oc.
addDescription(
"tls.actuated.jam-threshold",
"Processing",
TL(
"Sets default jam-threshold parameter for all actuation detectors"));
522 oc.
addDescription(
"tls.actuated.detector-length",
"Processing",
TL(
"Sets default detector length parameter for all actuation detectors"));
525 oc.
addDescription(
"tls.delay_based.detector-range",
"Processing",
TL(
"Sets default range for detecting delayed vehicles"));
528 oc.
addDescription(
"tls.yellow.min-decel",
"Processing",
TL(
"Minimum deceleration when braking at yellow"));
531 oc.
addDescription(
"railsignal-moving-block",
"Processing",
TL(
"Let railsignals operate in moving-block mode by default"));
532 oc.
addSynonyme(
"railsignal-moving-block",
"railsignal.moving-block");
535 oc.
addDescription(
"railsignal.moving-block.default-classes",
"Processing",
TL(
"List vehicle classes that default to moving-block operations"));
538 oc.
addDescription(
"railsignal.moving-block.max-dist",
"Processing",
TL(
"Maximum signal distance above which zipper conflicts are ignored"));
541 oc.
addDescription(
"railsignal.max-block-length",
"Processing",
TL(
"Do not build blocks longer than FLOAT and issue a warning instead"));
544 oc.
addDescription(
"railsignal.default-classes",
"Processing",
TL(
"List vehicle classes that uses block-based insertion checks even when the network has no rail signals for them"));
547 oc.
addDescription(
"slope-centered",
"Processing",
TL(
"Compute slope at the vehicle center of mass instead of integrating over front and back"));
550 oc.
addDescription(
"time-to-impatience",
"Processing",
TL(
"Specify how long a vehicle may wait until impatience grows from 0 to 1, defaults to 300, non-positive values disable impatience growth"));
553 oc.
addDescription(
"default.departspeed",
"Processing",
TL(
"Select default depart speed"));
556 oc.
addDescription(
"default.departlane",
"Processing",
TL(
"Select default depart lane"));
559 oc.
addDescription(
"default.action-step-length",
"Processing",
TL(
"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."));
562 oc.
addDescription(
"default.carfollowmodel",
"Processing",
TL(
"Select default car following model (Krauss, IDM, ...)"));
563 oc.
addSynonyme(
"default.carfollowmodel",
"carfollow.model");
566 oc.
addDescription(
"default.speeddev",
"Processing",
TL(
"Select default speed deviation. A negative value implies vClass specific defaults (0.1 for the default passenger class)"));
569 oc.
addDescription(
"default.emergencydecel",
"Processing",
TL(
"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"));
572 oc.
addDescription(
"overhead-wire.solver",
"Processing",
TL(
"Use Kirchhoff's laws for solving overhead wire circuit"));
575 oc.
addDescription(
"overhead-wire.recuperation",
"Processing",
TL(
"Enable recuperation from the vehicle equipped with elecHybrid device into the overhead wire."));
578 oc.
addDescription(
"overhead-wire.substation-current-limits",
"Processing",
TL(
"Enable current limits of traction substation during solving the overhead wire electrical circuit."));
581 oc.
addDescription(
"emergencydecel.warning-threshold",
"Processing",
TL(
"Sets the fraction of emergency decel capability that must be used to trigger a warning."));
584 oc.
addDescription(
"parking.maneuver",
"Processing",
TL(
"Whether parking simulation includes maneuvering time and associated lane blocking"));
587 oc.
addDescription(
"use-stop-ended",
"Processing",
TL(
"Override stop until times with stop ended times when given"));
590 oc.
addDescription(
"use-stop-started",
"Processing",
TL(
"Override stop arrival times with stop started times when given"));
594 oc.
addDescription(
"pedestrian.model",
"Processing",
TL(
"Select among pedestrian models ['nonInteracting', 'striping', 'jupedsim']"));
597 oc.
addDescription(
"pedestrian.timegap-crossing",
"Processing",
TL(
"Minimal acceptable gap (in seconds) between two vehicles before starting to cross"));
600 oc.
addDescription(
"pedestrian.striping.stripe-width",
"Processing",
TL(
"Width of parallel stripes for segmenting a sidewalk (meters) for use with model 'striping'"));
603 oc.
addDescription(
"pedestrian.striping.dawdling",
"Processing",
TL(
"Factor for random slow-downs [0,1] for use with model 'striping'"));
606 oc.
addDescription(
"pedestrian.striping.mingap-to-vehicle",
"Processing",
TL(
"Minimal gap / safety buffer (in meters) from a pedestrian to another vehicle for use with model 'striping'"));
609 oc.
addDescription(
"pedestrian.striping.jamtime",
"Processing",
TL(
"Time in seconds after which pedestrians start squeezing through a jam when using model 'striping' (non-positive values disable squeezing)"));
611 oc.
addDescription(
"pedestrian.striping.jamtime.crossing",
"Processing",
TL(
"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)"));
613 oc.
addDescription(
"pedestrian.striping.jamtime.narrow",
"Processing",
TL(
"Time in seconds after which pedestrians start squeezing through a jam while on a narrow lane when using model 'striping'"));
616 oc.
addDescription(
"pedestrian.striping.jamfactor",
"Processing",
TL(
"Factor for reducing speed of pedestrian in jammed state"));
619 oc.
addDescription(
"pedestrian.striping.reserve-oncoming",
"Processing",
TL(
"Fraction of stripes to reserve for oncoming pedestrians"));
622 oc.
addDescription(
"pedestrian.striping.reserve-oncoming.junctions",
"Processing",
TL(
"Fraction of stripes to reserve for oncoming pedestrians on crossings and walkingareas"));
625 oc.
addDescription(
"pedestrian.striping.reserve-oncoming.max",
"Processing",
TL(
"Maximum width in m to reserve for oncoming pedestrians"));
628 oc.
addDescription(
"pedestrian.striping.legacy-departposlat",
"Processing",
TL(
"Interpret departPosLat for walks in legacy style"));
631 oc.
addDescription(
"pedestrian.striping.walkingarea-detail",
"Processing",
TL(
"Generate INT intermediate points to smooth out lanes within the walkingarea"));
635 oc.
addDescription(
"pedestrian.jupedsim.step-length",
"Processing",
TL(
"The update interval of the JuPedSim simulation (in seconds)"));
637 oc.
addDescription(
"pedestrian.jupedsim.exit-tolerance",
"Processing",
TL(
"The distance to accept the JuPedSim arrival point (in meters)"));
639 oc.
addDescription(
"pedestrian.jupedsim.model",
"Processing",
TL(
"The submodel to use in JuPedSim ('CollisionFreeSpeed', 'CollisionFreeSpeedV2', 'GeneralizedCentrifugalForce', 'SocialForce')"));
641 oc.
addDescription(
"pedestrian.jupedsim.strength-neighbor-repulsion",
"Processing",
TL(
"The neighbor repulsion strength of the JuPedSim model"));
643 oc.
addDescription(
"pedestrian.jupedsim.range-neighbor-repulsion",
"Processing",
TL(
"The neighbor repulsion range of the JuPedSim model (in meters)"));
645 oc.
addDescription(
"pedestrian.jupedsim.strength-geometry-repulsion",
"Processing",
TL(
"The geometry repulsion strength of the JuPedSim model"));
647 oc.
addDescription(
"pedestrian.jupedsim.range-geometry-repulsion",
"Processing",
TL(
"The geometry repulsion range of the JuPedSim model (in meters)"));
649 oc.
addDescription(
"pedestrian.jupedsim.wkt",
"Output",
TL(
"The filename to output the JuPedSim network as WKT"));
651 oc.
addDescription(
"pedestrian.jupedsim.wkt.geo",
"Output",
TL(
"Whether to output JuPedSim network as WKT using geo-coordinates (lon/lat)"));
653 oc.
addDescription(
"pedestrian.jupedsim.py",
"Output",
TL(
"The filename to output the JuPedSim setup as Python script"));
657 oc.
addDescription(
"ride.stop-tolerance",
"Processing",
TL(
"Tolerance to apply when matching pedestrian and vehicle positions on boarding at individual stops"));
660 oc.
addDescription(
"mapmatch.distance",
"Processing",
TL(
"Maximum distance when mapping input coordinates (fromXY etc.) to the road network"));
663 oc.
addDescription(
"mapmatch.junctions",
"Processing",
TL(
"Match positions to junctions instead of edges"));
666 oc.
addDescription(
"mapmatch.taz",
"Processing",
TL(
"Match positions to taz instead of edges"));
671 "Select among routing algorithms ['dijkstra', 'astar', 'CH', 'CHWrapper', 'CCH']");
674 oc.
addDescription(
"weights.random-factor",
"Routing",
TL(
"Edge weights for routing are dynamically disturbed by a random factor drawn uniformly from [1,FLOAT)"));
677 oc.
addDescription(
"weights.random-factor.dynamic",
"Routing",
TL(
"When using option --weights.random-factor, vary the randomness over time"));
680 oc.
addDescription(
"weights.minor-penalty",
"Routing",
TL(
"Apply the given time penalty when computing minimum routing costs for minor-link internal lanes"));
683 oc.
addDescription(
"weights.tls-penalty",
"Routing",
TL(
"Apply scaled travel time penalties based on green split when computing minimum routing costs for internal lanes at traffic lights"));
686 oc.
addDescription(
"weights.turnaround-penalty",
"Processing",
TL(
"Apply the given time penalty when computing routing costs for turnaround internal lanes"));
689 oc.
addDescription(
"weights.reversal-penalty",
"Processing",
TL(
"Apply the given time penalty when computing routing costs for train reversal. Negative values disable reversal"));
692 oc.
addDescription(
"weights.priority-factor",
"Routing",
TL(
"Consider edge priorities in addition to travel times, weighted by factor"));
695 oc.
addDescription(
"weights.separate-turns",
"Routing",
TL(
"Distinguish travel time by turn direction and shift a fraction of the estimated time loss ahead of the intersection onto the internal edges"));
698 oc.
addDescription(
"astar.all-distances",
"Routing",
TL(
"Initialize lookup table for astar from the given file (generated by marouter --all-pairs-output)"));
701 oc.
addDescription(
"astar.landmark-distances",
"Routing",
TL(
"Initialize lookup table for astar ALT-variant from the given file"));
704 oc.
addDescription(
"persontrip.walkfactor",
"Routing",
TL(
"Use FLOAT as a factor on pedestrian maximum speed during intermodal routing"));
707 oc.
addDescription(
"persontrip.walk-opposite-factor",
"Processing",
TL(
"Use FLOAT as a factor on walking speed against vehicle traffic direction"));
711 "Where are mode changes from car to walking allowed (possible values: 'parkingAreas', 'ptStops', 'allJunctions' and combinations)");
714 oc.
addDescription(
"persontrip.transfer.taxi-walk",
"Routing",
TL(
"Where taxis can drop off customers ('allJunctions, 'ptStops', 'parkingAreas')"));
717 oc.
addDescription(
"persontrip.transfer.walk-taxi",
"Routing",
TL(
"Where taxis can pick up customers ('allJunctions, 'ptStops', 'parkingAreas')"));
720 oc.
addDescription(
"persontrip.default.group",
"Routing",
TL(
"When set, trips between the same origin and destination will share a taxi by default"));
723 oc.
addDescription(
"persontrip.taxi.waiting-time",
"Routing",
TL(
"Estimated time for taxi pickup"));
726 oc.
addDescription(
"persontrip.ride-public-line",
"Routing",
TL(
"Only use the intended public transport line rather than any alternative line that stops at the destination"));
729 oc.
addDescription(
"railway.max-train-length",
"Routing",
TL(
"Use FLOAT as a maximum train length when initializing the railway router"));
732 oc.
addDescription(
"replay-rerouting",
"Routing",
TL(
"Replay exact rerouting sequence from vehroute-output"));
737 oc.
addDescription(
"emissions.volumetric-fuel",
"Emissions",
TL(
"Return fuel consumption values in (legacy) unit l instead of mg"));
740 oc.
addDescription(
"phemlight-path",
"Emissions",
TL(
"Determines where to load PHEMlight definitions from"));
743 oc.
addDescription(
"phemlight-year",
"Emissions",
TL(
"Enable fleet age modelling with the given reference year in PHEMlight5"));
746 oc.
addDescription(
"phemlight-temperature",
"Emissions",
TL(
"Set ambient temperature to correct NOx emissions in PHEMlight5"));
754 oc.
addSynonyme(
"duration-log.disable",
"no-duration-log",
false);
755 oc.
addDescription(
"duration-log.disable",
"Report",
TL(
"Disable performance reports for individual simulation steps"));
758 oc.
addDescription(
"duration-log.statistics",
"Report",
TL(
"Enable statistics on vehicle trips"));
761 oc.
addDescription(
"no-step-log",
"Report",
TL(
"Disable console output of current simulation step"));
764 oc.
addDescription(
"step-log.period",
"Report",
TL(
"Number of simulation steps between step-log outputs"));
769 oc.
addDescription(
"remote-port",
"TraCI Server",
TL(
"Enables TraCI Server if set"));
771 oc.
addDescription(
"num-clients",
"TraCI Server",
TL(
"Expected number of connecting clients"));
775 oc.
addDescription(
"mesosim",
"Mesoscopic",
TL(
"Enables mesoscopic simulation"));
777 oc.
addDescription(
"meso-ltm",
"Mesoscopic",
TL(
"Enables the meso-LTM (LIFT) model"));
779 oc.
addDescription(
"meso-edgelength",
"Mesoscopic",
TL(
"Length of an edge segment in mesoscopic simulation"));
781 oc.
addDescription(
"meso-tauff",
"Mesoscopic",
TL(
"Factor for calculating the net free-free headway time"));
783 oc.
addDescription(
"meso-taufj",
"Mesoscopic",
TL(
"Factor for calculating the net free-jam headway time"));
785 oc.
addDescription(
"meso-taujf",
"Mesoscopic",
TL(
"Factor for calculating the jam-free headway time"));
787 oc.
addDescription(
"meso-taujj",
"Mesoscopic",
TL(
"Factor for calculating the jam-jam headway time"));
790 "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)");
792 oc.
addDescription(
"meso-multi-queue",
"Mesoscopic",
TL(
"Enable multiple queues at edge ends"));
794 oc.
addDescription(
"meso-lane-queue",
"Mesoscopic",
TL(
"Enable separate queues for every lane"));
796 oc.
addDescription(
"meso-ignore-lanes-by-vclass",
"Mesoscopic",
TL(
"Do not build queues (or reduce capacity) for lanes allowing only the given vclasses"));
797 oc.
addSynonyme(
"meso-ignore-lanes-by-vclass",
"meso.ignore-lanes.by-vclass");
799 oc.
addDescription(
"meso-junction-control",
"Mesoscopic",
TL(
"Enable mesoscopic traffic light and priority junction handling"));
802 "Enable mesoscopic traffic light and priority junction handling for saturated links. This prevents faulty traffic lights from hindering flow in low-traffic situations");
805 "Apply scaled travel time penalties when driving across tls controlled junctions based on green split instead of checking actual phases");
808 "Apply scaled headway penalties when driving across tls controlled junctions based on green split instead of checking actual phases");
811 "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.");
813 oc.
addDescription(
"meso-overtaking",
"Mesoscopic",
TL(
"Enable mesoscopic overtaking"));
815 oc.
addDescription(
"meso-recheck",
"Mesoscopic",
TL(
"Time interval for rechecking insertion into the next segment after failure"));
817 oc.
addDescription(
"meso-interpolate-pos",
"Mesoscopic",
TL(
"Enable mesoscopic position interpolation"));
823 "Number of pre-allocated random number generators to ensure repeatable multi-threaded simulations (should be at least the number of threads for repeatable simulations).");
829 oc.
addDescription(
"gui-settings-file",
"GUI Only",
TL(
"Load visualisation settings from FILE"));
832 oc.
addDescription(
"quit-on-end",
"GUI Only",
TL(
"Quits the GUI when the simulation stops"));
838 oc.
addDescription(
"game.mode",
"GUI Only",
TL(
"Select the game type ('tls', 'drt')"));
841 oc.
addDescription(
"start",
"GUI Only",
TL(
"Start the simulation after loading"));
844 oc.
addDescription(
"delay",
"GUI Only",
TL(
"Use FLOAT in ms as delay between simulation steps"));
847 oc.
addDescription(
"breakpoints",
"GUI Only",
TL(
"Use TIME[] as times when the simulation should halt"));
851 oc.
addDescription(
"edgedata-files",
"GUI Only",
TL(
"Load edge/lane weights for visualization from FILE"));
854 oc.
addDescription(
"alternative-net-file",
"GUI Only",
TL(
"Load a secondary road network for abstract visualization from FILE"));
857 oc.
addDescription(
"selection-file",
"GUI Only",
TL(
"Load pre-selected elements from FILE"));
860 oc.
addDescription(
"demo",
"GUI Only",
TL(
"Restart the simulation after ending (demo mode)"));
863 oc.
addDescription(
"disable-textures",
"GUI Only",
TL(
"Do not load background pictures"));
866 oc.
addDescription(
"registry-viewport",
"GUI Only",
TL(
"Load current viewport from registry"));
869 oc.
addDescription(
"window-size",
"GUI Only",
TL(
"Create initial window with the given x,y size"));
872 oc.
addDescription(
"window-pos",
"GUI Only",
TL(
"Create initial window at the given x,y position"));
875 oc.
addDescription(
"tracker-interval",
"GUI Only",
TL(
"The aggregation period for value tracker windows"));
879 oc.
addDescription(
"osg-view",
"GUI Only",
TL(
"Start with an OpenSceneGraph view instead of the regular 2D view"));
884 oc.
addDescription(
"gui-testing",
"GUI Only",
TL(
"Enable overlay for screen recognition"));
888 oc.
addDescription(
"gui-testing-debug",
"GUI Only",
TL(
"Enable output messages during GUI-Testing"));
892 oc.
addDescription(
"gui-testing.setting-output",
"GUI Only",
TL(
"Save gui settings in the given settings output file"));
900 WRITE_WARNING(
TL(
"Raw netstate dumps are deprecated. Use fcd-output instead."));
947 if (oc.
getBool(
"ignore.routeelements")) {
951 if (oc.
getBool(
"ignore.additionalelements")) {
963 if (oc.
getBool(
"vehroute-output.exit-times") && !oc.
isSet(
"vehroute-output")) {
964 WRITE_ERROR(
TL(
"A vehroute-output file is needed for exit times."));
967 if (oc.
isSet(
"gui-settings-file") &&
968 oc.
getString(
"gui-settings-file") !=
"" &&
979 if (oc.
getBool(
"meso-junction-control.limited") && !oc.
getBool(
"meso-junction-control")) {
980 if (!oc.
isDefault(
"meso-junction-control")) {
981 WRITE_WARNING(
TL(
"The option 'meso-junction-control.limited' implies 'meso-junction-control'."))
983 oc.
setDefault(
"meso-junction-control",
"true");
990 oc.
setDefault(
"pedestrian.model",
"nonInteracting");
1012 WRITE_ERROR(
TL(
"The end time should be after the begin time."));
1025 if (statePeriod > 0) {
1028 for (
const std::string& timeStr : oc.
getStringVector(
"save-state.times")) {
1031 if (end > 0 && saveT >= end) {
1037 WRITE_ERROR(
"Invalid time '" + timeStr +
"' for option 'save-state.times'. " + e.what());
1043 if (oc.
isSet(
"movereminder-output.vehicles") && !oc.
isSet(
"movereminder-output")) {
1044 WRITE_ERROR(
TL(
"option movereminder-output.vehicles requires option movereminder-output to be set"));
1048 if (oc.
getBool(
"sloppy-insert")) {
1049 WRITE_WARNING(
TL(
"The option 'sloppy-insert' is deprecated, because it is now activated by default, see the new option 'eager-insert'."));
1052 WRITE_ERROR(
TL(
"Only one of the options 'lanechange.duration' or 'lateral-resolution' may be given."));
1056 WRITE_ERROR(
TL(
"Sublane dynamics are not supported by mesoscopic simulation."));
1059 if (oc.
getBool(
"ignore-accidents")) {
1060 WRITE_WARNING(
TL(
"The option 'ignore-accidents' is deprecated. Use 'collision.action none' instead."));
1071 if (oc.
getBool(
"tripinfo-output.write-undeparted")) {
1072 if (!oc.
isDefault(
"tripinfo-output.write-unfinished") && !oc.
getBool(
"tripinfo-output.write-unfinished")) {
1073 WRITE_WARNING(
TL(
"The option tripinfo-output.write-undeparted implies tripinfo-output.write-unfinished."));
1075 oc.
setDefault(
"tripinfo-output.write-unfinished",
"true");
1077 if (oc.
getInt(
"precision") > 2) {
1078 if (oc.
isDefault(
"netstate-dump.precision")) {
1081 if (oc.
isDefault(
"emission-output.precision")) {
1084 if (oc.
isDefault(
"battery-output.precision")) {
1087 if (oc.
isDefault(
"elechybrid-output.precision")) {
1090 if (oc.
isDefault(
"substations-output.precision")) {
1098 if (oc.
isSet(
"default.emergencydecel")) {
1099 const std::string val = oc.
getString(
"default.emergencydecel");
1100 if (val !=
"default" && val !=
"decel") {
1104 WRITE_ERRORF(
TL(
"Invalid value '%' for option 'default.emergencydecel'. Must be a FLOAT or 'default' or 'decel'."), val);
1110 if (oc.
isSet(
"time-to-teleport.railsignal-deadlock")) {
1113 if (t1 > 0 && t2 > 0 && t1 <= t2) {
1129 WRITE_ERROR(
"Invalid time '" + val +
"' for option 'breakpoints'. " + e.what());
1134 if (oc.
getInt(
"threads") > 1) {
1135 WRITE_ERROR(
TL(
"Parallel simulation is only possible when compiled with Fox."));
1139 if (oc.
getInt(
"threads") < 1) {
1144 WRITE_WARNING(
TL(
"Number of threads exceeds number of thread-rngs. Simulation runs with the same seed may produce different results."));
1151 if (oc.
isSet(
"persontrip.transfer.car-walk")) {
1153 if (opt !=
"parkingAreas" && opt !=
"ptStops" && opt !=
"allJunctions") {
1154 WRITE_ERRORF(
TL(
"Invalid transfer option '%'. Must be one of 'parkingAreas', 'ptStops' or 'allJunctions'."), opt);
1159 if (!oc.
isDefault(
"weights.random-factor") && (oc.
isSet(
"astar.all-distances") || oc.
isSet(
"astar.landmark-distances"))) {
1160 WRITE_WARNING(
TL(
"The option --weights.random-factor should not be used together with astar and precomputed distances."));
1162 if (oc.
getInt(
"threads") > 1) {
1163 WRITE_WARNING(
TL(
"The option --threads has known problems and does NOT provide meaningful speedup at this time (https://github.com/eclipse-sumo/sumo/issues/4767). Using it is not recommended!"));
1170 const std::string pedestrianJPSModel = oc.
getString(
"pedestrian.jupedsim.model");
1171 const std::vector<std::string> allowedPedestrianJPSModels = {
"CollisionFreeSpeed",
"CollisionFreeSpeedV2",
"GeneralizedCentrifugalForce",
"SocialForce"};
1172 if (std::find(allowedPedestrianJPSModels.begin(), allowedPedestrianJPSModels.end(), pedestrianJPSModel) == allowedPedestrianJPSModels.end()) {
1173 WRITE_ERRORF(
TL(
"Invalid JuPedSim model '%'. Must be one of 'CollisionFreeSpeed', 'CollisionFreeSpeedV2', 'GeneralizedCentrifugalForce' or 'SocialForce'."), pedestrianJPSModel);
1227 const bool integrationMethodSet = !oc.
isDefault(
"step-method.ballistic");
1228 const bool actionStepLengthSet = !oc.
isDefault(
"default.action-step-length");
1232 WRITE_MESSAGE(
TL(
"Integration method was set to 'ballistic', since a default action step length was specified."));
1235 double givenDefaultActionStepLength = oc.
getFloat(
"default.action-step-length");
1239 if (defaultEmergencyDecelOption ==
"default") {
1241 }
else if (defaultEmergencyDecelOption ==
"decel") {
1264 for (
const std::string& vClassName : oc.
getStringVector(
"railsignal.default-classes")) {
1268 for (
const std::string& vClassName : oc.
getStringVector(
"railsignal.moving-block.default-classes")) {
1273 for (
const std::string& vClassName : oc.
getStringVector(
"device.taxi.vclasses")) {
1290 if (oc.
isSet(
"movereminder-output")) {
1291 MSBaseVehicle::initMoveReminderOutput(oc);
#define WRITE_WARNINGF(...)
#define WRITE_ERRORF(...)
#define WRITE_MESSAGE(msg)
#define WRITE_WARNING(msg)
std::vector< std::string > StringVector
Definition of a vector of strings.
bool checkStepLengthMultiple(const SUMOTime t, const std::string &error, SUMOTime deltaT, SUMOTime begin)
check if given SUMOTime is multiple of the step length
SUMOTime string2time(const std::string &r)
convert string to SUMOTime
std::string time2string(SUMOTime t, bool humanReadable)
convert SUMOTime to string (independently of global format setting)
constexpr SUMOTime TIME2STEPS(double x)
const int VTYPEPARS_DEFAULT_EMERGENCYDECEL_DEFAULT
const int VTYPEPARS_DEFAULT_EMERGENCYDECEL_DECEL
SVCPermissions parseVehicleClasses(const std::string &allowedS)
Parses the given definition of allowed vehicle classes into the given containers Deprecated classes g...
long long int SVCPermissions
bitset where each bit declares whether a certain SVC may use this edge/lane
const double INVALID_DOUBLE
invalid double
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
static void enforceCurrentLimits(const bool val)
whether per-substation overhead-wire current limits should be enforced
static void initGlobalOptions(const OptionsCont &oc)
init global model parameters
static void init()
Static intialization.
static void insertOptions(OptionsCont &oc)
Inserts options for building devices.
static bool checkOptions(OptionsCont &oc)
check device-specific options
static DepartLaneDefinition & getDefaultDepartLaneDefinition()
static int & getDefaultDepartLane()
static void buildStreams()
Builds the streams used possibly by the simulation.
static void setMSGlobals(OptionsCont &oc)
Sets the global microsim-options.
static void fillOptions()
Inserts options used by the simulation into the OptionsCont-singleton.
static bool checkOptions()
Checks the set options.
static double gStopTolerance
The tolerance to apply when matching waiting persons and vehicles.
static SUMOTime gTimeToTeleportDisconnected
static bool gModelParkingManoeuver
whether parking simulation includes manoeuver time and any associated lane blocking
static bool gUseStopStarted
static double gMinorPenalty
(minimum) time penalty for passing a minor link when routing
static SUMOTime gTimeToGridlockHighways
static bool gMesoInterpolatePos
static double gGridlockHighwaysSpeed
static double gWeightsSeparateTurns
Whether turning specific weights are estimated (and how much)
static double gTLSPenalty
scaled (minimum) time penalty for passing a tls link when routing
static SUMOTime gStartupWaitThreshold
The minimum waiting time before applying startupDelay.
static bool gOverheadWireRecuperation
static bool gRemoveGridlocked
static double gDefaultEmergencyDecel
encoding of the string-option default.emergencydecel
static double gTLSYellowMinDecel
The minimum deceleration at a yellow traffic light (only overruled by emergencyDecel)
static SUMOTime gTimeToTeleportBidi
static double gTurnaroundPenalty
(minimum) time penalty for passing a turnaround link when routing
static bool gOverheadWireSolver
static double gLateralResolution
static bool gSemiImplicitEulerUpdate
static int gInsertionChecks
The default value for insertion checks.
static SUMOTime gTimeToTeleportRSDeadlock
static SUMOTime gTimeToImpatience
static bool gStateLoaded
Information whether a state has been loaded.
static bool gCheck4Accidents
static double gMaxRailSignalBlockLength
The maximum length of a rail signal block.
static bool gEmergencyInsert
static int gNumSimThreads
how many threads to use for simulation
static bool gSlopeCentered
whether to use a simplified slope computation (for compatibility with other simulations)
static bool gOmitEmptyEdgesOnDump
Information whether empty edges shall be written on dump.
static SUMOTime gIgnoreJunctionBlocker
static bool gSublane
whether sublane simulation is enabled (sublane model or continuous lanechanging)
static SUMOTime gLaneChangeDuration
static bool gMesoLimitedJunctionControl
static bool gUseStopEnded
whether the simulation should replay previous stop times
static SUMOTime gActionStepLength
default value for the interval between two action points for MSVehicle (defaults to DELTA_T)
static SUMOTime gWaitingTimeMemory
length of memory for waiting times (in millisecs)
static double gEmergencyDecelWarningThreshold
threshold for warning about strong deceleration
static bool gUsingInternalLanes
Information whether the simulation regards internal lanes.
static int gNumThreads
how many threads to use
static SUMOTime gTimeToGridlock
static DepartSpeedDefinition & getDefaultDepartSpeedDefinition()
static void initCollisionOptions(const OptionsCont &oc)
static double & getDefaultDepartSpeed()
static void initSignalized(SVCPermissions svc, SVCPermissions mbSvc)
static void init()
Static intialization.
A storage for options typed value containers)
void addDescription(const std::string &name, const std::string &subtopic, const std::string &description)
Adds a description for an option.
void resetDefault()
Resets all options to default.
bool isSet(const std::string &name, bool failOnNonExistant=true) const
Returns the information whether the named option is set.
double getFloat(const std::string &name) const
Returns the double-value of the named option (only for Option_Float)
int getInt(const std::string &name) const
Returns the int-value of the named option (only for Option_Integer)
std::string getString(const std::string &name) const
Returns the string-value of the named option (only for Option_String)
void addSynonyme(const std::string &name1, const std::string &name2, bool isDeprecated=false)
Adds a synonyme for an options name (any order)
bool isDefault(const std::string &name) const
Returns the information whether the named option has still the default value.
bool setDefault(const std::string &name, const std::string &value)
Sets the given value for the named option as new default value.
void doRegister(const std::string &name, Option *o)
Adds an option under the given name.
void addOptionSubTopic(const std::string &topic)
Adds an option subtopic.
bool getBool(const std::string &name) const
Returns the boolean-value of the named option (only for Option_Bool)
const StringVector & getStringVector(const std::string &name) const
Returns the list of string-value of the named option (only for Option_StringVector)
void resetWritable()
Resets all options to be writeable.
void addXMLDefault(const std::string &name, const std::string &xmlRoot="")
Adds an XML root element to handle by default. The special root "" denotes the default handler.
static OptionsCont & getOptions()
Retrieves the options.
bool isUsableFileList(const std::string &name) const
Checks whether the named option is usable as a file list (with at least a single file)
void addCallExample(const std::string &example, const std::string &desc)
Add a call example.
static bool createDeviceByOption(const std::string &optionName, const std::string &rootElement="", const std::string &schemaFile="", const int maximumDepth=2)
Creates the device using the output definition stored in the named option.
static void insertRandOptions(OptionsCont &oc)
Initialises the given options container with random number options.
static bool parseDepartSpeed(const std::string &val, const std::string &element, const std::string &id, double &speed, DepartSpeedDefinition &dsd, std::string &error)
Validates a given departSpeed value.
static int parseInsertionChecks(const std::string &value)
parses insertion checks
static bool parseDepartLane(const std::string &val, const std::string &element, const std::string &id, int &lane, DepartLaneDefinition &dld, std::string &error)
Validates a given departLane value.
static SUMOTime processActionStepLength(double given)
Checks and converts given value for the action step length from seconds to miliseconds assuring it be...
static StringBijection< SumoXMLTag > CarFollowModels
car following models
static double toDouble(const std::string &sData)
converts a string into the double value described by it by calling the char-type converter
static bool checkOptions(OptionsCont &oc)
checks shared options and sets StdDefs
static void addConfigurationOptions(OptionsCont &oc)
Adds configuration options to the given container.
static void addReportOptions(OptionsCont &oc)
Adds reporting options to the given container.