BayAreaMetro / tm2py

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

🚀 Feature: Replicate Capabilities of TM1's `SetUpModel.bat` #150

Open DavidOry opened 3 weeks ago

DavidOry commented 3 weeks ago

User Story

As a member of the MTC modeling team, I would like to document the configuration of the modeling system, key inputs, parameters, and other important information when beginning a planning study. MTC currently accomplishes this work with a MS-DOS batch file. See this example used for Plan Bay Area 2050. With the shift to tm2py, the capabilities of the SetUpModel batch file need to be replicated via tm2py methods.

Progress:

Priority

Medium

Level of Effort

Low

Resolution Ideas

Three possible ideas:

  1. Create a third configuration file, say project_config.toml, and use it to specify the necessary references needed by the model set up procedure. These could include the relevant versions of tm2py and travel-model-two, the location of the relevant project cards and perhaps tags to grab them, any computer-specific settings to configure the resident passenger Java code, etc. In parameter specific to a scenario can be added to the existing scenario_config.toml. We'll therefore have configuration files specific to the model, the scenario, and the project (defined as a collection of scenarios).
  2. Create a series of Python methods that can be called via a notebook prior to running the model. Each of these methods can accomplish a discrete task, such as copying over the travel-model-two JAR file to the working directory. This option is more attractive if the number of configuration parameters that would be stored in project_config.toml is relatively small. This strategy may also allow MTC to scale the scope of the file as needed when project demands become bespoke.
  3. Modify the existing SetUpModel.bat file to accommodate TM2. While unattractive in that it relies on MS-DOS batch files rather than Python, it is the lowest cost and simplest solution, in that the relevant features of the existing workflow can be brought over to the new workflow.

Project

WSP Task Order Five.

Who should be involved?

Users: Reviewers:

Risk

The risk here is low as this procedures will not impact any other parts of tm2py. They are only intended to create a logged environment for the model to run on MTC's computers.

Tests

The relevant tests are to launch a series of model runs on MTC's hardware using the procedures to ensure the configuration is working as expected and the logging captures the relevant information.

DavidOry commented 3 weeks ago

@lmz, @gregerhardt, @FlaviaTsang, @e-lo Thoughts on the three possible solution pathways?