Wattson Command Line Options
When you start Wattson, you have the following command line options.
sudo python3 -m wattson [scenario] ...
BashOption | Description |
---|---|
scenario | [Positional] Path to the scenario to co-simulate |
segment | [Positional][Optional] Name of the co-simulation segment |
--extensions , -e | The extensions (YAML) file. Defaults to extensions.yml |
--artifact-directory , --working-directory , -d | The directory to use to create host directories and to place simulation-specific data |
--physical-export | [Flag] If set, the physical simulator is instructed to regularly export its state. |
--ccx-export | Set a file name to export the notifications of the CCX (.jsonl). This only applies to power grid scenarios. |
--wall-clock-reference | The timestamp to use to set the Wattson time wall-clock time to. Defaults to the current timestamp. |
--sim-clock-reference | The timestamp to use to set the Wattson time simulation clock time to. Defaults to the current timestamp. |
--clock-speed | Speed of the simulated clock. Defaults to 1. |
--update-scenario , -u | [Deprecated][Flag] Set to force an update of the scenario. Only applies to externally managed scenarios. |
--prep , -p | [Deprecated][Multiple] Provide arguments as ‘name:value’ to pass to the scenario preparation script. |
--loglevel | The log level to use. Defaults to info. |
--random , --seed , -rs | A random seed to use. |
--seed-file , -sf | A file to read a random seed from. You can specify a line by using file@line |
--start-delay | Delay in seconds to wait between the start of the network emulation and the service deployments. Useful for weak hardware setups. |
--deploy-wait | Number of seconds to wait between starting the service of each host. |
--cpu-limit , --cpu | During startup, Wattson waits until the given CPU percentage is deceeded before starting services. |
--cpu-wait-timeout , --cw | Number of seconds to wait before the CPU limit is ignored even if not deceeded. |
--synchronous-start , --sync | [Flag] Network creation can be done asynchronously for a faster startup process. Set this flag to disable this. The synchronous start is not as fast but does not have stability issues. |
--pcap | [Multiple] Provide a network node ID to instruct the network emulation to start a PCAP there |
--empty-net | [Flag] Cleans the ICT network. A network emulation is still started and a management network is created |
--no-net | [Flag] No network is created. This also skips creation of the management network. Clients are not supported. |
--clean , -c | [Flag] Set to clean potential still running processes and existing network infrastructure from a running or not correctly shutdown simulation. |
--no-cli | [Flag] Disable the CLI after startup. Useful when used as a subprocess. A missing terminal will be detected automatically to disable the CLI. |
--export-notification-topic , -en | [Multiple] Provide a notification topic to export to a file in the working directory. This allows to, e.g., store notifications of custom components or simulators. |
--notification-topic-history , -nh | [Multiple] Provide a notification topic to instruct the simulation controller to preserve the history of this topic. This allows clients to receive the full history even after notifications ocured. |
--vcc-proxy | [Flag] Set to automatically create an IP route for the IP of the Virtual Control Center (VCC) on the host machine. This only applies to power grid scenarios. |
--option , -o | [Multiple] Provide a configuration option to set. Configuration options influence the behavior of the co-simulation and can bet set to custom components. Takes two arguments. The value is parsed as a JSON value. E.g., -o power-grid.protection true |
Configuration Options
Wattson passes options to other components, e.g., the Network Emulator or the Physical Process Simulator.
These configuration options directly influence the behavior of these components. For instance certain features can be enabled or disabled and their behavior can be changed.
The configuration can be changed in different ways:
- With the command line option
--option key value
- By using a YAML-based Extension and providing the
config
object. - Programmatically in a Python-based Extension by accessing the global Configuration Store.
This section gives an introduction into available configuration options and provides instructions on how to change them with the different methods. The set of available options only contains the actions implemented directly by Wattson.
Other simulators and components can introduce their own configuration options.
The Configuration Dictionary
All configurations follow a dictionary structure. The resulting hierarchies address different components.