Skip to content

2026-10-15 Engineering Team #149

Open

Description

@joecastiglione

Agenda

Phase 11 closeout and 12 look-ahead

  • Release planned for end of Phase 11. For PRs below: What's in scope?
  • Any updates from agency planning meeting with relevance for engineering team?

ActivitySim

New issues

Open PRs

PopulationSim

Activity

  1. janzill commented on Oct 15, 2026

    @janzill

    ActivitySim Engineering Team Meeting Notes — October 15, 2026

    Meeting Overview

    Participants

    Duration

    66 minutes

    Executive Summary

    The team reviewed changes proposed for the final Phase 11 ActivitySim and PopulationSim releases, but did not set a release date. A proposed summarize change reduced a Boston model's memory peak in that step by about 50 GB; failed location sampling, calibration, explicit telecommute, Python support, and PopulationSim release work still needed review. Larger skim-compression and shadow-pricing changes were left for Phase 12 discussion.

    The faster random-number-generator pull request remained unsettled. Jan identified possible gains in workloads with many draws and a future counter-based option for consistent Poisson sampling in two-zone models that use pre-sampling. Jan and Joe C. wanted clearer benchmarks; David favored an EET test without Poisson sampling, while Amir questioned that workload's practical value. No merge threshold was agreed.

    Meeting Notes

    Phase 11 Release Planning

    • Jan proposed reviewing the open pull requests against the planned end-of-Phase-11 release for both ActivitySim and PopulationSim. The group did not set a release date. Joe C. reported that the agency planning discussion favored tying proposed work to specific agency needs and coordinating test data, documentation, and release planning. No immediate engineering task followed from that report.

    Resuming Runs and summarize Memory

    • ActivitySim #999 reports that write_data_dictionary can fail when a multiprocessing run resumes. Omitting that step is a workaround. Sijia agreed to examine whether the failure has a quick fix.
    • #1125 Summarize memory reduction addresses #1124 by dropping unused columns before joining wide tables. Sijia said it lowered the Boston model's peak by roughly 50 GB from above 160 GB, although memory use remained above 100 GB. Jan offered to review it for Phase 11. Loading merged tables on demand or chunking might help further, but whole-population summaries require correct denominators.

    Failed Location Sampling and Shadow Pricing

    • #1130 Failed-choice fix addresses #1129: with Sharrow, explicit error terms, Poisson sampling, and skip_failed_choices=True, some workplace-location records receive no sampled destination and cause a crash despite being reported as skipped. Turning off skip_failed_choices is a workaround. Jan requested review of the fix.
    • Jan said the existing choice to avoid shifting all very negative utilities was intended to expose possible model-specification problems. Amir said very negative workplace utilities can instead arise from shadow pricing when nearby destinations lack capacity. Jan acknowledged that distinction; the broader shadow-pricing behavior remained open for Phase 12 consideration.

    Skim Compression and Independent Shadow Pricing

    • #1131 proposes compression across skim tables. Sijia said exact-value compression across tables might save memory without rounding values. Amir said Sydney had avoided lossy compaction because small road or transit changes could otherwise disappear from model responses. Joe C. supported examining memory benefits against model sensitivity in Phase 12; the group made no implementation decision. Jan asked Amir to add the Sydney concern to the issue.
    • #1132 requests independent controls for school and workplace shadow pricing. Stefan said the option could be useful. The team decided to leave it for Phase 12 because there is no immediate urgency and Phase 11 is coming to a close.

    ActivitySim Pull Requests

    • #1083 Shadow-pricing segmentation: Sijia agreed to inspect review suggestions, including a backward-compatibility concern.
    • #1086 Application and Analysis Guide: Joe C. said he would seek sign-off from active reviewers that week to finish the guide for the release.
    • #1103 Faster random numbers: Single-run benchmarks left performance at model scale unclear. Jan noted that NumPy's legacy RandomState, used by ActivitySim, had been superseded by Generator but remained supported. Jan also said a future counter-based RNG could generate reproducible draws keyed to sparse zone IDs, enabling work on consistent Poisson sampling in two-zone models that use pre-sampling. David said EET without Poisson sampling was a likely speed-benefit case; Amir questioned its practical use given the runtime. David favored another EET test, but no merge threshold was agreed.
    • #1107 Calibration remained a draft but was still a Phase 11 goal. David planned final checks with Sijia and Jeff before requesting review; Jan agreed to review the code independently.
    • #1110 Peak-memory reduction still had review concerns. Jan proposed further production-scale and Windows testing before deciding whether it was ready for Phase 11.
    • #1123 Park-and-ride zero probabilities had passed the reported agency test. Jan offered to review it.
    • #1126 Explicit telecommute needed an engineering review. Jan offered to review the code, and Sijia agreed to publish the estimation notebooks. A separate SANDAG ABM3 configuration pull request accompanied #1126. The team did not confirm an agency reviewer for the telecommute work.
    • #1127 Python support proposed CI coverage for Python 3.11–3.13 and deprecating 3.10. David offered to review it. Jan favored proceeding without waiting for Python 3.14, which still depended on Sharrow and Larch compatibility work; he said he would open the Larch change for review.

    PopulationSim Release Work

    • #225 Intermediate geographies was ready for review. Joe F. agreed to review it.
    • #226 Workflow modernization would restore automatic documentation publishing and update older release infrastructure. Jan said the published documentation was still at version 0.5 and planned to finish the draft change for review. Joe C. supported the work.

    Action Items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    meetingMeeting notes.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions