Appearance
Observables
Named signals vs. observables
A named signal is any monitored value you've given a name — a current, a power, an angle, a controller output, a labeled wire. Names live in one flat namespace shared across the whole circuit, and that list of names is what every "pick a signal" box suggests: the scope / plot / meter signal pickers, and the fields where a component reads a signal by name (the From block, the synchronous machine's rotor-lock gate, and so on).
An observable is a named signal that the simulator also records — it streams to the scope while the run is in flight and lands as a column in the result CSV. So every observable is a named signal, but not every named signal has to be recorded: a signal can exist purely to route a value from one component to another. (Today, anything you name is recorded; the distinction matters as circuits grow and you may want to route without recording.)
The rest of this page is about the recorded kind — observables.
Three ways to declare an observable
- Label a wire. Click on a wire and give it a name. The label becomes an observable that emits the signal flowing through it.
- Probe a component's built-in output. Many components expose measurements (a capacitor's branch current, a meter's reading) that you can turn on via a checkbox in the properties dialog. The name you give the measurement becomes the observable id.
- Define one explicitly. Open the observables panel (in the main menu) and add an entry directly. Useful when you want to alias an automatically-generated id to something friendlier.
Monitoring a bus voltage
Double-click a bus to open its properties dialog. The Voltage monitoring selector controls what the bus records:
- None — no voltage observable.
- Instantaneous — one observable per phase, each carrying that phase's instantaneous node voltage. Name the phases you care about (leave a phase blank to skip it).
- RMS — a single observable carrying the RMS magnitude of the bus voltage. Pick Line-to-line (LL) or Per-phase (LN). The raw phase voltages stay unobserved; only the RMS value is recorded.
- RMS (pu) — same as RMS, but reported in per-unit on the bus's base voltage (
V_base).
The RMS modes work by quietly inserting an RMS meter that reads the three phase voltages behind the scenes — you only see the one named RMS observable.
Naming rules
- Names must be unique across the whole circuit. The validator flags duplicates and refuses to run.
- Names live in a single flat namespace shared with
From/GoTosignal routing. Pick something descriptive (e.g.v_bus_3instead ofv1) — when your circuit grows past a dozen signals you'll thank yourself.
How observables flow through the system
When you click Run:
- The front-end exports the circuit to a netlist. Every observable gets a stable id and a binding to either a wire signal, a named port, or a component-internal measurement.
- The simulator's scheduler routes those signals into a CSV writer AND into the streaming-results channel that the scope reads from.
- As chunks arrive, the scope panel updates in real time. When the run finishes, the full CSV is available for download.
See also
- Scope panel for how observables are displayed.
- Multi-rate monitoring for what happens when observables in different rate groups land on the same plot.
