The oedisi command-line tool builds and runs simulations. Installing the
oedisi package puts it on your PATH; run oedisi --help to see the same
summary reproduced here.
Usage: oedisi [OPTIONS] COMMAND [ARGS]...Commands¶
| Command | Summary |
|---|---|
oedisi build | Build to the simulation folder. |
oedisi debug-component | Run system runner json with one component in the JSON. |
oedisi evaluate-estimate | Evaluate the estimate of the algorithm against the measurements. |
oedisi run | Run HELICS simulation using helics run command. |
oedisi run-mc | Run multi-container simulation using docker-compose or Kubernetes. |
oedisi run-with-pause | Run HELICS simulation with interactive time barrier control. |
oedisi test-description | Test component intialization from component description. |
oedisi build¶
Build to the simulation folder.
Examples::
oedisi build
oedisi build --component-dict components.json --system scenario.jsonUsage: oedisi build [OPTIONS]| Option | Type | Default | Description |
|---|---|---|---|
--target-directory | path | 'build' | Target directory to put the system in |
--system | path | 'system.json' | Wiring diagram json to build |
--component-dict | path | 'components.json' | path to JSON Dictionary of component folders |
-m, --multi-container | flag | False | Use the flag to create docker-compose config files for a multi-container implementation. |
-p, --broker-port | integer | 8766 | REST API broker port for multi-container deployments. |
--helics-port | integer | — | HELICS broker port for local builds (overrides system.json) |
--helics-core-type | choice | — | HELICS core type for local builds (overrides system.json) |
--helics-broker-key | text | — | HELICS broker authentication key for local builds (overrides system.json) |
-i, --simulation-id | text | — | Simulation ID for kubernetres or docker compose configurations. |
oedisi debug-component¶
Run system runner json with one component in the JSON.
We remove one component from system_runner.json and then call helics run in the background with our new json. and then run our debugging component in standard in / standard out.
Usage: oedisi debug-component [OPTIONS]| Option | Type | Default | Description |
|---|---|---|---|
--runner | path | 'build/system_runner.json' | Location of helics run json. Usually build/system_runner.json |
--foreground | text | — | Name of component to run in background |
oedisi evaluate-estimate¶
Evaluate the estimate of the algorithm against the measurements.
The measurements are assumed to be in the form of .feather files.
\b True voltages:
voltage_real.feather
voltage_imag.feather
\b Estimated voltages
voltage_mag.feather
voltage_angle.feather
\b Metrics:
MARE: Mean absolute relative error.
RMSRE: Root mean squared relative error.
MAAE: Mean absolute angle error.
Usage: oedisi evaluate-estimate [OPTIONS]| Option | Type | Default | Description |
|---|---|---|---|
--path | path | PosixPath('.') | path to the measurement .feather files |
--metric | choice | 'MSRE' | metric to be used for evaluation |
--angle-unit | choice | 'radians' | Unit of estimated voltages |
oedisi run¶
Run HELICS simulation using helics run command.
Examples::
oedisi runUsage: oedisi run [OPTIONS]| Option | Type | Default | Description |
|---|---|---|---|
--runner | path | 'build/system_runner.json' | Location of helics run json. Usually build/system_runner.json |
oedisi run-mc¶
Run multi-container simulation using docker-compose or Kubernetes.
Usage: oedisi run-mc [OPTIONS]| Option | Type | Default | Description |
|---|---|---|---|
--runner | path | 'build/docker-compose.yml' | path to the docker-compose or kubernetes deployment file |
-k, --kubernetes | flag | False | Use the flag to launch in a kubernetes pod. |
-d, --docker-compose | flag | False | Use the flag to launch in a kubernetes pod. |
oedisi run-with-pause¶
Run HELICS simulation with interactive time barrier control.
Helics broker is run in the foreground, and we allow user input to block time.
Examples::
oedisi run-with-pause
Enter next time: [0.0]: 1.0
Setting time barrier to 1.0
Name : comp_abc
Granted Time : 0.0
Send Time : 0.0
Name : comp_xyz
Granted Time : 0.0
Send Time : 0.0Usage: oedisi run-with-pause [OPTIONS]| Option | Type | Default | Description |
|---|---|---|---|
--runner | path | 'build/system_runner.json' | Location of helics run json. Usually build/system_runner.json |
oedisi test-description¶
Test component intialization from component description.
Examples::
oedisi test-description --component-desc component/component_definition.json \\
--parameters inputs.json
Initialized broker
Waiting for initialization
Testing dynamic input names
✓
Testing dynamic output names
✓Usage: oedisi test-description [OPTIONS]| Option | Type | Default | Description |
|---|---|---|---|
--target-directory | path | 'build' | Target directory to put the system in |
--component-desc | path | — | Path to component description |
--parameters | text | — | Path to parameters JSON (default is parameters={}) |