Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] Special case - Not use a fixed scalar to generate IDs for managed lane links and nodes #339

Open
i-am-sijia opened this issue Apr 9, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@i-am-sijia
Copy link
Member

User Story

Met Council reported an issue with managed lane facilities in the resulting Cube network. The Cube network requires node IDs to be under 1M. However, some of the managed lane node IDs are greater than 1M.

Workflow to generate this issue:

  1. Apply Add New Roadway project card, that adds new nodes and links for the general purpose segment. The node IDs user coded for the new nodes can be greater than 500,000. See example here.
  2. Apply Parallel Managed Lane project card, for the new gp segment in bullet 1.
  3. When creating the physical managed facilities in the model network, Network Wrangler assigns managed node id = gp node id + 500,000 (scalar), and managed link id = gp link id + 1,000,000 (scalar).
  4. Therefore, managed node id can be greater than 1M, it crashes when loaded into Cube.

Thoughts:

  1. Rachel manually changed the problematic managed lane node IDs in Cube, but we need a software / stable solution
  2. The node scalar value should not be smaller than the max node ID in the base network, to avoid possibly generating a managed node ID that overlaps with existing base network. The max node ID in the base network is 417,325, which is why we set the scalar to be 500,000.
  3. It's good to assign managed node and link IDs based on general purpose IDs + scalar, so that the ML IDs are stable and easily identified with their GP.

Priority

High

Level of Effort

Low

Resolution Ideas

Short-term Solution:

Reserve the 950,000 - 1M node ranges for ML nodes. Instead of ML node = GP node + 500,000, we will just assign them the next available nodes in the 950,000 range. We need to update the project card registry setting and Network Wrangler.

Long-term Solution Considerations:

Having ML node = GP node + 500,000 is ideal because it keeps the ML node stable. Keeping ML node stable is ideal if we want to move buses from GP to ML.

Project

Is there a funder or project associated with this feature?
Met Council Network Wrangler

Who should be involved?

Implementer: @yueshuaing
Commenters: @e-lo @DavidOry @i-am-sijia
Users: @RachelWikenMC
Reviewers: @i-am-sijia

Risk

Will this potentially break anything?
No, at least for Met Council.

Tests

What are relevant tests or what tests need to be created in order to determine that this issue is complete?

@i-am-sijia
Copy link
Member Author

One complication showed up. From Rachel:

Bad news – the managed lane change solved one problem but created another huge one

Our highway assignment requires mnpass_pay links, which are calculated in our notebooks based off the code that Dave wrote. However this code is dependent on the 500,000 difference between managed lane and GP

I just fixed a bunch of issues via project card and need to rerun scenarios ASAP.

My best guess at fixing this would be to roll back lasso and NW to version before we pushed changes for the ML node numbers, and then manually correct those nodes over 1million by hand.

Can you confirm which version of network wrangler and lasso I should use? I don’t see a fast way to fix this code to work …. We need to keep working on this issue I guess

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

No branches or pull requests

1 participant