The Interface
The window is six tabs, and you use them roughly left to right: name the files, choose what to record, solve the initial operating point, run the simulation, then analyse the result. The sixth builds your own models.
This page says what each tab is for. It does not describe the file formats themselves; File Formats and Dynamic Data Records own those.
System Data
Section titled “System Data”Where the case is named. Nine numbered rows take the system data files, and a separate row below takes the disturbance file. Both groups are required.
Each row has a Load file button and a pencil that opens the file in an editor. Clear files empties the tab.
Order does not matter and the rows need not be filled contiguously. Which files a case needs depends on the study: a network description, dynamic component data and solver settings are the usual three.
The last row takes an annotated SVG one-line diagram, a drawing of the network with placeholder codes typed into it. Every Run power flow fills those codes in with the solved values and opens the result in a window of its own; Annotated One-line Diagram owns the codes and the authoring.
Observables
Section titled “Observables”Two separate jobs share this tab: what you watch while the simulation runs, and what gets written to disk for afterwards.
Runtime observables
Section titled “Runtime observables”Three rows, each pairing a quantity with the name of the equipment to watch. Fill any of them in and STEPSS plots those quantities live as the simulation advances.
The quantities on offer are bus voltage, machine speed, omega-delta and active
power-delta of a machine, centre of inertia, wall time, latency, branch active and
reactive power at either end, and an injector observable. The name beside it is the
equipment’s own: a bus name for a bus voltage, a synchronous machine name for a
speed or a centre of inertia, and RT for wall time, which plots wall clock
against simulation time.
A quantity may be followed by extra gnuplot commands, separated by /. They are
passed through into the .plt script the engine writes, for anyone who opens
that file in gnuplot. They have no effect on the curves STEPSS draws.
Live plotting needs nothing installed; see First Run.
Recording to file
Section titled “Recording to file”Four independent choices, on one row: save the continuous trace, the
discrete trace, the output trajectory, and the initialization data.
The last of those writes the settings, the comments and the initialization data
to dump.trace; hover any of the four for what it records.
The observables file below them is required whenever a trajectory is saved, because it is what says which quantities the trajectory should contain. Observables File gives its syntax and the eight equipment types it accepts. Show observable dialog builds one interactively instead of writing it by hand.
Ticking it opens eight rows under the tab, one per equipment type. Name a piece of equipment and Add puts it on that row’s list, All takes every one of that type in the case, and the list beside it is what will be recorded.
The eight lists are session state and are not written into a saved configuration, so a case saved with the box ticked comes back needing them filled in again.
Power Flow Simulation
Section titled “Power Flow Simulation”Where the power flow is solved, giving the operating point the dynamic simulation starts from.
Run power flow calls Helios and reports into the pane above: bus voltages and angles, the generator table with its limits, the system power balance, and the files it exported.
Seven buttons enable once a run succeeds:
| Button | What it does |
|---|---|
| Add Helios results to data | Puts the solved in_volt_trfo.dat into system data row ten, so the dynamic simulation starts from this operating point |
| Save power flow solution | Keeps a copy of that file, which the next run would otherwise overwrite |
| Bus overview | Bus voltages and angles |
| Branch flows | P and Q at each end, losses, and loading against rated MVA |
| Generators & SVCs | Generator and SVC output, against their limits |
| Adjustable transformers | Transformer ratios, including any Helios adjusted |
| Global power balance | Generation, load, shunts and network losses |
Each of the four inspection buttons writes its table into the same pane, so the run’s log and the answer you asked for stay in one place.








Adjustable transformers has no tab above it because the Kundur case has no adjustable transformer to report; on a case that has them, it lists each one’s ratio and marks any that Helios moved.
A case that also loaded a one-line diagram gets a window of its own on every run, with the solved values substituted into the drawing.
Dynamic Simulation
Section titled “Dynamic Simulation”Where the case is run. Run dynamic simulation starts RAMSES and Stop simulation ends it early.
The pane reports the settings in force, the integration method and tolerances, whether parallelism is active, and on completion the elapsed time, the number of time steps, and Jacobian, solution and evaluation counts for the network and the injectors. Those counts are how you tell a cheap run from an expensive one.
The load buttons beside them read back a previous run’s output, continuous trace, discrete trace or initialization data, so a result can be examined without re-running it. Search finds text in the pane.
Analysis
Section titled “Analysis”Two kinds of analysis, on the same solved case.
Time-domain analysis turns a saved trajectory into curves. Extract curves
opens a picker and then draws the result in a window of its own, one per
extraction, so two extractions can be compared side by side. Each window saves
its own figure as PNG, SVG or CSV, and its own .cur and .plt pair for
plotting in gnuplot yourself. Save output trajectory writes the whole
trajectory. Load trajectory reads a trajectory from an earlier run.
Close all curve windows closes every curve window at once.
Running a Simulation walks through this.
Small-signal stability analysis runs the engine’s eigenanalysis at a chosen instant. Point it at a results directory, set a basename and the analysis time, then Run small-signal stability analysis.
There are no thresholds here. There used to be a real-part limit and a participation factor threshold, and both decided what the engine would write; every mode is written now, and the thresholds live in the results window where changing one re-filters what is already on screen. See Eigenanalysis. Each run opens its own results window and leaves any already up alone, so two runs can be compared side by side. Save dynamic Jacobian… and Load dynamic Jacobian… write that run out as an archive and open it again later, each load in a window of its own too.
The analysis needs $SCHEME DE and $OMEGA_REF SYN, and the button supplies
both: it writes them into one small data file read after your own, where being
last is what makes them win. So a case set up for time-domain runs analyses as
it stands, and your own solver settings are neither edited nor left changed
afterwards.
Output, below both sections, is where the tools on this tab report. The engine’s small-signal run and both DYNGRAPH invocations behind Extract curves write here, so a run that produced nothing says why on the tab that started it. Save output… writes the pane to a file and Clear output empties it. Before STEPSS 3.81 the engine wrote to the Dynamic Simulation tab instead, underneath whatever an earlier time-domain run had left there, and DYNGRAPH reported nothing at all unless it failed.
This is performed by RAMSES itself. Eigenanalysis explains the method, the settings and what the results mean.
The unlabelled field beside Select results directory is where results are written, and it defaults to the working directory. The picker that Extract curves opens, and the small-signal results window, are both shown on the pages linked above.
Codegen
Section titled “Codegen”Where a model of your own becomes part of the simulator, in the order the buttons run:
| Button | What it does |
|---|---|
| Load files for Codegen | Takes one or more model descriptions in the CODEGEN language |
| Run Codegen | Translates them into Fortran, reporting each block with its equation and state counts |
| Display loaded files | Lists the Fortran files generated so far, not the descriptions that were read |
| Save converted files | Writes the generated .f90 out |
| Compile | Builds and links it against the engine, giving a custom simulator |
| Save executable | Keeps that simulator, rather than rebuilding it next time |
Each enables as the previous step makes it meaningful. Once a custom simulator exists, simulations run on it rather than on the bundled engine.
Compiling needs a Fortran toolchain on the machine, which is its own installation step; translating a model does not.
User-Defined Models is the reference for the model language, and CODEGEN Studio assembles models visually instead of by hand.
The menus
Section titled “The menus”File holds Save configuration and Load configuration, plus Open Examples and Exit.
Save configuration writes a .cfg holding everything a run is made of: the
ten system data rows, the disturbance and observables files, the three runtime
observable rows, and the four recording checkboxes. Load configuration puts
them back, so a case set up once can be reopened and run in two clicks. A path
inside the .cfg’s own folder is stored relative to it, which means the folder
can be moved, copied or sent to a colleague whole; anything outside that folder
is stored as an absolute path and stays tied to the machine that saved it.
The file is plain text and documented key by key in Scenario File, so one can be written by hand or generated by a script.
Two things the file does not carry. The observable dialog’s five picker lists
are not saved, so a configuration saved with Show observable dialog ticked
says so when it loads and the lists need filling in again. And .cfg files
written by STEPSS releases before this format are refused rather than loaded:
they hold absolute paths belonging to whoever last saved them, so what they
name almost never exists on the machine opening them. Set the case up and save
it again.
Tools holds Select external simulator and Close all curve windows; and, below a separator, the Dark theme toggle and Check for updates at startup. The last two are ticks rather than actions, and both are remembered between sessions.
A case is saved and reopened through File > Save configuration, which writes the scenario file. Quick Start compares the two ways to drive the engines.
The status bar
Section titled “The status bar”The working directory on the left; on the right the engine version and what the application is doing. That last field runs from Idle through Solving power flow to Power flow finished and Simulation finished, each with the elapsed time, which is the quickest confirmation that a run actually did something.
