Skip to main content

Output files

Simulation time

The simulation time is always in seconds, and starts at midnight on the first day of the simulation.

Train output files

The simulator create a file of each type for each train running in the simulation. The records in the file are in temporal order.

The name of the file follows this template: <train number>@<train date>.<output type>.<format>. <train date> is in yyyy-mm-dd. format can be csv or xml. If compression is enabled, .gz is added.

Route reservation

This file follows the evolution of route reservation (also known as blocking time stairway) when sectional route release is in effect.

timeabsoluteStartabsoluteEndpartialStartstartEdgeUUIDpartialEndendEdgeUUID
55350.00.0-131.0109.801665d6930.01665d693
55375.01330.0-131.01376.20fb810a280.01665d693
55375.02610.0-131.02820.09fb810a280.01665d693
55375.03695.0-131.04044.01fb810a280.01665d693
55400.03695.00.04044.01fb810a28109.801665d693
55410.03695.0185.04044.01fb810a2884.60fb810a28
55435.04130.0185.04534.70fb810a2884.60fb810a28
55447.04130.01250.04534.70fb810a281285.96fb810a28
55471.04950.01250.0435.02a70e6fa1285.96fb810a28
  • time is the simulation time of the event, in seconds.
  • absoluteStart is the absolute distance of the point ahead the train after which the movement authority for the train ceases. Is is calculated in meters from the starting position of the train.
  • absoluteEnd is the absolute distance of the point behind the train before which the movement authority might be available for other trains. Is is calculated in meters from the starting position of the train.
  • partialStart and partialEnd have the same meaning of their absolute counterparts, but the distance is expressed in term of macroscopic edges. startEdgeUUID and endEdgeUUID are the identifiers of the macroscopic edges the start and end points lie on.

Please note that absoluteStart is always positive and greater than absoluteEnd. Partial values are always positive, but there is no relationship between partialStart and partialEnd as they may refer to different edges.

Edge reservation

This file follows the evolution of route reservation and sectional release, on a microscopic level, by listing the locking and unlocking events of route sections. To provide even more detail, each event contains the IDs of the edges involved (as in the microscopic model).

This data allows to calculate conflicts, maximum theoretical capacity, minimum headways and reoccupation times in Treno.

  • time is the simulation time of the event, in seconds.
  • event can be lock or unlock.
  • stationUUID is the UUID of the station th
  • tdsId is the ID of the Train detection section / Locking section that has been locked or unlocked. In the current implementation of interlocking in Trenissimo, the two concepts are mapped to the same microscopic model entity,
  • edges contains the list of ID of the microscopic edges belonging to the Train detection section.

Train steps

This file contains the state of the train, on a per-second basis.

  • time is the simulation time of the event, in seconds.
  • speed is the speed of the train, in km/h.
  • acceleration is the acceleration of the train, in m/s^2.
  • tractiveEffort is the total tractive effort of all engines, in kN.
  • mechanicalPower is calculated as acceleration times tractiveEffort.
  • brakingEffort is the total braking effort, in kN, or zero if the train is not braking.
  • totalResistance
  • totalDistance is the distance traveled by the train from its origin, in meters.
  • stoppingDistance is the estimated stopping distance, in meters.
  • gradient is the current gradient, in per-mille.
  • maxSpeed is the current maximum speed allowed, considering line speed limits, train speed types, speed reduction tables, maximum allowed trainset speed, and maximum traction speed for the available power supply.
  • altitude estimated altitude of the track, in meters, above the origin point of the train.
  • partialDistance is the distance travelled along the current macroscopic edge. Each time the train passes an OCP reference point, this distance is reset.
  • edgeUUID is the UUID of the current macroscopic edge.
  • lineName is the name of the macroscopic line the current macroscopic edge belongs to.
  • kmPoint is the current distance over the macroscopic line, if set in the microscopic model.
  • curvature is the curvature radius of the first occupied edge, in meters.
  • edgeName is the name of the first occupied edge.
  • stationCode is the code of the OCP the train has crossed in the current simulation second, or empty if none.
  • stationCode is the name of the signal the train has crossed in the current simulation second, or empty if none.

Train movements

Train itinerary

This file contains all the itinerary of the train, that is composed by its starting track, al the routes, station stops and station reference axes.

  • time is the simulation time of the event, in seconds.
  • routeName when the train passes the starting signal of a route, this field contains the name of that route.
  • signalName when the train passes the starting signal of a route, this field contains the name of that signal.
  • nextSignalName when the train passes the starting signal of a route, this field contains the name of the rote end signal. When a train is created on its starting track, this field contains the name of the first signal ahead.
  • stationCode when the train corsses the reference axis of a station, stops in a station, or is created, this field contains the short code of the station.
  • stationName as above, but it is the station long name.
  • stationTrackCode when the train corsses the reference axis of a station, this field contains ref. When the train stops in a station, or is created, this field contains the name of the station track.
  • timeISO this is the ISO format representation of the simulation time.

Signals

This file contains a log of all signal aspects seen by the train, and their associated behaviour.

  • time is the simulation time of the event, in seconds.
  • signalName is the name of the signal, as defined in the microscopic model.
  • signalType is the type of the signal, one of the following: SHUNT_2_ASPECTS, LIMIT_OF_SHUNT, BUFFER_STOP, MAIN_2_ASPECTS, DISTANT, DISTANT_3_ASPECT, COMBINED_3_ASPECTS, COMBINED_4_ASPECTS.
  • signalFunction is the function of the signal, one of the following: BLOCK, HOME, EXIT, DISTANT.
  • aspectType is the type of the aspect, one of the following: STOP, APPROACH, ADVANCED_APPROACH, PROCEED.
  • aspectCode is the short code of the aspect.
  • aspectName is the name of the aspect. Usually it is the same as the aspectCode, but it can be different in signalling system in which a signal can display a combination of two or more aspects, or when the aspectCode is not self describing.
  • speedLimitAtSignal is the speed limit to be respected at the signal, in m/s, or empty if the aspect does not enforce a speed limit.
  • targetSpeedFromSignal is the speed at which the train will aim once the signal has passed, in m/s, or empty if the aspect does not prescribe a target speed.
  • targetSpeedFromSight is the speed at which the train will aim after seeing the signal, in m/s, or empty if the aspect does not prescribe a target speed.
  • accelerationLimit is the maximum speed the train will accelerate to, as a safety measure to prevent overrunning the next signal.
  • approachRed true if the train is expected to stop at a following signal.

Conflicts

This file contains a list of conflicts.

  • time is the simulation time of the event, in seconds.
  • eventDescription is the description of the conflict.

Train timetable (XML)

This file is an XML representation of internal Trenissimo data structures.

Train timetable (CSV)

This file is a tabular representation of a train planned and actual timetables. Each row represents a departure, arrival, pass or stop of the train at a station.

  • station is the short code of the station.
  • track is the actual station track.
  • type is one of the following: stop, pass, turnback, serviceStop, setDownOnly, pickUpOnly, requestStop.
  • plannedArrival is the planned arrival time, in seconds from the midnight of the first simulation day. For the origin row, this field is empty.
  • actualArrival is the actual arrival time, in seconds from the midnight of the first simulation day. For the origin row, this is the spawn time.
  • arrivalDelay is the difference between actualArrival and plannedArrival.
  • plannedDeparture is the planned departure time, in seconds from the midnight of the first simulation day. For the destination row, this field is empty.
  • actualDeparture is the actual departure time, in seconds from the midnight of the first simulation day. For the destination row, this field is empty.
  • departureDelay is the difference between actualDeparture and plannedDeparture.
  • primaryDelay is the departure delay caused by any stochastic variable.
  • plannedStopTime is the planned stop time, in seconds, calculated as the difference between plannedArrival and plannedDeparture. For pass entries, this field is empty.
  • actualStopTime is the actual stop time, in seconds, calculated as the difference between actualArrival and actualDeparture. For pass entries, this field is empty.
  • stopTimeDelay is the difference between actualStopTime and plannedStopTime.
  • plannedRunningTime is the planned running time between this station and the next one.
  • actualRunningTime is the actual running time between this station and the next one.
  • runningTimeDelay is the difference between actualRunningTime and plannedRunningTime.

Aggregated output files

These output files are similar to the train output files listed above, but group the data for all trains in a single file.

Signals

This file contains a log of all signal aspects seen by trains, and their associated behaviour.

  • time is the simulation time of the event, in seconds.
  • train is the unique train identifier.
  • signalName is the name of the signal, as defined in the microscopic model.
  • signalType is the type of the signal, one of the following: SHUNT_2_ASPECTS, LIMIT_OF_SHUNT, BUFFER_STOP, MAIN_2_ASPECTS, DISTANT, DISTANT_3_ASPECT, COMBINED_3_ASPECTS, COMBINED_4_ASPECTS.
  • signalFunction is the function of the signal, one of the following: BLOCK, HOME, EXIT, DISTANT.
  • aspectType is the type of the aspect, one of the following: STOP, APPROACH, ADVANCED_APPROACH, PROCEED.
  • aspectCode is the short code of the aspect.
  • aspectName is the name of the aspect. Usually it is the same as the aspectCode, but it can be different in signalling system in which a signal can display a combination of two or more aspects, or when the aspectCode is not self describing.
  • speedLimitAtSignal is the speed limit to be respected at the signal, in m/s, or empty if the aspect does not enforce a speed limit.
  • targetSpeedFromSignal is the speed at which the train will aim once the signal has passed, in m/s, or empty if the aspect does not prescribe a target speed.
  • targetSpeedFromSight is the speed at which the train will aim after seeing the signal, in m/s, or empty if the aspect does not prescribe a target speed.
  • accelerationLimit is the maximum speed the train will accelerate to, as a safety measure to prevent overrunning the next signal.
  • approachRed true if the train is expected to stop at a following signal.

Conflicts

This file contains a list of conflicts for all the simulated trains.

  • time is the simulation time of the event, in seconds.
  • train is the unique train identifier.
  • eventDescription is the description of the conflict.

Warnings

This file contains a list of warnings raised by all the simulated trains.

  • time is the simulation time of the event, in seconds.
  • train is the unique train identifier.
  • eventDescription is the description of the warnings.

Train events

This file contains a list of conflicts, warnings and notices for all the simulated trains.

  • time is the simulation time of the event, in seconds.
  • train is the unique train identifier.
  • category is one between warning, notice and conflict.
  • description is the description of the event.

Train timetable (CSV)

This file is a tabular representation of planned and actual timetables of all simulated trains. Each row represents a departure, arrival, pass or stop of the train at a station.

  • trainNumber is the number of the train.
  • trainDate is the scheduled date of the train.
  • trainKey is the unique train identifier.
  • station is the short code of the station.
  • track is the actual station track.
  • type is one of the following: stop, pass, turnback, serviceStop, setDownOnly, pickUpOnly, requestStop.
  • plannedArrival is the planned arrival time, in seconds from the midnight of the first simulation day. For the origin row, this field is empty.
  • actualArrival is the actual arrival time, in seconds from the midnight of the first simulation day. For the origin row, this is the spawn time.
  • arrivalDelay is the difference between actualArrival and plannedArrival.
  • plannedDeparture is the planned departure time, in seconds from the midnight of the first simulation day. For the destination row, this field is empty.
  • actualDeparture is the actual departure time, in seconds from the midnight of the first simulation day. For the destination row, this field is empty.
  • departureDelay is the difference between actualDeparture and plannedDeparture.
  • primaryDelay is the departure delay caused by any stochastic variable.
  • plannedStopTime is the planned stop time, in seconds, calculated as the difference between plannedArrival and plannedDeparture. For pass entries, this field is empty.
  • actualStopTime is the actual stop time, in seconds, calculated as the difference between actualArrival and actualDeparture. For pass entries, this field is empty.
  • stopTimeDelay is the difference between actualStopTime and plannedStopTime.
  • plannedRunningTime is the planned running time between this station and the next one.
  • actualRunningTime is the actual running time between this station and the next one.
  • runningTimeDelay is the difference between actualRunningTime and plannedRunningTime.

Delay at destination

  • trainNumber is the number of the train.
  • trainDate is the scheduled date of the train.
  • trainKey is the unique train identifier.
  • destinationStation is the short code of the destination station.
  • delay is the delay at destination, in seconds.

Global output files

These output files cover the entire simulation, and not specific trains. There is a single file for each train in the whole simulation.

Station tracks state

Routes state

Signals state

Switches state

Stopwatch

Traffic light report