Files-Based Model

You can connect any bespoke transportation model to TMIP-EMAT as long as it satisfies these requirements:

  • You can prepare a model run by manipulating files from within Python, including tasks such as copying or renaming files, editing the text of script or configuration files, or executing one or more “command line” programs (e.g. batch files) with defined arguments.
  • You can execute a model run, including any necessary post-processing, either directly from Python, or by executing one or more “command line” programs (e.g. batch files) with defined arguments.
  • You can extract individual performance measures of interest by reading and parsing one or more output files (which can be output from the main model or any post-processing routines) from within Python.

The ability to tap into other programs via the command line allows TMIP-EMAT to be used with nearly any transportation modeling tool, including most commercial software.

To actually create the linkage between TMIP-EMAT and your bespoke transportation model, you must define a new Python class that derives from the FilesCoreModel class, and at a minimum write implementations for these methods:

The FilesCoreModel class also includes default implementations for get_experiment_archive_path and post_process, but it may be appropriate to overload these methods into a custom class as well.

A walk-through for building and using a FilesCoreModel subclass in your own module is provided below, although with a more detailed reference for the methods defined for the FilesCoreModel class.