Lane- or Edge-based Emissions Measures

The edge/lane based vehicular emission output writes absolute and normed values of vehicular pollutant emissions collected on edges or lanes. The absolute values hold the sum of each of the pollutants emitted on each edge/lane, the normed values give the values normed by the interval duration and the edge's/lane's length.

Please note, that each vehicle type in SUMO may belong to a certain emission class (see Definition of Vehicles, Vehicle Types, and Routes and Models/Emissions). When using the emissions output, you should assure your vehicles reflect a realistic population in the means of vehicle emission class distribution.

## Instantiating within the Simulation

### Edge-Based Emission Output

An edge-based emissions output is defined way within an additional-file as following:

    <edgeData id="<DETECTOR_ID>" type="emissions" period="<PERIOD>" file="<OUTPUT_FILE>" [excludeEmpty="true"]/>

### Lane-Based Emission Output

A lane-based emissions output is defined way within an additional-file as following:

    <laneData id="<DETECTOR_ID>" type="emissions" period="<PERIOD>" file="<OUTPUT_FILE>" [excludeEmpty="true"]/>

### Attributes, for both Edge- and Lane-Based Emission Output

Attribute Name | Value Type | Description
--- | --- | ---
id | id (string) | The id of the detector
file | filename | The path to the output file. The path may be relative.
period (alias freq) | int (time) | The aggregation period the values the detector collects shall be summed up. If not given, the whole time range between begin and end is aggregated
begin | int (time) | The time to start writing (intervals starting before this time are discarded). If not given, the simulation's begin is used.
end | int (time) | The time to end writing (intervals starting at or after this time are discarded). If not given the simulation's end is used.
withInternal | bool | If set, junction internal edges/lanes will be written as well; default: false.
maxTraveltime | float (time) | The maximum traveltime in seconds to write if only very small movements occur; default 100000.
minSamples | float (time) | The minimum total number of seconds vehicles have to be on the edge / lane to consider it non-empty; default: >0.
excludeEmpty | string (true, false, defaults) | If set to true, edges/lanes which were not use by a vehicle during this period will not be written; default: false. If set to "defaults" default values for travel time and emissions depending on edge length and maximum speed get printed.
vTypes | string | space separated list of vehicle type ids to consider, "" means all; default "".
writeAttributes | string list | list of attribute names that shall be written (defaults to all attribute)
edges | string list | restrict output to the given list of edge ids
edgesFile | filename | restrict output to the given the list of edges given in file (either one edgeID per line or an id prefixed with 'edge:' as in a selection file
aggregate | bool | Whether the traffic statistic of all edges shall be aggregated into a single value (edge id will be `AGGREGATED`).

## Generated Output

### Edge-Based Network States

### Lane-Based Network States

### Value Descriptions

Caution

Please note the the unit of fuel-related outputs changed with SUMO 1.14.0 from liters to milligram. For the old behavior use the option --emissions.volumetric-fuel.

Name | Type | Description
--- | --- | ---
begin | (simulation) seconds | The first time step the values were collected in
end | (simulation) seconds | The last time step + DELTA_T in which the reported values were collected
edge@id | (edge) id | The name of the reported edge
lane@id | (lane) id | The name of the reported lane
sampledSeconds | s | Number seconds vehicles were measured on the edge/lane (may be subseconds if a vehicle enters/leaves the edge/lane). This value is the sum of the measured times of all vehicles.
traveltime | s | Time needed to pass the edge/lane, note that this is just an estimation based on the mean speed, not the exact time the vehicles needed.
CO_abs | mg | The complete amount of CO emitted by the vehicles on this lane/edge during the aggregation period
CO2_abs | mg | The complete amount of CO2 emitted by the vehicles on this lane/edge during the aggregation period
HC_abs | mg | The complete amount of HC emitted by the vehicles on this lane/edge during the aggregation period
PMx_abs | mg | The complete amount of PMx emitted by the vehicles on this lane/edge during the aggregation period
NOx_abs | mg | The complete amount of NOx emitted by the vehicles on this lane/edge during the aggregation period
fuel_abs | mg | The complete amount of fuel the vehicles on this lane/edge during the aggregation period have consumed
electricity_abs | Wh | The complete amount of electricity the vehicles on this lane/edge during the aggregation period have consumed
CO_normed | g/km/h | CO emissions during this interval normed by time and edge/lane length
CO2_normed | g/km/h | CO2 emissions during this interval normed by time and edge/lane length
HC_normed | g/km/h | HC emissions during this interval normed by time and edge/lane length
PMx_normed | g/km/h | PMx emissions during this interval normed by time and edge/lane length
NOx_normed | g/km/h | NOx emissions during this interval normed by time and edge/lane length
fuel_normed | l/km/h | fuel consumption during this interval normed by time and edge/lane length
electricity_normed | W/km | electricity consumption during this interval normed by time and edge/lane length
CO_perVeh | mg | Assumed CO emissions a vehicle would produce when passing the edge
CO2_perVeh | mg | Assumed CO2 emissions a vehicle would produce when passing the edge
HC_perVeh | mg | Assumed HC emissions a vehicle would produce when passing the edge
PMx_perVeh | mg | Assumed PMx emissions a vehicle would produce when passing the edge
NOx_perVeh | mg | Assumed NOx emissions a vehicle would produce when passing the edge
fuel_perVeh | ml | Assumed fuel consumption a vehicle would need when passing the edge
electricity_perVeh | Wh | Assumed electricity consumption a vehicle would need when passing the edge

## Notes

Notes:

- Per default, all edges are written, even those on which no vehicle drove. It can be disabled setting the `excludeEmpty` attribute to true.
- The interval end is the interval begin + aggregation time, meaning that values were collected within these steps excluding the end time itself. If the simulation ends before the last interval is over, the interval will be pruned.
- The output file will be generated, does not have to exist earlier and will be overwritten if existing without any warning. The folder the output file shall be generated in must exist.
- If you need only information about the network states during certain time periods, you may constraint generation of the dumps by giving attributes "`begin="<TIME>\[,<TIME>\]+"`" and "`end="<TIME>\[,<TIME>\]+"`". When at least one combination is given, dumps will be written only if an according begin/end-pair exists for the current time. This means, only those intervals will be saved for which begin[x]<=INTERVAL_END and end[x]>=INTERVAL_BEGIN. All dumps will cover the complete simulation if no values for begin/end are given.

## See Also

- edge/lane-based network performace measures output and edge/lane-based vehicular noise emission output which have similar formats
- The mpl_dump_onNet.py script can display values of this output as a colored net (and further visualization tools exist).

## Discussion

### Omitting empty Edges/Lanes

17.07.2009: I have excluded computation of mean per-vehicle emission to pass a lane/edge though almost the same functionality is already covered by the "excludeEmpty"-attribute. I am not sure whether this makes sense.

Also, we maybe should then also decide whether or not this also should be done for travel time computation.

### Value Range

17.07.2009: The values generated for absolute (..._abs) emission during the period and for the mean per-vehicle emission to pass a lane/edge are now given in mg for making lower values visible though only digits after the dot are used. I am not really happy with the results. If a vehicle passes a lane of 390m length at 10m/s, it is assumed it emits less CO than 0.005mg so it does not appear in the outputs; On the other hand, if one looks at a jammed situation, the emissions of CO2 may climb up to CO_perVeh="21246834688.00" (sure, they would get infinite if the vehicle would be really standing). I suppose we have to evaluate how the system behaves.

#### Search

Enter your search terms:

#### Keyboard Shortcuts

Key | Action
--- | ---
`?` | Open this help dialog
`s` | Search the Documentation
`e` | Edit current page on GitHub