ActivitySim / activitysim

An Open Platform for Activity-Based Travel Modeling
https://activitysim.github.io
BSD 3-Clause "New" or "Revised" License
189 stars 96 forks source link

Sharrow debug in simulate.py not working #874

Open i-am-sijia opened 4 weeks ago

i-am-sijia commented 4 weeks ago

Describe the bug This came up when I ran ABM3 100% sample with sharrow set to test. See issue https://github.com/ActivitySim/sandag-abm3-example/issues/18. I found a work around to debug but it would be better if we can fix sharrow...

In sharrow test mode, when the utility returned by sharrow does not match the non-sharrow utility, sharrow attempts to retrieve data and print out possible problematic expressions to help debugging. See code here: https://github.com/ActivitySim/activitysim/blob/29d12bcc054d9206b01318b352d1c33f12c7dca0/activitysim/core/simulate.py#L800-L809 However, currently the run will get stuck (no crash no response) in line 807 _sh_flow_load = sh_flow.load(sh_tree). Not sure if this is broken due to some recent changes.

Also, for many example models, the sharrow test mode has only been run with small samples, and issues like this seem to get discovered especially when we run large samples (100% HH). This means when agencies adopt sharrow, we should probably recommend running test mode with a large (enough) sample.

To Reproduce Steps to reproduce the behavior:

Expected behavior It would be nice to have line 807 working and return the problematic expressions.

i-am-sijia commented 4 weeks ago

Update: I ran the small ABM3 test example with sharrow on, the model got stuck (no crash, no response, no termination) in the same location. I believe this is why our GitHub Actions test has been failing with error code 143: https://github.com/ActivitySim/activitysim/actions/runs/9209634995/job/25335037344