Command Line

Command line options come in two flavours: short hand (e.g. -f) and long (e.g., –config-file).

Options:

  • --help

  • --version, -v

  • --config-file, -f

  • --config, -c

  • --remove, -r

  • --remove-module, -d

  • --add-module, -m

In addition to specifying the configuration file to run with, it can be used to specific configuration options. Any configuration that is configurable via configuration files can be specified on the command line. This is done so that configuration files do not need to be written during, for example, uncertainty analysis.

Note

Values specified on the commandline over-ride existing values in the configuration file

help

Prints the available options.

version

Prints the version of CHM along with the git commit.

config-file

Specifies a configuration file to use. This is required.

./CHM --config-file CHM_test.json

./CHM -f CHM_test.json

config

This enables changing a configuration value from the command line. The value is specified with a fully qualified configuation path. This can change any aspect of the configuration file, but an example with a module’s configuration is given below.

For example, to change the module moduleA value of b the configuration file would be

{

   "config":
   {
      "moduleA":
      {
         "b": 3.14
      }
   }

}

Therefore, the commandline variant would be:

-c config.moduleA.b:3.14

Multiple configuration values can be specified via multiple -c arguments:

-c config.moduleA.b:3.14 -c option.debug_level:"error"

Note

This cannot be used to modify the list values ([ ]) for the modules section. Please use the add/remove module feature to modify those.

remove

Removes a configuration parameter. Removals are processed after any -–config parameters are parsed, so -r will override -c. A fully qualified path to the configuration is required. For example this configuration

{

   "option":
   {
      "option_a": true,
      "option_b": 1234,
   }

}

could have option_a removed

-r option.option_b

Because the removal happens after any modification with -c, the following to add option_c has no effect:

-c option.option_c:2 -r option.option_c

Note

This cannot be used to modify the list values ([ ]) for the modules section. Please use the add/remove module feature to modify those.

remove-module

Removes a module

-d Marsh_shading_iswr

add-module

Adds a module to the list. Adding configuration options with -c can be done before or after this call.

-m snobal -m Marsh_shading_iswr