Conversation
…nce the values there get filled out in scen generation process.
…ants in constants.yaml
…rk with pandas 2.0+ and also calibrate by transit market.
There was a problem hiding this comment.
Pull request overview
This PR implements a recalibration of the ABM3 mode choice model using 2023 OBTS (On-Board Transit Survey) data. The calibration updates mode choice coefficients across resident, visitor, crossborder, and airport models to align model boardings with observed 2023 transit ridership patterns.
Changes:
- Updated transit mode choice calibration coefficients across all model segments
- Refined bike logsums and transfer penalty coefficients
- Disaggregated transit modes from aggregated (WALK_TRANSIT, PNR_TRANSIT, etc.) to service-specific modes (WALK_LOC, WALK_PRM, WALK_MIX, etc.)
- Updated calibration utilities to support disaggregated transit modes
Reviewed changes
Copilot reviewed 24 out of 28 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| abm3_settings.yaml | Updated IVT multipliers and ASC values for transit modes |
| visitor trip/tour mode choice files | Added transit calibration coefficients by purpose |
| resident trip/tour mode choice files | Transitioned from aggregated to disaggregated transit mode coefficients |
| crossborder trip mode choice files | Added purpose-specific transit calibration coefficients |
| airport trip mode choice files | Added access-mode-specific transit calibration coefficients |
| calibration utility scripts | Updated mode mappings and scaling logic to handle disaggregated transit modes |
| calibration settings files | Adjusted sample sizes and process counts for calibration runs |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ready: 0.322 | ||
| no_pass: 0.459 | ||
| num_tours: 120700 | ||
| no_pass: 0.45899999999999996 |
There was a problem hiding this comment.
The no_pass share value contains floating point precision artifacts. Round this to a cleaner value like 0.459 to match the precision of other share values in the file.
| no_pass: 0.45899999999999996 | |
| no_pass: 0.459 |
| else: # only enters if above for loop breaks | ||
| tour_mc_calib_target_tables.append(df_ct) | ||
|
|
||
| print(tour_mc_calib_target_tables) |
There was a problem hiding this comment.
This debug print statement should be removed or converted to proper logging for production code.
Proposed changes
Updated mode choice configs as a result of calibration using 2023 OBTS data
Impact
Model boardings are now in line with 2023 OBTS data.
Types of changes
What types of changes does your code introduce to ABM?
Put an
xin the boxes that applyHow has this been tested?
Please describe the tests that you ran to verify your changes.
Checklist:
Further comments
This new code will be dependent on the new bike model branch, since the updated configs use the latest logsums out of the new bike model.