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: Replicate Capabilities of TM1.5's RuntimeConfiguration.py #178

Open
8 tasks
i-am-sijia opened this issue Dec 28, 2024 · 0 comments
Open
8 tasks

Comments

@i-am-sijia
Copy link
Collaborator

i-am-sijia commented Dec 28, 2024

User Story

TM1.5 has a RuntimeConfiguration.py that "makes some runtime configuration changes". It is called in the RunModel.bat in the beginning of a model run.

One example capabilities of RuntimeConfiguration.py is to automatically update the IP address of the matrix and household servers in various CT-RAMP properties, such as TM1.5's mtcTourBased.properties, so that users will not need to manually open those files and update IP addresses when running on a new machine.

TM2.1 does not have RuntimeConfiguration.py nor its capabilities. For example, the IP addresses of the matrix and household servers are hardcoded in TM2's mtctm2.properties.

The question now is what needs to be done for tm2py? In other word, out of the capabilities of TM1.5's RuntimeConfigurations, what are the ones already implemented in tm2py (and how?), what are the ones need to be replicated? And for the latter, what's the best place to replicate them, e.g., tm2py.setupmodel? tm2py model config toml?

Below is a summary table of these capabilities

Capability TM1.5 Tm2py Comments Resolution
1 - Project Directory Assumed to be the current working directory; Propagated to CT-RAMP properties Assumed to be the current working directory The tm2py way works.
2 - Synthesized households and persons files Assumed to be INPUT\popsyn\hhFile.* and INPUT\popsyn\personFile.*; Propagated to CTRAMP mtcTourBased.properties Hardcoded as input\popsyn\households.csv and persons.csv in mtctm2.properties The tm2py way works as long as the input file names don't change.
3 - Auto Operating Costs Specify the values in INPUT\params.properties; Propagated to hwy scripts and CT-RAMP properties and UECs Specified directly in CT-RAMP properties; Specified directly in tm2py model config toml The tm2py way works for now since the AOC values are coded consistently in CT-RAMP and tm2py toml, however, it runs the risks of inconsistence once one is changed. The TM1.5 way makes sure they are the same.
4.1 - Truck Operating Costs Specify the values in INPUT\params.properties; Propagated to hwy scripts Specified directly in tm2py model config toml The tm2py way works.
4.2 - Truck Trip Distribution gravity LOS term part from tolled time Specify the values in INPUT\params.properties; Propagated to hwy scripts Specified directly in tm2py model config toml The tm2py way works.
5 - Telecommute Constant Propagated to CDAP UEC In the Sprint 3 development, we added a new Explicit Telecommute model of which users can modify the constant to tweak telecommute rate. But users need to mannually open the UEC and change it. Methodlogies are different, but tm2py could use the addition of an exposed telecommute constant for the Explicit Telecommute model for easier access to users?
6 - Means Based Tolling (Q1 and Q2) factors Propagated to hwy scripts and CT-RAMP properties NA Unclear if applicable, need furthur investigation.
7 - Means Based Fare (Q1 and Q2) factors Propagated to trn scripts and CT-RAMP properties NA Unclear if applicable, need furthur investigation.
8 - HSR Interregional trips disable flag Propagated to hwy scripts NA Unclear if applicable, need furthur investigation.
9 - Host IP of HH, matrix, and JPPF servers Propagated the host IP address or the local IP address to various properties NA Needs to be transferred to tm2py. The best place is setupmodel?
10 - Distribution Based on hostname. Set for CT-RAMP and CUBE clusters In model config toml, set to Max-1 for EMME multiprocessing. Not set for CT-RAMP. Still need this for CT-RAMP?

Progress:

  • Sufficiently defined
  • Approach determined
  • Tests developed
  • User story satisfied
  • Doc strings
  • General documentation
  • Passing tests

Priority

Low - Med

Level of Effort

Resolution Ideas

Project

Who should be involved?

Users: @gregerhardt @lmz @FlaviaTsang
Reviewers: @DavidOry @AshishKuls

Risk

Tests

  • Test for...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant