-
Notifications
You must be signed in to change notification settings - Fork 5
RunModel
The RunModel.bat DOS batch script orchestrates the ABM run. Before running any modeling procedures, software paths, and scenario properties are set for the model run. These settings are automatically determined and are logged to the console. This allows a model setup (i.e. scenario) to be easily copied from one scenario to another, and from one machine to another. The outputs folder and the subfolders are emptied to ensure model steps do not run with old input files. For each model step, the batch file either calls the main Python script (Master_Runner.py), Java process, or an R script. The Master_Runner.py script handles all VISUM-based calculations. The Master_Runner.py starts VISUM via the Python win32 COM server. The Master_Runner.py script has been designed to be called with a command line entry point token. For each entry point token, a specific VISUM-based modeling task is performed. For example, to create TAZ-level network, the RunModel.bat file call the Master_Runner.py script with a “taz_initial” entry point token. The table below shows the list of entry point tokens and the modeling task it triggers.
Attribute | Description |
---|---|
taz_initial | Creates the initial TAZ network used for generating auto skims |
maz_initial | Creates the initial MAZ network, which is used to calculate non-motorized times and distances, including access and egress walking times between MAZs and boarding\alighting TAPs, and walk\bike times between close MAZs |
tap_initial | Creates the TAP network, which is used for transit skims from boarding TAP through any potential transfer TAPs, to alighting TAP |
taz_skim_speed | Creates TAZ-level auto skims using TomTom speeds |
maz_skim | Create MAZ-level non-motorized skims |
tap_skim_speed | Creates TAP (transit stop-to-stop) skims |
build_trip_matrices | Aggregates demand matrices by time-period for assignment in VISUM |
taz_skim | Assigns trip demand matrices to the network and re-generate TAZ skims as a function of congestion |
tap_skim | Re-creates TAP skims |
nm_assignment | Assigns walk and bike demand matrices to the all streets network |
generate_html_inputs | Generate inputs for HTML dashboard creation |
generate_final_summary | Generate assignment summaries and copy to final summary version file |
The RunModel.bat DOS script is designed to run without much user configuration. Software paths and IP addresses are set on the fly. The user can set the number of feedback runs and CTRAMP sample rate for each feedback run. To edit the batch file, right-click on the file and then select a text editor to open the file. Alternatively, the batch file can be dragged and dropped into an open text editor window.
By default, the ABM is setup to run 5 feedback iteration with the following sample rates for each run - 10%, 20%, 40%, 70%, and 100%. The user can set the maximum number of iterations and sample rate for each iteration as shown below:
The next group of instructions sets the software paths and project directories. The ABM directory structure allows all software paths to be set on the fly. The RunModel.bat script fetches the IP address of the machine which is used by the Java processes. The last line in this group of properties deletes any existing files in the outputs folder.
Next, the Input Checker Tool is called.
The next set of instructions calls the Master_Runner.py Python script to create skims using the TomTom link speed data.
In this step, the CVM and external models are run via their respective R script.
These sets of instructions start the loop to run the maximum number of feedback iterations set by the user at the beginning of the script.
In each iteration, ORRAMP is run using the sample rate specified for that run. The RunModel.bat script calls the appropriate Java processes to launch the OR-RAMP run. All Java processes are closed at the end of the run as shown below.
For each iteration, trip tables are generated, assigned to the network, and skims are created as shown below
The control is returned to the beginning of the feedback loop until the maximum number of iterations are completed.
The walk and bike demand is assigned to the all-streets network.
At the end of the model run, assignment summaries are generated.
Next, the HTML Dashboard is generated. By default, the RunModel.bat script is configured to generate the HTML dashboard comparing the model outputs to OHAS and Census data as shown below:
The user can update the above settings to compare the model run to a base scenario.
At the end of a successful run, the input checker summary is displayed using the instructions below
- Getting Started
- RunModel bat file
- Networks and Zone Data
- Auto Network Coding
- VDF Definition
- Transit Network Coding
- Non-motorized Network Coding
- Editing Land Use Data
- Running the Population Synthesizer
- Input Checker
- Analyzing Model Outputs
- Commercial Vehicle Model
- External Model
- Model Cost Inputs
- Value of Time
- Person Type Coding Logic
- MSA Feedback
- VMT Computation
- Shadow Pricing Mechanism
- Methodology for Developing TAZ Boundaries
- Methodology for Developing MAZ Boundaries
- Methodology for Developing TAPS
- Source of Land-Use Inputs
- Major University Model (Optional)
- Running Transit Everywhere Scenario
- Building the ABM Java Program
- Debugging ABM Python Code
- ABM Cleaning Protocol
- Updating to New Visum
- Troubleshooting and Debugging