Site logo

Caveat Scriptor

This manual covers many of the functions of the command line scripting interface. If you want to be a "power user", it may help you write your own scripts. However, unlike the graphical user interface, the command line interface is not designed to be crash resistant, and incorrect commands and formatting may cause unrecoverable errors, give you garbled results, or even potentially give you legitimate-looking results that are in fact incorrect. It is unlikely but possible that you may even corrupt your data, so (as for all such software) you should have all your files backed up before you fiddle with them.

Python

The basic scripting functionality for the ELM engine exists inside the Python language. This mature, object oriented, open source language is available on many platforms, has a large user base, and a wide variety of modules to provide functionality beyond the ELM framework. ELM creates two basic kinds of objects with python: core objects, which provide program level functionality including option settings and linkages to data and model storage; and model objects (for multinomial logit, nested logit, aggregate mnl, and aggregate nl), which provide the basis for specifying and estimating discrete choice models.

SQLite

The data files for the ELM engine are maintained in SQLite3 format. This open source format allows users to access and modify the data and model tables directly through SQLite, instead of using the Python interface. Reports can be generated on data or models using software other than ELM, if you prefer to have greater control over output formats and styles.
ELM uses two different SQLite3 database files: a project file, which stores options, models, and results; and a data file, which stores the raw data for your models. This two-file approach makes it easy to move data from one project to another.