-
Notifications
You must be signed in to change notification settings - Fork 135
Phase 5 Scope of Work
Phase 5 will be performed during FY1920, ending in June 2020, and is likely to focus on project management, contribution review and support, support for multiple zone systems, support for modeling AVs and TNCs, input validation checking, output summarization, integration of PopulationSim, a user tutorial, and performance tuning.
Task 1: Project Management
Task 2: Contribution Review
Task 3: Support for Two Zone Systems
Task 4: Support for Modeling AVs and TNCs
Task 5: Input Validation Checking
Task 6: Output Summarization
Task 7: Integration of PopulationSim
Task 8: User Tutorial
Task 9: Performance Tuning
The purpose of this first task is to manage the overall project, including invoicing and conference calls with the project team, and coordination with the AMPO agency partners. All deliverables, including meeting notes, software, tests, documentation, and issue tracking will be managed through GitHub.
Deliverable(s): (Due XXX weeks from NTP)
- Management of Bi-Weekly Meetings
- Pre- and Post-Meeting Notes
- Invoicing and Progress Reports
- Client Coordination
Comments
- xxxx
The purpose of this task is to coordinate and review contributions by others. Contribution review and support will be done according to our Contribution Review guidelines. The budget for contribution review and support cannot exceed the task budget.
Deliverable(s): (Due XXX weeks from NTP)
- Contribution Review and Support
- Management of Repository Resources
Comments
- xxxx
The goal of this task is to integrate comprehensive support for two zone system network level-of-service (see partner zone systems) into the ActivitySim framework. In two zone system models, for example the PSRC and SFCTA models, trips are modeled from microzone/parcel-to-microzone/parcel and the network level-of-service zone system varies by mode:
- Auto - zone-to-zone skims
- Walk/bike/near auto - microzone-to-microzone for nearby zone pairs using path costs from an allstreets network
- Transit - zone-to-zone skims except for access/egress time, which comes from the microzone/parcel file, which includes access distance by transit line-haul mode for each microzone
In three zone system models, for example the SANDAG and MTC TM2 models, transit stop-to-stop skims + a set of nearby stops for each microzone are used to do transit virtual path building during a demand model run in order to build microzone-to-microzone transit impedance through the best access and egress stops. Under a separate contract, support for three zone systems (minus transit virtual path building) was prototyped using the SANDAG ABM model inputs.
The scope of this task is to integrate the prototyped three zone system software into activitysim and develop a new two zone system example model for the MTC TM1 example. This will include switching from the one-zone skims classes to the multi-zone NetworkLOS (skims + related data files) classes, updating logging/tracing, updating all expression files with spatial data, including logsums, updating expected test results, and updating the documentation. The model system will be able to operate at the microzone or zone level, and it will be possible to index into zone-skims using the zone IDs or other zone attributes (such as microzone ID if using microzones as well). Full support for three zone systems (which adds transit virtual path building) may be done in a later phase of work.
For software testing, the MTC TM1 zone data will be copied to microzones as if there is a one-to-one correspondence. In order to test the relationships between the different data structures, a few sample microzones will be re-assigned to different zones. The full scale example model included with the project will essentially operate at the zone level, but with a few microzones for illustrative purposes. (Should we plan to deliver a more complete example?). The updated example model will be tested and documented.
Deliverable(s): (Due XXX from NTP)
- Final Design Wiki Specification
- Integration of Support for both One and Two Zone System Models
- Additional Full Scale Example Test Setup
- Verification of Results
- Updated Documentation and Tests
The purpose of this task is to add support for modeling Transportation Networking Company (TNC) vehicle availability and Automated\Autonomous Vehicles (AVs). The design of these features will be based on work done previously to add TNC and AV to DaySim and the MTC CT-RAMP model.
- The existing tour and trip mode choice models will be updated with a new taxi\TNC nest. Both modes will use the toll-eligible HOV2 skims. The drive transit nest will be updated to include TNC versus private auto as well.
- The example model will be updated to explicitly consider Autonomous Vehicle (AV) ownership. The mode choice models will be updated to explicitly consider implications of AV ownership on mobility, such as less onerous in-vehicle time coefficients and reduced or free parking costs.
- The auto ownership model will be extended to include an upper level choice between AV\non-AV. The model will reflect assumptions regarding implications for number of autos owned based on whether vehicles are AV or not (e.g. AV ownership likely to reduce total number of autos owned), as well as income, household size, and other variables on AV ownership. The tour and trip mode choice models will be updated to reflect AV assumptions such as:
- Travelers in households with AV ownership will see reduced in-vehicle time as a result of increased comfort and safety of AVs.
- Travelers in households with AV ownership can see lower or free parking costs as they have the option of parking their car in remote lots or sending their vehicle back home.
- Travelers in households with AV ownership may be more likely to use their car for drive access to transit as they are able to send their car back home for parking.
- Similarly, the TNC mode may be cheaper due to the elimination of labor as an input to the cost of TNC use. This would affect all travelers, not just those with AV ownership at a household level.
- Travelers in households with AV ownership will have less stringent or no age restrictions for single-occupant vehicle use.
- Travelers in households with AV ownership but fewer vehicles than licensed drivers would be less likely to choose shared-ride modes since the same vehicle could be used for multiple SOV trips more efficiently.
- All model expressions reflecting AV ownership assumptions will be implemented with a generic set of parameters (AV ownership constants, in-vehicle time modifiers, mode-specific constants, etc.) that can be easily modified in central model settings yaml files.
The model coefficients will be borrowed from previous development efforts and results of the updated full scale example model will be verified for reasonableness. (What level of effort is expected for verifying the results of this new feature? We'll need to generate some validation data as well since these features are not in the previous TM1 target data). The updated example model will be tested and documented.
Deliverable(s): (Due XXX from NTP)
- Final Design Wiki Specification
- Integration of Support for AVs and TNCs
- Full Scale Example Test Setup
- Verification of Results
- Updated Documentation and Tests
Comments
- xxxx
The purpose of this task is to make it easier and less error prone to setup a new regional model implementation or scenario. The following set of features will be added to ActivitySim. The list of improvements, as well as the specifics of each feature will be finalized in cooperation with the PMC. The final set of features implemented will not exceed task budget.
- The script to convert the input CSV tables to an HDF5 file of tables will be formally integrated into the system so the user can simply specify the CSV tables in the initialize step settings files
- When reading in inputs, the software will perform validation checks such as:
- Each person belongs to a household, each household belongs to a microzone or zone, and each microzone belongs to a zone if applicable
- Each expression file is well formed and there are no formatting or syntax errors
- Each yaml file is well formed and there are no formatting or syntax errors
- Each skim referenced in the expressions are in the input skim files
Deliverable(s): (Due XXX from NTP)
- Final Design Wiki Specification
- Input Validation Checking
- Full Scale Example Test Setup
- Updated Documentation and Tests
Comments
- xxxx
The purpose of this task is to make it easier and less error prone to summarize model results. The following set of features will be added to ActivitySim. The list of improvements, as well as the specifics of each feature will be finalized in cooperation with the PMC. The final set of features implemented will not exceed task budget.
- Table indexes will be added as columns to the output CSV files to make it easier to join the tables later
- Key additional fields will be added to the output tables such as:
- A sequential trip id in time and space by person in order to sort trips in chronological order. This is important for passing the trips to a dynamic traffic assignment model.
- Key travel data such as time, distance, and cost will be added to the tour and trip output tables via annotation expressions
- A new "reports" module will be added that takes as input a settings yaml file and expression file(s) and processes the outputs to produce tabular summaries, charts, and maps of results in an agreed upon format. The suggested output format is a Jupyter notebook, which is a very popular Python reporting framework, is similar to the popular R equivalent, R Markdown, and is included with Anaconda Python and therefore is included with ActivitySim.
Deliverable(s): (Due XXX from NTP)
- Final Design Wiki Specification
- Output Summarization Functionality
- Full Scale Example Test Setup
- Updated Documentation and Tests
Comments
- xxxx
The purpose of this task is to formally integrate PopulationSim into the consortium in order to maintain the tool. This means moving the repository from github.com/RSGInc/populationsim to github.com/activitysim/populationsim, updating the PopulationSim user guide, updating activitysim.org, and updating the overall project issues and wiki. The final plan for migration of PopulationSim will be decided in cooperation with the PMC before execution.
Deliverable(s): (Due XXX weeks from NTP)
- Final Migration Plan Wiki Specification
- Updated Project Resources
Comments
- xxxx
The purpose of this task is to add a tutorial on setting up, running, and analyzing the results of ActivitySim modeling scenarios. The tutorial will include example data for the user to use. The draft tutorial outline is below, and will be finalized with the PMC before being implemented.
- What is activity-based modeling and why do we do it?
- What are the core components of an activity-based model?
- Setting up and running a base model
- Setting up and running an alternative scenario
- Comparing results
- Next steps and further reading
Deliverable(s): (Due XXX weeks from NTP)
- Final Tutorial Outline Wiki Specification
- Tutorial Added to the User Guide
- Tutorial Example Test Setup
- Updated Documentation and Tests
Comments
- xxxx
Quick activity-based model runtimes are critical for model relevance in the transportation planning process. The purpose of this task is to tune runtime performance by investigating and implementing strategies to improve performance. The task includes three steps:
- Profiling of the single and multi-threaded implementation to identify potential issues and areas of improvement
- Improvements to the existing code, such as possibly replacing costly string operations with faster categorical data operations
- Machine tuning optimizations research such as the setting used with the Intel MKL, which is used by the Anaconda pandas and numpy distribution Runtimes are expected to be reduced as a result of this task, although by how much we do know until we do the work.
Deliverable(s): (Due XXX weeks from NTP)
- Final Plan Wiki Specification
- Improved Source Code
- Full Scale Example Test Setup
- Updated Documentation and Tests
Comments
- xxxx
| Region | TAZs (1) | TAZs + MAZs/parcels (2) | TAZs + MAZs/parcels + transit stops (3) | Notes |
|---|---|---|---|---|
| PSRC | X | Transit IVT, etc from TAZ-to-TAZ skims. Transit access/egress times looked up by sub-mode in the buffered MAZ/parcel file and represent time to nearest stop. | ||
| SFCTA | X | Transit IVT, etc from TAZ-to-TAZ skims. Transit access/egress times looked up by sub-mode in the buffered MAZ/parcel file and represent time to nearest stop. | ||
| MTC TM1 | X | |||
| MTC TM2 | X | Does transit virtual path building during a model run to build MAZ to MAZ impedance through the best transit access and egress stops | ||
| SANDAG | X | Does transit virtual path building during a model run to build MAZ to MAZ impedance through the best transit access and egress stops | ||
| SEMCOG | Trip-based model uses TAZs | |||
| ARC | X | |||
| ODOT | X | Does transit virtual path building during a model run to build MAZ to MAZ impedance through the best transit access and egress stops | ||
| MetCouncil | X |