Skip to content

System Design

Michael McCarthy edited this page Sep 22, 2021 · 12 revisions

The CALM model mixes the JEMnR demand model with the turnkey model design from Southern Oregon Activity-based Model (SOABM) utilizing PTV VISUM for the network supply model. A single batch file runs all model components.

Model Flow

As shown in this diagram, the batch file coordinates model flow across software and manages the feedback loop. The VISUM Python API is used by the VISUM Runner script to run VISUM procedures and an R Model Runner script is used to run components of the JEMnR model. Matrix data is written to OMX, which can be read into VISUM.

VISUM Version Files

All VISUM operations start with the input version file, which contains all network objects but has no matrices or procedures loaded. When needed by the VISUM Runner script, procedure sequences for skimming and assignment are loaded from XML files and matrices are loaded from OMX files.

Loaded networks by time period are saved to:

/scenario/outputs/networks/Assignment_daily.ver
/scenario/outputs/networks/Assignment_peak.ver - Always auto, transit if enabled
/scenario/outputs/networks/Assignment_offpeak.ver - Transit if enabled

JEMnR

The JEMnR model includes several components that can be enabled/disabled via settings, including the Commercial Vehicle Model and University Model. Inputs are typically in CSV format, intermediate and final data is written to RData files. JEMnR saves output matrices to RData files, which are then converted to OMX matrices in the WriteToOMX.R script.

Commercial Vehicle Model

A Commercial Vehicle Model is responsible for modeling non-household commercial vehicles, including four-tire commercial vehicles (FTCVs), Single-unit Trucks (SUT) and Multi-unit Trucks (MUT). These vehicles have different travel patterns than household vehicles.

University Model

The University Model is a Java component run from within the JEMnR R scripts.