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