How to use the Workflow Builder
Wire blocks, fill in the settings, download one Python file. Every demo on this page is the real Builder, running live in your browser. Press Pause on one to try it yourself.
The short version
-
Wire blocks
Drag model, run, loop, check and result blocks onto the canvas and connect them in the order PSCAD should run them.
-
Fill in the settings
Component definitions, parameters such as
RorTF, channel names, limits and file names. Choices are limited to what fits the block. -
Download and run
Download gives a
.zipwith one.pyscript. It drives PSCAD from Python 3.7 or newer withmhi-pscadinstalled, and saves results tables and graphs to a folder.
Nothing is uploaded. The page runs in your browser, and the script runs on your own computer against your own case.
The screen
The canvas fills the page and four things float over it. Select a part in the list to see where it is.
-
Toolbar
Undo and redo, zoom, Fit view, Quick start, save, open, clear the canvas and Download. Its button shows how many problems are left.
-
Blocks panel
Every step a workflow can take, in categories, with a search box. Click a block or drag it out. Drag the title bar to move the panel, or use the chevron to fold it.
-
Canvas
Your workflow, read left to right. Every workflow begins at the Start block, which is always there. Near the bottom: a minimap and the Wire colours key.
-
Settings, Python and Problems
Settings of the selected block, the Python script as it is written, and Problems, the list of what still needs fixing.
Top right, Tour replays a one minute walk through a worked example, and Guide opens this page. Other Tools leaves for the rest of the site.
Add a block
Search, then click a block to add it after the selected one, or drag it where you want it. Start is greyed in the panel because it is already on the canvas.
On a phone, press Full screen under a demo and turn the phone sideways to read it.
Search
Type a word such as run simulation. The search looks at titles, keywords and descriptions.
Click to add
The block goes after the selected block (or the last one added), already wired to it.
Or drag
Drop it anywhere on the canvas. Dropped on a flow wire, it goes between the two steps.
Wires and ports
Blocks connect through ports. Drag from a port on one block to a port on another. Only ports that fit will connect.
Flow wire
A thick wire with an arrow: then do this. It runs from a block's flow output, such as Reached the end, to the next block.
Data wire
A thin coloured wire: use this value. It runs from a value output, such as Peak, into an input of another block.
Wire colours
The colour is the kind of value: number, text, list, time series, component and so on.
- Unwired flow output. The path ends there. A block says so on its card, for example ends the workflow or skips to the next pass, so no extra block is needed.
- Drop a wire on empty canvas. A short list opens with only the blocks that fit that wire.
- +N more. A block shows its main ports and the wired ones. This button on its card shows the rest.
Loops
A loop block repeats whatever is wired to its Each pass output, once per number, item, layer, substitution set, scenario or component. What is wired to After all passes runs once, when the loop is done.
Add the loop
For a range of numbers repeats from First to Last in steps. Its Value output is the number of the pass.
Fill Each pass
New blocks join Each pass. A dashed frame named after the loop shows what is inside it.
Drag from After all passes
Release on empty canvas to open the list of blocks that fit.
Pick the next step
It runs once, after the last pass.
- A pass that cannot finish. If a flow output such as Stopped early is not wired on, that pass ends and the loop goes to the next one.
- Layers and substitution sets. For each layer and For each substitution set work the same way: one network arrangement or one parameter set on each pass.
Settings and problems
Select a block to change its settings. A setting that must be filled in is marked Required. The block shows To do until it is, and the Download button counts what is left.
See what is missing
The Problems tab lists to-dos, errors and warnings. Click one to jump to its block.
Select a block
Its settings open in the Settings tab. Select nothing to see the whole workflow's settings.
Fill in what is required
On Start, type the PSCAD case: a
.pscxpath, or the name of a case already in the workspace.Choose from what fits
Pick the component's definition, then its Name. The parameter box suggests that definition's parameters, with their units.
Nothing left to do
The Download button loses its count. Until then, the script stops before it connects to PSCAD.
- Only what can be chosen. A setting appears only where it can change the script, and a list leaves out options that cannot apply.
- Parameter names. The i beside a parameter opens the component reference for that definition: every parameter, with its unit, default and the symbols a Choice takes.
- Pin. The pin beside a setting puts it at the top of the Python file, in its SETTINGS section, to change later without the Builder.
Rename a block
Give a block the name you would use for it. The name shows on the canvas, in the Problems list and in the comments of the script.
Double-click the name
The title on the block turns into a text box.
Type, then press Enter
Escape keeps the old name.
Or use Settings
The same name is in Name on the canvas, the first setting of every block.
Quick start
Ten worked examples to start from: build the case and report its errors, fault ride through over fault durations, sweep one parameter, harmonics and THD, the critical clearing time, every network arrangement held in a layer, initialise once then branch from a snapshot, a run for each substitution set, several cases at once in a simulation set, and the damping of a ringdown. An empty canvas offers the same list on its Start a workflow card, next to Start blank.
Open Quick start
It is in the toolbar. Hover an example to read what it does.
Pick an example
It replaces the canvas as one undo step, and a message offers Undo. The Builder asks first if you have unsaved work.
- Then make it yours. Type your case on Start, and change the component Names, channel names, limits and table names to fit your model.
- Want the method behind an example? The Python study guides explain each study, show the Python the Builder writes for it and open its Quick start in one click.
Results tables and graphs
Results blocks collect values as the workflow runs. Tables are saved when the run ends, graphs are drawn to image files. Both land in the run folder.
Add row to results table
One row per pass: the loop values, then one column per wired value. Rows with the same table name go into one table and one file.
Draw a graph
Time series, 2D, 3D, heat map, from a results table, or a convergence curve. The block draws a preview from your names and mock values.
- Skipped passes stay visible. A pass that ends early still gets a row, with the reason in a Status column.
- File format. On Start, Save the results tables as offers CSV (opens in Excel), Excel (.xlsx) or both. Save results table saves one partway, under another name.
- One look for every graph. With nothing selected, Graph style in Settings opens templates, from the Adjie Brotools style to IEEE, Elsevier and slides.
Save, open and download
The Builder keeps your workflow in this browser between visits. Save and Download make files you own.
Save
Writes the workflow as a
.jsonfile. Open reads it back. It also opens a.pymade here, or a file dropped on the canvas.Read the Python
The Python tab is written as you build. Copy it, or save only the script with .py.
Download
Saves the study package as one
.zip, ready to unpack and run.
What is in the zip
name.pythe scriptname.jsonthe workflow, for the Open button- any data file you attached, beside the script
fonts/DM Sans, when graphs use itREADME.txthow to run it
The bin in the toolbar clears the canvas. It asks first, and Undo brings the work back.
Run the script
Unpack the zip
Keep the files together: the script looks for its data files next to itself.
Install the Automation Library
Once, into the Python you run the script with:
py -3.12 -m pip install mhi-pscad. Any Python 3.7 or newer will do; the script checks for what it needs and says which pip line is missing.Choose how it finds PSCAD
Automatic in Start's How to run setting uses the PSCAD that is open, starts one when none is, and uses the host PSCAD when the script is run from inside it. PSCAD needs its licence certificate before a run will start.
Collect the results
Each run writes its tables, graphs and
run.logto a new folder beside the script, or inside the Output folder you set on Start.
py -3.12 "name.py"
To change a value later, edit the SETTINGS section at the top of the .py. To change the workflow, open the .json, or the .py itself, in the Builder.
Shortcuts
- Ctrl Z undo
- Ctrl Y redo
- Ctrl C V copy and paste blocks
- Ctrl D duplicate
- Ctrl A select every block
- Delete remove the selection
- Esc clear the selection
✨ Use it in your AI
Install this tool's skill in Claude, ChatGPT or Grok and ask in plain words. Your AI lists your inputs and its assumptions and sends one link that opens the tool on your scenario.
Ready to build one?
Or read on: the Python study guides and the component reference.
Open Builder