Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Command-line interface

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

CommandSummary
oedisi buildBuild to the simulation folder.
oedisi debug-componentRun system runner json with one component in the JSON.
oedisi evaluate-estimateEvaluate the estimate of the algorithm against the measurements.
oedisi runRun HELICS simulation using helics run command.
oedisi run-mcRun multi-container simulation using docker-compose or Kubernetes.
oedisi run-with-pauseRun HELICS simulation with interactive time barrier control.
oedisi test-descriptionTest component intialization from component description.

oedisi build

Build to the simulation folder.

Examples::

oedisi build

oedisi build --component-dict components.json --system scenario.json
Usage: oedisi build [OPTIONS]
OptionTypeDefaultDescription
--target-directorypath'build'Target directory to put the system in
--systempath'system.json'Wiring diagram json to build
--component-dictpath'components.json'path to JSON Dictionary of component folders
-m, --multi-containerflagFalseUse the flag to create docker-compose config files for a multi-container implementation.
-p, --broker-portinteger8766REST API broker port for multi-container deployments.
--helics-portintegerHELICS broker port for local builds (overrides system.json)
--helics-core-typechoiceHELICS core type for local builds (overrides system.json)
--helics-broker-keytextHELICS broker authentication key for local builds (overrides system.json)
-i, --simulation-idtextSimulation 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]
OptionTypeDefaultDescription
--runnerpath'build/system_runner.json'Location of helics run json. Usually build/system_runner.json
--foregroundtextName 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:

\b Estimated voltages

\b Metrics:

Usage: oedisi evaluate-estimate [OPTIONS]
OptionTypeDefaultDescription
--pathpathPosixPath('.')path to the measurement .feather files
--metricchoice'MSRE'metric to be used for evaluation
--angle-unitchoice'radians'Unit of estimated voltages

oedisi run

Run HELICS simulation using helics run command.

Examples::

oedisi run
Usage: oedisi run [OPTIONS]
OptionTypeDefaultDescription
--runnerpath'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]
OptionTypeDefaultDescription
--runnerpath'build/docker-compose.yml'path to the docker-compose or kubernetes deployment file
-k, --kubernetesflagFalseUse the flag to launch in a kubernetes pod.
-d, --docker-composeflagFalseUse 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.0
Usage: oedisi run-with-pause [OPTIONS]
OptionTypeDefaultDescription
--runnerpath'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]
OptionTypeDefaultDescription
--target-directorypath'build'Target directory to put the system in
--component-descpathPath to component description
--parameterstextPath to parameters JSON (default is parameters={})