Project Meeting 2021.05.11 - ActivitySim/activitysim GitHub Wiki

Technical Call

  • Issues / PR review
    • We'll fix #421 in the next release, it's a small fix
    • #420 is a good idea to add to the development roadmap
    • I think #372 closed since no longer needed
  • Updated the telecommute memo
    • Updated design to allow for work from home either before or after usual work location
    • Currently after so can use the destination choice mode choice logsum like SANDAG
    • Could put work from home inside usual work location like SANDAG, but not very modular/extensible
    • Longer term, we should make improvements to how accessibilities are calculated and managed (i.e. the disaggregate accessibilities idea) so the plumbing is more flexible
    • Let's not make decisions because of convenience, either in the software or the model design
    • Partners review memo and add comments, especially use cases, like we did for transit pass ownership
    • I planned to add a switch to the work from home so it's easy to place before or after work location - same code, separate configs
    • Default, and SEMCOG, example is after so uses work location mode choice logsum and can use the same model parameters as SANDAG
    • I'll add some more about the accessibilities plumbing needs and improvements to the memo since it's part of the discussion
  • Chunking improvement progress and results
    • We should rename the chunksize setting to something like target_ram_utilization
    • Single and mulitprocess versions working well
    • Running SANDAG full scale example now, but ran into stupid little bug near the end of the model run
    • Runtimes will be a little better, like 3 to 5% probably
    • Multiprocess subprocesses now log their own memory utilization; otherwise need admin to look across processes
    • Three modes
      • training - figures out best chunking settings and saves settings for reuse; doubles runtimes
      • production - loads settings and uses for production runs
      • additive - reads saved settings and does more training (but not sure if we'll keep this mode)
    • This feature helps figure out the chunksize setting and how best to set it for environments with constrained RAM
    • Improving memory headroom for processing choosers would help even more
      • So converting from strings to factors would help with runtime
    • Jeff wrap up this week and I'll test and integrate into the documentation