Skip to content

Commit 259d975

Browse files
Merge pull request #260 from SANDAG/ABM3_develop
Updating branch to most recent changes
2 parents 00fc345 + b28941f commit 259d975

File tree

58 files changed

+5380
-7081
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+5380
-7081
lines changed

docs/design/demand/external.md

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,42 @@
11
# External Models
2+
The external aggregate travel models predict characteristics of US-SD and SD-US/MX travel behavior for all non-commercial, non-visitor vehicle trips and selected transit trips. Note that non-commercial MX-SD trips are forecast in the crossborder model, and non-commercial SD-US and SD-MX trips are forecast in the resident model.
23

3-
Details aggregate external models.
4+
![](../../images/design/external_external_county_cordons.png)
45

5-
## External Internal Model
6+
## External Model Estimation of Trip Counts by Type
7+
The total count of trips by production and attraction location was estimated in a series of steps:
68

7-
## External External Model
9+
1. The number of crossborder trips made by Mexican residents to attractions in San Diego was previously determined.
10+
2. The trips in the resident travel survey were expanded to estimate the total number of trips made by San Diego residents to attractions in Mexico.
11+
3. To derive an estimate of the number of US-MX trips, the number of MX-SD (1) and SD-MX (2) trips was subtracted from the total number of border-crossings.
12+
* The distribution of US-MX trips among external stations on the US-side of San Diego County will be assumed to be proportional to the total volume at each external station, regardless of the point of entry at the Mexican border.
13+
4. The number of US-MX trips was then subtracted from the total number of trips in the SCAG cordon survey to arrive at an estimate of the combined total of US-US, US-SD, and SD-US trips with routes through San Diego County.
14+
5. Finally, the actual amounts of US-US, US-SD, and SD-US trips at each external station were estimated from the remaining trips (4) according to their proportions in the successfully geocoded responses in the SCAG cordon survey.
15+
16+
## External Model Design Overview
17+
The behavioral characteristics of the different types of external trip were derived from the various data sources available as follows:
18+
19+
* US-US trips: a fixed external station OD trip matrix was estimated from the SCAG cordon survey.
20+
* */src/main/emme/toolbox/model/external_external.py*
21+
* US-MX trips: a fixed external station OD trip matrix was estimated from the SCAG cordon survey, Customs and Border Protection vehicle counts, and Mexican resident border-crossing survey as described in the previous section.
22+
* */src/main/emme/toolbox/model/external_external.py*
23+
* US-SD trips: rates of vehicle trips per household for each external county were developed from the SCAG cordon survey, and the trips were distributed to locations in San Diego County according to a destination choice model estimated from the interregional survey.
24+
* Intermediate stops and transit trips are not modeled in this segment due to the small contribution of these events to the total demand in the segment.
25+
* */src/main/emme/toolbox/model/external_internal.py*
26+
27+
### External-Internal Destination Choice Model
28+
The external-internal destination choice model distributes the EI trips to destinations within San Diego County. The EI destination choice model explanatory variables are:
29+
30+
* Distance
31+
* The size of each sampled MGRA
32+
33+
Diurnal and vehicle occupancy factors are then applied to the total daily trip tables to distribute the trips among shared ride modes and different times of day.
34+
35+
### External-Internal Toll Choice Model
36+
The trips are then split among toll and non-toll paths according to a simplified toll choice model. The toll choice model included the following explanatory variables:
37+
38+
* In-vehicle-time
39+
* Toll cost
40+
41+
## Sources
42+
information primarily taken from this SANDAG document: [link to pdf](https://www.sandag.org/-/media/SANDAG/Documents/PDF/data-and-research/applied-research-and-performance-monitoring/surveys/appendix-t-SANDAG-travel-demand-model-documentation.pdf)

docs/design/report/report.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
11
# Reporting Framework
22

3-
Details of reporting components.
3+
**Reporting Process Overview:**
4+
5+
1. **ABM3 model output files are stored to data lake:**
6+
- Model outputs are written to the data lake immediately following ABM3 model run completion.
7+
- Output CSV files are converted to Parquet format before writing to the data lake.
8+
- Each model run is assigned a unique scenario ID.
9+
10+
2. **Data lake files are loaded to Delta tables:**
11+
- Each output file in the data lake is loaded into its corresponding Delta table. For example, the trips output file is loaded into the trips Delta table, the persons output file is loaded into the persons Delta table, etc.
12+
- Delta tables store the results from all model runs, organized by scenario ID.
13+
14+
3. **Delta Tables are processed in Databricks:**
15+
- Delta tables are read, transformed, and aggregated as needed to support analysis and reporting requirements.
16+
- Once transformations are complete, the resulting data is written back to the data lake as new Delta tables or used to update existing tables.
17+
- These new Delta tables are also organized by scenario ID, making it easier to manage and query specific versions of processed data.
18+
19+
4. **Delta tables are ingested by Power BI:**
20+
- Power BI reads the data from the Delta tables.
21+
- Power BI report templates with various metrics of interest are automatically refreshed with new model run outputs.
22+
- Metrics can easily be compared across different scenario IDs.
Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,60 @@
11
# Network Import from TNED
22

3-
Details of importing and processing the ETL network.
3+
This section describes the procedure by which the ABM3 model system imports (into Emme) network (highway and transit) files along with a general description of the different network files.
4+
5+
## Network Files
6+
7+
The ABM3 model system has been configured to be compatible with SANDAG's Transportation Network Editing Database (TNED) system, which is utilized to edit, maintain and generate transportation networks. The TNED network files, generated via an ETL (i.e., Extract, Tranform, Load) procedure, serve as inputs to the ABM3 model system's import network procedure and are produced in text file, shapefile, geodatabase table and geodatabase feature class geodatabase formats. There are, additionally, some non-TNED input network files which are manually maintained.
8+
9+
The following are the required network files used during the Emme import network procedure:
10+
11+
| **File** | **Source** | **Description** |
12+
|--------------------------------|---------------------|----------------------------------------------------------------------------------------------|
13+
| EMMEOutputs.gdb/TNED_HwyNet | TNED | Roadway network links |
14+
| EMMEOutputs.gdb/TNED_HwyNodes | TNED | Roadway network nodes |
15+
| EMMEOutputs.gdb/TNED_RailNet | TNED | Rail network links |
16+
| EMMEOutputs.gdb/TNED_RailNodes | TNED | Rail network nodes |
17+
| EMMEOutputs.gdb/Turns | TNED | Turn prohibition records |
18+
| special_fares.txt | Manually Maintained | Special fares in terms of boarding and incremental in-vehicle costs |
19+
| timexfer_{time_of_day}.csv | Manually Maintained | Timed transfer pairs of lines, by period. Where time_of_day refers to EA, AM, MD, PM, or EV. |
20+
| trrt.csv | TNED | Attribute data (modes, headways) for the transit lines |
21+
| trlink.csv | TNED | Sequence of links (routing) for the transit lines |
22+
| trstop.csv | TNED | Stop data for the transit lines |
23+
| MODE5TOD.csv | Manually Maintained | Global (per-mode) transit cost and perception attributes |
24+
| vehicle_class_toll_factors.csv | Manually Maintained | Factors to adjust the toll cost by facility name and class |
25+
26+
## Import Network Procedure
27+
28+
This section describes the main steps carried out during the Emme import network procedure. The entire process is executed by the [import_network.py](https://github.com/SANDAG/ABM/blob/ABM3_develop/src/main/emme/toolbox/import/import_network.py) script.
29+
30+
#### Create Modes
31+
32+
This step creates the different combinations of traffic and transit modes that will get applied to the network links. A mode defines a group of vehicles or users which have access to the same parts of the network. Modes are used in both the traffic and transit assignments to define the available network for each class of demand. Each mode is uniquely identified by a single case-sensitive character. The modes which have access to a given link are listed on that link, and each link must allow at least one mode.
33+
34+
#### Create Roadway Base Network
35+
36+
This step creates the base roadway network by importing it from the EMMEOutputs.gdb/TNED_HwyNet and EMMEOutputs.gdb/TNED_HwyNodes. The nodes and links (referred to as the base network in Emme) for the traffic network are imported from the TNED_HwyNode and TNED_HwyNet geodatabase feature classes. The nodes are created first and the links connect between them. The I-node (from node, field AN) and J-node (to node, field BN) are used to associate the nodes and links and uniquely identify the link in the Emme network. Separate forward (AB) and reverse (BA) links are generated for links that have been coded as two-way.
37+
38+
#### Create Turns
39+
40+
This step processes the EMMEOutputs.gdb/Turns input network file to generate turn restrictions by to- and from- link ID. If the indicated link IDs do not make a valid turn (links not adjacent) an error is reported.
41+
42+
#### Calculate Traffic Attributes
43+
44+
This step calculates derived traffic attributes. It utilizes the vehicle_class_toll_factors.csv to adjust toll costs by facility name and class.
45+
46+
#### Check Zone Access
47+
48+
This step verifies that every centroid has at least one available access and egress connector.
49+
50+
#### Create Rail Base Network
51+
52+
This step creates the base roadway network by importing it from the EMMEOutputs.gdb/TNED_RailNet and EMMEOutputs.gdb/TNED_RailNodes. The nodes and links (referred to as the base network in Emme) for the rail network are imported from the TNED_RailNode and TNED_RailNet geodatabase feature classes. The nodes are created first and the links connect between them. The I-node (from node, field AN) and J-node (to node, field BN) are used to associate the nodes and links and uniquely identify the link in the Emme network. Separate forward (AB) and reverse (BA) links are generated for links that have been coded as two-way.
53+
54+
#### Create Tranist Lines
55+
56+
This step creates the transit lines by importing them from the trrt.csv, trlink.csv and trstop.csv input network files and matched to the transit base network. The mode-level attributes from MODE5TOD.csv, which vary by mode, are copied to transit line attributes and used in transit assignment. It is in this step also where the timexfer_{time_of_day}.csv files are used to explicitly set route-to-route specific transfer transit times.
57+
58+
#### Calculate Transit Attributes
59+
60+
The transit line and stop / segment attributes (including fares) are imported to Emme attributes. The special_fares.txt lists network-level incremental fares by boarding (line and/or stop) and in-vehicle segment. They specify additive fares based on the network elements encountered on a transit journey and are used to represent the Coaster (or other) zonal fare system.
Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
11
# Transit Skimming and Assignment
22

3-
Details of transit skimming and assignment.
3+
The transit assignment uses a headway-based approach, where the average headway between vehicle arrivals for each transit line is known, but not exact schedules. Passengers and vehicles arrive at stops randomly and passengers choose their travel itineraries considering the expected average waiting time.
4+
5+
The Emme Extended transit assignment is based on the concept of optimal strategy but extended to support a number of behavioral variants. The optimal strategy is a set of rules which define sequence(s) of walking links, boarding and alighting stops which produces the minimum expected travel time (generalized cost) to a destination. At each boarding point the strategy may include multiple possible attractive transit lines with different itineraries. A transit strategy will often be a tree of options, not just a single path. A line is considered attractive if it reduces the total expected travel time by its inclusion. The demand is assigned to the attractive lines in proportion to their relative frequencies.
6+
7+
The shortest "travel time" is a generalized cost formulation, including perception factors (or weights) on the different travel time components, along with fares, and other costs / perception biases such as transfer penalties which vary over the network and transit journey.
8+
9+
The model has four access modes to transit (walk, park-and-ride (PNR), kiss-and-ride (KNR), and Transportation Network Company (TNC)) and three transit sets (local bus only, premium transit only, and local bus and premium transit sets), for 12 total demand classes by 5 TOD. These classes are assigned by slices, one at a time, to produce the total transit passenger flows on the network.
10+
11+
While there are 12 slices of demand, there are only three classes of skims: Local bus only, premium only, and all modes. The access mode does not change the assignment parameters or skims.
177 KB
Loading

docs/inputs.md

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -166,15 +166,7 @@ The table below contains brief descriptions of the input files required to execu
166166
| emp_non_ws_wfh | Non-wage and salary work from home employments |
167167
| emp_non_ws_oth | Non-wage and salary other employments |
168168
| emp_total | Total employment |
169-
| pseudomsa | Pseudo MSA - |
170-
| | 1: Downtown |
171-
| | 2: Central |
172-
| | 3: North City |
173-
| | 4: South Suburban |
174-
| | 5: East Suburban |
175-
| | 6: North County West |
176-
| | 7: North County East |
177-
| | 8: East County |
169+
| pseudomsa | Pseudo MSA<br>1: Downtown<br>2: Central<br>3: North City<br>4: South Suburban<br>5: East Suburban<br>6: North County West<br>7: North County East<br>8: East County |
178170
| zip09 | 2009 Zip Code |
179171
| enrollgradekto8 | Grade School K-8 enrollment |
180172
| enrollgrade9to12 | Grade School 9-12 enrollment |
@@ -184,12 +176,11 @@ The table below contains brief descriptions of the input files required to execu
184176
| parkactive | Acres of Active Park |
185177
| openspaceparkpreserve | Acres of Open Park or Preserve |
186178
| beachactive | Acres of Active Beach |
187-
| district27 | |
179+
| district27 | Special layer reg employer shuttle service around Sorrento Valley |
188180
| milestocoast | Distance (miles) to the nearest coast |
189181
| acres | Total acres in the mgra (used in CTM) |
190182
| land_acres | Acres of land in the mgra (used in CTM) |
191183
| effective_acres | Effective acres in the mgra (used in CTM) |
192-
| truckregiontype | |
193184
| exp_hourly | Expected hourly prking cost |
194185
| exp_daily | Expected daily prking cost |
195186
| exp_monthly | Expected monthly prking cost |
@@ -335,14 +326,22 @@ The table below contains brief descriptions of the input files required to execu
335326
| pnum | Person Number |
336327
| age | Age of person |
337328
| sex | Gender of person<br>1 = Male<br>2 = Female |
338-
| military | Military status of person:<br>0 = N/A Less than 17 Years Old<br>1 = Yes, Now on Active Duty |
329+
| miltary | Military status of person:<br>0 = N/A Less than 17 Years Old<br>1 = Yes, Now on Active Duty |
339330
| pemploy | Employment status of person:<br>1 = Employed Full-Time<br>2 = Employed Part-Time<br>3 = Unemployed or Not in Labor Force<br>4 = Less than 16 Years Old |
340331
| pstudent | Student status of person:<br>1 = Pre K-12<br>2 = College Undergrad+Grad and Prof. School<br>3 = Not Attending School |
341332
| ptype | Person type:<br>1 = Full-time Worker<br>2 = Part-time Worker<br>3 = College Student<br>4 = Non-working Adult<br>5 = Non-working Senior<br>6 = Driving Age Student<br>7 = Non-driving Student<br>8 = Pre-school |
342333
| educ | Educational attainment:<br>1 = No schooling completed<br>9 = High school graduate<br>13 = Bachelor's degree |
343334
| grade | School grade of person:<br>0 = N/A (not attending school)<br>2 = K to grade 8<br>5 = Grade 9 to grade 12<br>6 = College undergraduate |
344335
| occen5 | Occupation:<br>0 = Not in universe (Under 16 years or LAST-WRK = 2)<br>1..997 = Legal census occupation code |
345336
| occsoc5 | Detailed occupation codes defined by the Bureau of Labor Statistics |
337+
| indcen | Industry code.<br>0 = default<br>9970 = NAICS2 is MIL |
338+
| weeks | Weeks worked during past 12 months<br>0 .N/A (less than 16 years old/did not work during the past 12 .months)<br>1 .50 to 52 weeks worked during past 12 months<br>2 .48 to 49 weeks worked during past 12 months<br>3 .40 to 47 weeks worked during past 12 months<br>4 .27 to 39 weeks worked during past 12 month<br>5 .14 to 26 weeks worked during past 12 months<br>6 .13 weeks or less worked during past 12 months|
339+
| hours | Hours worked per week past 12 months<br>0 .N/A (less than 16 years old/did not work during the past .12 months)<br>1..98 .1 to 98 usual hours<br>99 .99 or more usual hours |
340+
| rac1p | Race:<br>1 = White alone<br>2 = Black or African American alone<br>3 = American Indian alone<br>4 = Alaska Native alone<br>5 = American Indian and Alaska Native tribes specified; or .American Indian or Alaska Native, not specified and no other .races<br>6 = Asian alone<br>7 = Native Hawaiian and Other Pacific Islander alone<br>8 = Some Other Race alone<br>9 =Two or More Races |
341+
| hisp | Hispanic origin:<br>1 = Not Hispanic<br>2 = Hispanic |
342+
| version | Synthetic population run version. Presently set to 0. |
343+
| naics2_original_code | 2 digit North American Industry Classification System (NAICS) |
344+
| soc2 | 2 digit Standard Occupational Classification |
346345

347346

348347
<a id="vehicle_class_toll"></a>

0 commit comments

Comments
 (0)