Project Meeting 2023.06.08 - ActivitySim/activitysim GitHub Wiki

Agenda

  • Admin
    • Partner agreements
    • Bench contracts
  • Conferences
    • Innovations in Travel Analysis and Planning debrief
    • Discuss topics for TRB Annual Meeting
    • Discuss any upcoming conferences / opportunities to present ActivitySim work
  • Update on decided approach for Input Checker (RSG)

Action Items

  • Consortium members to check in with their finance folks to make sure they have received the invoice.
  • Michelle to organize volunteers for ActivitySim TRB paper and workshop proposal.
  • RSG discuss technical pros/cons for pandera vs pydantic for Input Checker in a small technical working group.

Meeting Notes

Admin

Partner agreements

  • ACTION ITEM: Consortium members - please check in with finance folks to make sure you have received the invoice, so it doesn’t fall through the cracks.

Bench contracts

  • Duration is through June 30, 2023. AMPO to extend period of performance, 3 or 6 months or the end of this calendar year; it is undecided at this point.
  • There will be new contract language, which will be largely the same with a few differences, such as:
    • Asking how people reference ActivitySim, with regard to the trademark.
    • Standard boiler plate language around rate escalation.
  • There will not be re-compete on the bench. The consortium is pleased with the quality of work and level of collaboration among the existing bench contractors and want to extend this arrangement. Not adding any new vendors. The contract is expected to go out another three years, with options to extend it as needed.

Conferences

  • Innovations in Travel Analysis and Planning debrief
    • Translink in Vancouver seems to be going forward with an ActivitySim model but are not part of the consortium. We could invite him to attend meetings, if they wanted to see what goes on during the meetings?
    • Who are the people we know that are implementing ActivitySim, outside of the consortium?
      • Southeast Region (SERPM), Treasure Coast Region (TCRPM)
      • Australia ones: Main Roads Western Australia (Perth), Victoria Department of Transport & Planning (Melbourne), Transport for New South Wales (Sydney).
        • Time of meetings for Australian partners seems like it would be a challenge.
        • Currency contribution for international partners could be an issue, due to fluctuations.
        • AMPO talked to Australia. They could lock into an exchange rate for multi-year contracts. Several major cities in Australia are interested in joining. They could meet together and send one representative to the consortium meetings.
  • Discuss topics for TRB Annual Meeting
    • Topic Idea: where we are, as a project
      • Update on overall state of the project: before, information about ActivitySim was that it as a good idea. Now, we have it implemented and can demonstrate it. ACTION ITEM: Someone to put together an outline and ask for volunteers?!
  • Workshop Idea: Have a workshop with academics
    • Provide a 101 on activitysim
    • Collaboration opportunities
    • Anticipate future activities
    • ACTION ITEM: Michelle to take lead. Talk to Elizabeth regarding workshops and talk to Tierra about engaging with academics.
    • Workshop request form – due June 15
  • RSG could submit on the simulated shadow pricing
  • ACTION ITEM: Keep this topic live and add to Thursday agenda every week through June

Update on decided approach for Input Checker (RSG)

  • Currently in the prototype stage / proof of concept for the pydantic approach
  • Added step to settings.yaml to run input checker at the beginning
  • Adds to the data model template that Dave Ory created and lives alongside the configs
  • Enums.py – includes different variables floating around activitysim, building out different categories and the package
  • Input.py – is the meat of the input checker. Currently looking to use pandera, built on top of python and pydantic. After some investigation, seems like a good way to do this.
  • How it works:
    • Import panderas into the project
    • Define a class for each of the input tables
    • Specify all the columns
    • For each one, define what it is supposed to be. For example, each household id should be unique and greater than zero.
  • You can create warnings and checks.
  • Pandera can perform the checks and output error messages.
  • Relationships are better understood in pydantic. Question about whether Pandera’s performance efficiencies are worth it, compared to Pydantic. However, you can build in the relationships, explicitly, with Pandera.
  • Suggestion to discuss technical pros/cons etc in a small technical working group.