BayAreaMetro / tm2py

Travel Model Two - python edition
https://bayareametro.github.io/tm2py/
Apache License 2.0
2 stars 8 forks source link

🐛 Bug: Dummy Park and Ride Bus Routes Distort First Wait Time Estimates #112

Open DavidOry opened 1 year ago

DavidOry commented 1 year ago

Describe the bug

To simulate parking capacity constraint at rail stations in TM2.2.1, dummy bus routes are used to move passengers from an access node to the rail station. One short-coming of this approach is that the first wait time for park and ride movements is recorded as the wait time on the dummy bus route, rather than the rail station. Because the wait time of the dummy bus route is intended to serve as a proxy for the time needed to search for a parking space, this time is generally much lower than the first wait time for riding the rail service. While the resulting paths are represented accurately, the first wait and transfer wait skims are not recorded accurately. Specifically, the first wait time is that of the dummy bus route, rather than the first rail service, and the wait time for the rail service is recorded in the transfer wait time skim. (The number of boardings is recorded directly, as boardings on the dummy bus route are removed from the boardings tally).

Progress:

To Reproduce

Examine a debug path trace for a trip that goes from an infrequent rail station, say Gilroy, to a destination on the rail line, say 4th and King. The resulting skim will show a very low first wait time and a reasonable transfer wait time, even though the path only records a single boarding.

Failing tests

Triggering line of code

N/A

Thoughts on resolution

If possible, the skims should record the first wait time, the second wait time, the third wait time, and all other wait time in separate skims. We can then replace the first wait time with the second wait time for outbound park and ride paths, and then calculate correct first wait time and transfer wait time skims for these paths.

Full stack trace

N/A

Environment

N/A

fyi @i-am-sijia, @yueshuaing, @AshishKuls, @arashasadabadi, @lmz

DavidOry commented 6 months ago

Addressed in https://github.com/BayAreaMetro/travel-model-two/pull/63/commits/f203ce856a1ba0a0a0b6adc2b37ad7d82bb5a8f1. For now, we decided to use half the transfer wait time as first wait in the small number of cases when transfers are present on park and ride paths. Additional QA/QC of the UEC changes will be added here. FYI @arashasadabadi