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