-
Notifications
You must be signed in to change notification settings - Fork 15
Network
This section describes two network models used in Soundcast:
A network assignment model estimates volume on each link in the transportation system for both highway and transit modes. In addition, the model generates performance measures such as congested speed or travel time on a highway link or the boardings and alightings on a transit route.
Network assignment is performed separately for each mode (auto and transit) and time period. The model system has 12 assignment periods, which are listed below:
Assignment Time Periods
Period | Start Time | End Time | Label |
---|---|---|---|
AM | 5:00 a.m. | 6:00 a.m. | 5to6 |
AM | 6:00 a.m. | 7:00 a.m. | 6to7 |
AM | 7:00 a.m. | 8:00 a.m. | 7to8 |
AM | 8:00 a.m. | 9:00 a.m. | 8to9 |
Mid-Day | 9:00 a.m. | 10:00 a.m. | 9to10 |
Mid-Day | 10:00 a.m. | 2:00 p.m. | 10to14 |
Mid-Day | 2:00 p.m. | 3:00 p.m. | 14to15 |
PM | 3:00 p.m. | 4:00 p.m. | 15to16 |
PM | 4:00 p.m. | 5:00 p.m. | 16to17 |
PM | 5:00 p.m. | 6:00 p.m. | 17to18 |
Evening | 6:00 p.m. | 8:00 p.m. | 18to20 |
Off-Peak | 8:00 p.m. | 5:00 a.m. | 20to5 |
- Transit trips are not assigned in off-peak periods
The highway assignment uses an equilibrium procedure to assign vehicle trips to the roadway network for different time periods. This is a user-optimal procedure that is based on the assumption that each traveler chooses a route that is the shortest time path. The highway assignment is performed in the Emme software and utilizes the gradient-based path analysis.
The highway assignment procedure is applied iteratively; travel times are updated after each iteration to reflect congestion occurring on the network. These updates to travel time are based on a volume-delay function for each link. The majority of roads use a derivative of the volume-delay function originally developed by the Bureau of Public Roads (BPR). The free-flow time is based initially on the network data provided for each link and then updated in each iteration to represent the travel time from the last iteration. This process continues until “equilibrium" is reached, which is based on achieving one of the following criteria:
- The best relative gap is less than 0.01% (0.001). This is the difference between the current assignment and a perfect equilibrium assignment.
- The normalized gap or trip time difference is less than 0.001. This is the difference between the mean trip time of the current assignment and the mean minimal trip time.
The multi-class assignment is performed for 12 vehicle classes, which are developed based on mode and income group. Three income stratifications are used as follows
User Class | Definition | Value of Time ($/hr) |
---|---|---|
sov_inc1 | SOV Income Level 1 | $13.07 |
sov_inc2 | SOV Income Level 2 | $26.14 |
sov_inc3 | SOV Income Level 3 | $43.56 |
hov2_inc1 | HOV 2 Income Level 1 | $21.78 |
hov2_inc2 | HOV 2 Income Level 2 | $32.67 |
hov2_inc3 | HOV 2 Income Level 3 | $54.45 |
hov3_inc1 | HOV 3 Income Level 1 | $26.14 |
hov3_inc2 | HOV 3 Income Level 2 | $38.11 |
hov3_inc3 | HOV 3 Income Level 3 | $59.89 |
tnc_inc1 | TNC Income Level 1 | $21.78 |
tnc_inc2 | TNC Income Level 2 | $32.67 |
tnc_inc3 | TNC Income Level 3 | $54.45 |
medium_truck | Medium Trucks | $49.00 |
heavy_truck | Heavy Trucks | $54.45 |
walk | Walk Trips | |
bike | Bike Trips |
Users may run scenarios with autonomous vehicles (AVs), which are assigned as separate classes. These will not be available unless provided in input_configuration.py include_av = True
. Values of time are assumed the same as conventional (non-AV) user classes.
User Class | Definition |
---|---|
av_sov_inc1 | AV SOV Income Level 1 |
av_sov_inc2 | AV SOV Income Level 2 |
av_sov_inc3 | AV SOV Income Level 3 |
av_hov2_inc1 | AV HOV 2 Income Level 1 |
av_hov2_inc2 | AV HOV 2 Income Level 2 |
av_hov2_inc3 | AV HOV 2 Income Level 3 |
av_hov3_inc1 | AV HOV 3 Income Level 1 |
av_hov3_inc2 | AV HOV 3 Income Level 2 |
av_hov3_inc3 | AV HOV 3 Income Level 3 |
A rudimentary model to measure impacts of increased at-home delivery trips can be activated by setting include_deliery = True
in input_configuration.py. Doing so will add another user class as follows. Delivery trips are calculated in the truck model, but are only assigned to the network and included in the model when this configuration is active. Total number of regional delivery trips can be assigned in the total_delivery_trips
field in emme_configuration.py
User Class | Definition |
---|---|
delivery_truck | Delivery Trucks |
Turn penalties are included in the trip assignment model to either prohibit certain turn movements or to penalize certain turn movements. These are included in the model by identifying specific turn movements by their node numbers, and then coding the penalty function that will apply to these turn movements. The current model includes turn penalty functions to prohibit turns that cannot be made under “real world” conditions and to prohibit direct access from interchanges to HOV lanes where direct access ramps do not exist. Examples of different types of turn penalty functions are listed in the following table:
Penalty Function | Definition | Function | Range of Delay |
---|---|---|---|
tp 1 | Fixed Delay | Turn Delay = Delay/100 | 0.1-1.5 |
tp 2 | Prohibited Turns | Turn Delay = 0 | 0 |
The model system uses Emme to perform a frequency-based transit assignment using optimal strategies and variants. The assignment results are saved in Emme database. The following network results are available:
- Transit times on segments (
timtr
), in minutes; the transit time is the sum of the travel time (given by the transit time function) plus the dwell time at the J-node - Transit boardings (
board
) and alightings (alight
) at I-node of segments - Transit volumes on segments (
voltr
) - Initial boardings (
inboaj
) and final alightings (fialij
) at nodes - Auxiliary transit volumes on links (
volax
)
The transit mode contains five transit submodes:
Transit Submodes
User Class | Definition |
---|---|
LightRail | Light Rail Trips |
Ferry | Ferry Trips |
PassengerFerry | Passenger Ferry Trips |
CommuterRail | Commuter Rail Trips |
Network skims are produced by time period in HDF5 format and are stored in the input directory. The files contain both highway and transit skims.
Four travel attributes are skimmed for every highway vehicle class: travel time (t), distance (d), cost (c), and generalized cost (g). The following table presents highway skims produced by the model. In the table, an x
represents availability of the attribute for the vehicle class. For example, three skims are available for svtl1: travel time (svtl1t), travel distance (svtl1d), and travel cost (svtl1c).
Mode | Description | Time(t) | Distance(d) | Cost(c) | Generalized Cost(g) |
---|---|---|---|---|---|
sov_inc1 | SOV Toll Income Level 1 | x | x | x | |
sov_inc2 | SOV Toll Income Level 2 | x | x | x | x |
sov_inc3 | SOV Toll Income Level 3 | x | x | x | |
hov2_inc1 | HOV 2 Toll Income Level 1 | x | x | x | |
hov2_inc2 | HOV 2 Toll Income Level 2 | x | x | x | |
hov2_inc3 | HOV 2 Toll Income Level 3 | x | x | x | |
hov3_inc1 | HOV 3 Toll Income Level 1 | x | x | x | |
hov3_inc2 | HOV 3 Toll Income Level 2 | x | x | x | |
hov3_inc3 | HOV 3 Toll Income Level 3 | x | x | x | |
medium_truck | Medium Trucks | x | x | x | x |
heavy_truck | Heavy Trucks | x | x | x | x |
Note:
- Travel time (t) and cost (c) skims are produced for all four time periods
- Distance (d) and generalized cost (g) skims are produced only for the AM and PM time periods
Transit skims are produced for all four time periods (except transit fare which is generated only for AM period), and for each transit submode. The naming convention is to substitue a string for the submode:
*Transit sub-modes: local bus (b), express bus (p), commuter rail (c), light rail (r), and passenger ferry (f), all transit (a)
Skim | Description |
---|---|
ivtw[*] | In-vehicle time by mode |
xfrw[*] | Transfer wait time |
ndbw[*] | Avg. boardings all mode |
iwtw[*] | First wait time all modes |
twtw[*] | Total wait time all modes |
ivtw[*] | Actual IVTs all modes |
mfafarbx | Transit fare (generated only for AM period and only for transit in general, not for submodes) |
[*] = sub-mode string
The model also produces travel time skims for bike and walk modes. The skims are produced only for the AM period and are shown in the following table.
Skim | Description |
---|---|
biket | Bike travel time |
walkt | Walk travel time |
mfbkat | Actual auxiliary transit times |
mfbkpt | Perceived biking time |
Soundcast has a separate bike assignment model that uses generalized cost based on multiple attributes that affect likelihood of biking on a roadway. Three important attributes are used in the calculation of bike cost (bike weight):
- Total vehicles on the roadway
- Bike facility - premium (Trail/Separated bike lane), standard (bike lane striped, Bike shoulder, and Wider lane/shared shoulder), or none
- Elevation gain (up slope) on the roadway
The weights (perception factor) for the above attributes are provided by a user in input_configuration.py. Based on the weights for the three attributes, a total weight for biking on a link is calculated. This total weight is then used to assign bike trips on the network. After the assignment , bike skims are also generated based on the total weight.
The wiki describes the basic theory and process to use Soundcast for travel modeling applications.
- Overview
- Daysim Person Trip Demand
- Network Assignment
- Submodels
- Other Documentation Resources