-
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 includes the following tasks.
Coordination
New Features
- Task 3: Support for Two Zone Systems
- Task 4: Support for Modeling TNCs
- Task 5: Support for Modeling CAVs
- Task 6: Integration of PopulationSim
Usability
- Task 7: Input Preparation Tools and Validation Checking
- Task 8: Output Summarization
- Task 9: User Tutorial
- Task 10: Performance Tuning
- Task 11: Sensitivity Testing Assistance
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
- Generally looks good
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. In addition, since ActivitySim is to be a standardized model with options, we will develop a plan to share / maintain expression files across regions, with an eye toward potential software enhancements under a later phase of work. The budget for contribution review and support cannot exceed the task budget.
Deliverable(s): (Due XXX weeks from NTP)
- A Plan to Share / Maintain Expression Files Across Regions
- Contribution Review and Support
- Management of Repository Resources
Comments
- Generally looks good
The purpose of this task is to integrate 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 or bike - 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. The updated example model will be tested and documented.
Deliverable(s): (Due XXX from NTP)
- Final Task Plan in the Wiki
- Integration of Support for both One and Two Zone System Models
- Additional Full Scale Example Test Setup
- Verification of Results
- Updated Documentation and Tests
Comments
- Generally looks good
- How do we validate this new feature? What does the example look like moving forward?
The purpose of this task is to add support for modeling Transportation Networking Companies (TNCs) vehicle availability. To begin this task, we will share methods implemented in DaySim and MTC as a starting point for the ActivitySim design. In brief, key ideas implemented include:
- Add a TNC nest to tour and trip mode choice, including drive access TNC to transit
- Specify wait time as a function of land-use density
- Assert reasonable TNC mode in-vehicle time, cost, etc. coefficients
- Revise relationship to household auto ownership
- Calibrate/validate the mode share to available data
The final design will be agreed upon with the project team. The full scale example model will be updated and verified for reasonableness using target data provided by the consortium. The tests and documentation will be updated as well.
Deliverable(s): (Due XXX from NTP)
- Final Task Plan in the Wiki
- Integration of Support for TNCs
- Full Scale Example Test Setup
- Verification of Results
- Updated Documentation and Tests
Comments
- How do we validate this new feature?
The purpose of this task is to add support for modeling Connected and Autonomous Vehicles (CAVs). To begin this task, we will share methods implemented in DaySim and MTC as a starting point for the ActivitySim design. In brief, key ideas implemented include:
- Update auto ownership with an upper level choice between AV\non-AV
- Assert reasonable AV mode in-vehicle time, cost, etc. coefficients such as less onerous IVT coefficients and no parking costs
- Test the model for reasonableness
The final design will be agreed upon with the project team. The full scale example model will be updated and tested for reasonableness under a few simple scenario tests. The tests and documentation will be updated as well.
Deliverable(s): (Due XXX from NTP)
- Final Task Plan in the Wiki
- Integration of Support for CAVs
- Full Scale Example Test Setup
- Testing of Results
- Updated Documentation and Tests
Comments
- How do we validate this new feature?
The purpose of this task is to formally integrate PopulationSim into the consortium in order to maintain the tool moving forward. Formal integration means transferring the repository to ActivitySim's GitHub account, updating the PopulationSim user guide, updating activitysim.org, and updating any other resources such as the project wiki. PopulationSim will remain a separate repository that depends on the activitysim package. The existing ActivitySim repository, which currently contains submodules for core and abm, will remain intact. At a later point in time, it may make sense to split the core and abm into their own packages, still under the ActivitySim GitHub organization account, but this is not required for contribution of PopulationSim to the consortium. The final plan for migration of PopulationSim will be decided in cooperation with the PMC.
Deliverable(s): (Due XXX weeks from NTP)
- Final Migration Plan in the Wiki
- Updated Project Resources
Comments
- xxx
The purpose of this task is to make it easier and less error prone to setup a new regional model implementation or scenario. To begin the task, the project team will draft a list of features that may be added to ActivitySim. Some initial ideas for improving input preparation and validation checking include:
- Script input preparation tools to assist with data development
- A Census LEHD employment data to example model employment types by zone processor
- Better integrate PSRC's Census Getter to process ACS data using expression files or develop similar types of input preparation tools
- Formally integrate the script to convert the input CSV tables to an HDF5 file so the user can simply specify the CSV tables in the initialize step
- 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
- Check that every zone pair has a valid distance skim value
The list of features will be finalized in cooperation with the PMC. The final set of features implemented will not exceed task budget.
Deliverable(s): (Due XXX from NTP)
- Final Task Plan in the Wiki
- Input Validation Checking
- Full Scale Example Test Setup
- Updated Documentation and Tests
Comments
- xxx
The purpose of this task is to make it easier and less error prone to summarize model results. To begin the task, the project team will draft a list of features that may be added to ActivitySim. Some initial ideas for improving output summarization include:
- 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 reporting/visualization module will be added that produces tabular summaries, charts, and maps of results in an agreed upon format.
The list of features will be finalized in cooperation with the PMC. The final set of features implemented will not exceed task budget. Options for implementation technology will be discussed with the project team and finalized before implementation. It is anticipated that project team members will share some ideas and tools to help the team formulate an approach.
Deliverable(s): (Due XXX from NTP)
- Final Task Plan in the Wiki
- Output Summarization Functionality
- Full Scale Example Test Setup
- Updated Documentation and Tests
Comments
- xxx
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 in the Wiki
- Tutorial Added to the User Guide
- Tutorial Example Test Setup
- Updated Documentation and Tests
Comments
- Generally looks good
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 and to better document memory footprint needs and hardware requirements under typical use. The task includes four 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
- Documentation updates
The expected improvements in runtime are unknown at this time and will be better understood after completing the profiling exercise and experimenting with some ideas for improvements.
Deliverable(s): (Due XXX weeks from NTP)
- Final Task Plan in the Wiki
- Improved Source Code
- Full Scale Example Test Setup
- Updated Documentation and Tests
Comments
- Generally looks good
The purpose of this task is to assist consortium team members with sensitivity testing the example models in order to identify and revise any unexpected behaviors. The level of support will not exceed task budget.
Deliverable(s): (Due XXX weeks from NTP)
- Assistance with Sensitivity Testing
- Assistance with Revisions to Expression Files
- Updates to the Expected Test Results If Needed
Comments
- xxx
| 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 |