-
Notifications
You must be signed in to change notification settings - Fork 100
Phase 7a Scope of Work
- Task 1: Project Management
- Task 2: Performance Enhancement Part 1
- Task 3: Performance Enhancement Part 2
- School Escorting
- Disaggregate Accessibility
- ...
Consultant will provide management support for the overall project, including conference call management with the project team, coordination with the ActivitySim Project Management Committee (PMC). Consultant will provide maintenance and support services to ensure ActivitySim and PopulationSim are in good working order. Tasks include dealing with updates in dependent packages, maintaining the test system, examples, and documentation, assisting with pull requests, making improvements based on agency user feedback, supporting agency users with questions, and implementing agreed upon GitHub issues. Consultant will also provide code review, software development support, and support performance enhancement activities of project team members. All deliverables, including meeting notes, software, tests, documentation, and issue tracking will be managed through GitHub.
Deliverable(s):
- Co-management of ActivitySim Project Management Committee Weekly Meetings
- Pre-and Post-Meeting Notes
- Email and online support to contributor and agency user and pull requests
- Updated source code as necessary
- Updated examples as necessary
- Updated documentation as necessary
- Updated tests as necessary
- Updated issues as necessary
The goals of the Performance Enhancement Part 1 task are:
- To integrate revisions and extensions to the ActivitySim code base that reduce ActivitySim’s runtime and memory requirements while requiring minimal revisions to ActivitySim inputs;
- To demonstrate these runtime and memory requirement reductions using the ActivitySim examples present in the project examples repository as of the start date of this task order;
- To verify that the revised ActivitySim examples produce outputs consistent with those generated without the code revisions and extensions.
The Consultant will revise the ActivitySim code base to leverage the new sharrow library developed by the Consultant, as well as the open source Xarray package. The Consultant will release the sharrow library under the same permissive BSD 3-Clause license as ActivitySim itself, with copyright assigned to AMPO Research Foundation, and will open a pull request to the ActivitySim repository with the code necessary to implement sharrow within ActivitySim. The consultant will ensure that only negligible changes to the interface or to user-facing data, configuration, and utility specification files that define current ActivitySim implementations are required in order to benefit from the Part 1 modifications. The consultant will ensure that all pull requests to ActivitySim include updated source code, documentation and tests.
For each of the ActivitySim example in the examples repository as of the start date of this task order, the Consultant will:
- Identify files that need to be modified to run with the Part 1 modifications;
- Implement any modifications to ensure that each example is stable and operational with the Part 1 modifications. If consultant discovers any particular ActivitySim example implementations with components that contain extensive incompatibilities, Consultant will ensure that these components still operate correctly, reverting to the existing ActivitySim methods and functionality as necessary. Consultant will work with the consortium and individual agencies to develop a plan for any additional effort to bring the full benefit of our enhancement package to every ActivitySim example implementation;
- Quantify and document the changes in runtimes and memory requirements resulting from the revisions and extensions to the ActivitySim codebase. To the extent possible, this quantification will leverage the airspeed velocity infrastructure and reporting implemented by the Consultant in an earlier task order. All ActvitySim examples will be tested with “chunking” disabled, and on the same server. AMPO and the ActivitySim partners will work with the Consultant to identify and secure use of sufficient computing hardware resources if the Consultant is unable to do so independently;
- Verify that the outputs of the ActivitySim example models run with Part 1 modifications results are consistent with outputs of the ActivitySim example models run without Part 1 modifications. Consistency will be demonstrated by repurposing the aggregate model summaries used in the original MTC ActivitySim verification process, as documented here. Note that 100% consistency in disaggregate model outputs is not expected nor a requirement.
The Consultant will provide email and online support to the ActivitySim partners and to the other ActivitySim bench consultants. The Consultant will also coordinate with the other ActivitySim bench consultants and partners to develop a schedule for sequencing and timing of other ActivitySim development and implementation efforts so as leverage this Performance Enhancement Part 1 task.
Deliverable(s):
- Publication of sharrow under the same BSD 3-Clause license as ActivitySim itself, with copyright assigned to AMPO Research Foundation.
- Pull requests to ActivitySim with updated source code, documentation and tests.
- Updated, operational ActivitySim examples
- Verification of updated ActivitySim examples.
- Email and online support for contributor and agency users.
The goal of the Performance Enhancement Part 2 task is to extend sharrow fully into Two-Zone and Three-Zone systems:
- For components of the ActivitySim codebase that support the “two-zone” and “three-zone” ActivitySim implementations, to extend the types of revisions and extensions to the ActivitySim code base that reduce ActivitySim's runtime and memory requirements while requiring only minimal revisions to ActivitySim inputs;
- To demonstrate these reductions in the ActivitySim two-zone and three-zone examples present in the project examples repository as of the start date of this task order;
- To verify that the revised ActivitySim two-zone and three-zone examples produce outputs consistent with those generated without the code revisions and extensions.
The ActivitySim code base will be revised to leverage the new sharrow library developed by the Consultant, as well as the open source Xarray package to effect runtime reductions and memory reductions in ActivitySim code that supports two-zone and three-zone ActivitySim implementations. The consultant will ensure that only negligible changes to the interface or to user-facing data, configuration, and utility specification files that define current ActivitySim implementations are required in order to benefit from the code updates. The consultant will ensure that all pull requests to ActivitySim include updated source code, documentation and tests.
For each of the two-zone and three-zone ActivitySim examples in the examples repository as of the start date of this task order, the Consultant will:
-
Identify files that need to be modified to run with the new two-zone and three-zone modifications;
-
Implement any modifications to ensure that each example is stable and operational with the new modifications. If consultant discovers any particular ActivitySim example implementations with components that contain extensive incompatibilities, Consultant will ensure that these components still operate correctly, reverting to the existing ActivitySim methods and functionality as necessary. Consultant will work with the consortium and individual agencies to develop a plan for any additional effort to bring the full benefit of our enhancement package to every two-zone and three-zone ActivitySim example implementation;
-
Quantify and document the changes in runtimes and memory requirements resulting from the revisions and extensions to the ActivitySim codebase. To the extent possible, this quantification will leverage the airspeed velocity infrastructure and reporting implemented by the Consultant in an earlier task order. All two-zone and three-zone ActivitySim examples will be tested with “chunking” disabled, and on the same server. AMPO and the ActivitySim partners will work with the Consultant to identify and secure use of sufficient computing hardware resources if the Consultant is unable to do so independently;
-
Verify that the outputs of the two-zone and three-zone ActivitySim example models run with modifications are consistent with outputs of the ActivitySim example models run without Part 1 modifications. Consistency will be demonstrated by repurposing and updating the aggregate model summaries used in the original MTC ActivitySim verification process, as documented here. Note that 100% consistency in disaggregate model outputs is not expected nor a requirement.
The Consultant will provide email and online support to the ActivitySim partners and to the other ActivitySim bench consultants. The Consultant will also coordinate with the other ActivitySim bench consultants and partners to develop a schedule for sequencing and timing of other ActivitySim development and implementation efforts so as leverage the benefits from task.
Deliverable(s):
- Pull requests to ActivitySim with updated source code, documentation and tests.
- Updated, operational two-zone and three-zone ActivitySim examples
- Verification of updated two-zone and three-zone ActivitySim examples.
- Email and online support for contributor and agency users.