Skip to main content

Terms and definitions

There are several terms and definitions used throughout the gridmo software platform.

Engine

The gridmo Engine is a Windows OS executable which is used to locally run simulations. The Engine connects locally with your files and power systems software (e.g. PSS®E and PSCAD™). The Engine connects remotely with the gridmo web application receive simulation instructions.

screenshot of the gridmo engine executable

Nodes

Nodes are the fundamental building blocks of the Web App. A Node represents one or more 'processing jobs' for the Engine. An example of a single Node is shown below.

screenshot of a gridmo Node in the web app

Some Nodes, such as PSS®E Static or PSCAD™, represent individual power system studies. Other Nodes, such as Plot or Table process results from other Nodes to generate outputs.

Edges

An Edge is a connection between any two Nodes. An Edge represents:

  • The sequence in which Nodes should be processed; and
  • The transfer of information between Nodes.

Edges are directional, as indicated by the arrow.

screenshot of a loop start node and a PSSE static node in the gridmo web app

Runs

A Run represents a sequence of Nodes and Edges which:

  • Starts at a Start Node; and
  • Ends at an End Node.

Each Run:

  • Is stand-alone, meaning a single Node or Edge can only belong to one Run
  • Can be individually enabled and disabled using the Enabled checkbox on each Run Start Node
  • May contain as many Nodes and Edges as required. We recommend each Run has one specific purpose, such as generating a single plot or sequence of plots.
screenshot of the gridmo web app showing a run, whihc is a start node, PSSE static node, table node and end node

Flow

A Flow is a collection of one or more Runs.

Each Flow may contain as many Runs as required.

screenshot of the gridmo web app showing multiple example Runs

Project

A Project is made up of project settings, Flows, Global Variables and Scenario Variables.

danger

Projects are not stored on gridmo's servers. Project files need to be locally stored on your machine. You may download and upload Project files using Menu->Download project and Menu->Upload project respectively.

We recommend that these Project files are located on a network drive or synced with your cloud storage (e.g. OneDrive).

Variables

Variables are used to enable tests, such as those from the Template Library, to work across different projects and OEMs.

Scenario Variables

Scenario Variables allow the entire Flow to be run across multiple scenarios. Scenario Variables are typically used for hybrid generation plants where there are multiple scenarios (e.g. 'solar only', 'wind only', 'solar and wind').

If a Scenario Variable is created named scenario_description, with values of Solar only, Wind only and Solar and wind for scenarios S1, S2, and S3, the entire Flow will be run three times and anywhere that $scenario_description is used throughout the Flow, this will be replaced with the respective value.

To create a Scenario Variable:

  • Navigate to the Scenario Variables window and click the Add Scenario Variable button.
  • Enter the variable name. Only letters, numbers and underscores are supported.
  • Enter the variable value for each scenario. Text including spaces is supported.
  • Enable/disable scenarios, as required.

Alternatively, use the import/export functionality to complete bulk edits.

Common Scenario Variables for Projects may include:

  • Scenario name
  • Commands which are relevant to specific scenarios
screenshot of the gridmo web app showing scenario variables

Global Variables

Global Variables are a convenient way of storing information which is used throughout the Flow.

If a Global Variable is created named new_variable, with a value 3, anywhere that $new_variable is used throughout the Flow, this will be replaced with the value 3.

To create a Global Variable:

  • Navigate to the Scenario Variables window and click the Add Global Variable button.
  • Enter the variable name. Only letters, numbers and underscores are supported.
  • Enter the variable value. Text including spaces is supported.

Alternatively, use the import/export functionality to complete bulk edits.

Common Global Variables for Projects may include:

  • Project name
  • Project revision, submission number and/or submission date
  • File paths and names
screenshot of the gridmo web app showing global variables

Loop Variables

Loop Variables are entered in a Loop: Start Node and are used to repeat the Nodes between a Loop: Start and Loop: End Node pair, based on the number of Loop Variable values.

This functionality is used to help iterate over power system studies. To loop over a series of Nodes:

  • Create a Loop: Start Node
  • Connect an Edge from the bottom of the Loop: Start Node to the first Node you want to loop over
  • Create an Loop: End Node
  • Connect the final Edge from the last Node you want to loop over to the top of the Loop: End Node
  • Connect the Loop: Start to Loop: End Node using the left-most Edge handle
  • Configure the Loop: Start Node with the Loop Variables

The example below shows a Run before and after adding a loop.

screenshot of the gridmo web app showing loop variables

Loop variables are processed in the same way as Global Variables, where the $ is used to identify the use of the variable - noting that Loop Variables only apply for Nodes between the relevant Loop: Start and Loop: End Nodes.

We recommend using l_ at the start of a Loop Variable name, with the name consisting of only lower case letters and underscores.

The following example loops over two variables, named 'l_scr' and 'l_xr'.

screenshot of the gridmo web app showing loop start node table

The above example will repeat the Nodes between the Loop: Start and Loop: End Nodes three times. Each time wherever $l_scr or $l_xr is found in the Node configuration, they are replaced with the Loop Variable values:

  • First loop: $l_scr will be replaced with the value 2.6 and $l_xr will be replaced with the value 8.
  • Second loop: $l_scr will be replaced with the value 2.9 and $l_xr will be replaced with the value 9.6.
  • Third loop: $l_scr will be replaced with the value 4.6 and $l_xr will be replaced with the value 14.2.
info

Nested loops are not currently supported.

Internode Variables

Internode Variables provide the ability to transfer data between two connected Nodes.

Internode Variables are identified using two curly brackets, such as {{i_variable_name}}.

We recommend using i_ at the start of an Internode Variable name, with the name consisting of only lower case letters and underscores.

Common Internode Variable use cases may include:

  • Exporting a single value (e.g. generator terminal voltage) from a PSS®E Static Node to be used in a PSCAD™ Node to assist with initialisation
  • Exporting an array of values (e.g. generator terminal active power) from a PSS®E Dynamic Node to a Plot Node to display the results in an output file

Internode Variables can be added to any input field within the Web App except for the following:

  • Plot Node Output file name field
  • Table Node File name field

Tasks

Tasks are the individual 'processing jobs' being scheduled and run on the Engine. Each Node may be converted into zero or more Tasks depending on user configurations, such as whether loops are used or a run is enabled/disabled.

This is primarily internal terminology, although users may see individual Task IDs when looking at the Engine worker status.

Commands

Commands allow users to configure tests. Commands are often specific to each Node type and have a combination of required and optional Arguments. There are Action Commands and Output Commands.

Actions

Actions are a type of Command which configure part of the test itself.

PSS®E Static | Example: Set bus 100 out of service.

SET, BUS=100, STATUS=OUT

Outputs

Outputs are a type of Command which configure the outputs of a test.

PSS®E Static | Example: Output the voltage [p.u] at bus 100 and name the internode variable 'busvolts'.

OUTPUT, BUS=100, VAL=V, NAME=busvolts

Advanced Parameters

Advanced Parameters allow users to configure test details which are not commonly used. Advanced Parameters are often specific to each Node type.

PSS®E Dynamic | Example Advanced Parameter: Measure system angle relative to the generator which was the slack bus prior to starting the dynamic simulation.

sim.relative.angles=Yes

Power factor

Classically, power factor is defined as the ratio of real power to apparent power (e.g. P/S). However, this definition has several limitations and undefined behaviour. For example, the power factor is undefined when P=0 and Q=0.

To address these limitations, gridmo uses the following definition for power factor:

definition of power factor, which returns 1 if 0/0, 0 if 0/x, 1 if very close to |1| and normal power factor otherwise

The special value 0.9995503 is derived from the below, meaning a power factor corresponding to an amount of reactive power within 3% of the active power value. This definition can limit rapid switching between positive and negative power factors in output plots.

definition of 0.9995503 used in the power factor calc, meaning an amount of reactive power within 3% of the P value

The sgn function is, in this context, the classical sign function modified such that it is never equal to 0.

definition of the sign function sgn in this context, it is never equal to 0

This means that the power factor definition above adheres to generator convention, e.g. injecting reactive power is a positive power factor and absorbing reactive power is a negative power factor.

Industry terms and definitions

TermDefinition
DMATDynamic Model Acceptance Test [AEMO]
Dynamic studyA study which emulates the real performance of network elements in a power system, conducted at a predefined time step.
GPSGenerator Performance Standards [AEMO]
Static studyA study which calculates the voltage, angle, active power and reactive power of network elements in a power system at a given moment.