Skip to content
Rory edited this page Oct 21, 2020 · 3 revisions

MC

MC is a command-line tool for working with MATSim config files. Naturally, the inputs consist of partially or fully formed config files in specific formats, or individual parameter choices to insert into existing configs. Outputs are mostly MATSim config files.

1. What is MC and what can you achieve with it?

MC facilitates easier creation, inspection, alteration and comparison of configuration files that match the format required by MATSim. There are also methods for converting between file formats. As a CLI, the methods are individually discoverable and detailed so this will be only a high-level overview.

MC provides the following functions:

Commands:
  build    Build a config with defined sub-pops, modes & activities.
  convert  Read an existing config and write as xml or json.
  debug    Debug a config.
  diff     Simple diff two configs.
  fill     Read an existing config, fill in the target variables and write...
  gen      Generate a template config: empty|default|test.
  print    Print a config to terminal.

Running any command will provide more detailed information about the required syntax and inputs:

$ mc gen
Usage: mc gen [OPTIONS]
              [empty|default|multimodal_default|test|multimodal_test]
              WRITE_PATH

2. Input data expectations

The requirements for input data depend on which command is being used, but in general the main supported file formats are:

  • .xml
  • .json

There are also commands that accept a combination of these formats plus string literal values that are interpolated into the provided file.

The build command has the most extensive data requirements, as it combines multiple string literal inputs, with files at a provided path to create a complete MATSim config. At the folder location provided to the command, there is the expectation to already exist each of the following:

  • attributes.xml
  • population.xml
  • transitschedule.xml
  • transitVehicles.xml
  • network.xml

that also adhere to the formats MATSim expects. More information on the network, schedule and vehicles inputs can be found here. You can also find the data schemata for the network, schedule and vehicles, among other input options, in the official MATSim documentation.

3. Output data expectations

For the build, fill and gen commands, the output will be a valid MATSim config.xml.

Clone this wiki locally