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](/assets/images/engine-id-fd249d404f4190ac0580838f6b17fb54.png)
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](/assets/images/psse-static-node-4dc3771d60365ed592e30e8b4ac66523.png)
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](/assets/images/general-edge-69555f6c7a982ae49c976a7e311bcdfb.png)
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 RunStart
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](/assets/images/general-run-39a13b96d615e342da73bec38811cd32.png)
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](/assets/images/general-flow-74ae24a7dfeee2523b53d5bf83fb9e2d.png)
Project
A Project is made up of project settings, Flows, Global Variables and Scenario Variables.
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](/assets/images/scenario-variables-b8095061c4c32b6fb5cfc65cdb910a15.png)
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](/assets/images/global-variables-df3c7ccf4f8a9e4235103867b5318f5c.png)
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
toLoop: 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](/assets/images/loop-variables-437bfd4dda8751f7af7054e44c429c7b.png)
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](/assets/images/loop-start-node-table-d835ca73d67684b101b85963082d0110.png)
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 value2.6
and$l_xr
will be replaced with the value8
. - Second loop:
$l_scr
will be replaced with the value2.9
and$l_xr
will be replaced with the value9.6
. - Third loop:
$l_scr
will be replaced with the value4.6
and$l_xr
will be replaced with the value14.2
.
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 aPSCAD™
Node to assist with initialisation - Exporting an array of values (e.g. generator terminal active power) from a
PSS®E Dynamic
Node to aPlot
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
NodeOutput file name
fieldTable
NodeFile 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:
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.
The sgn
function is, in this context, the classical sign function modified such that 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
Term | Definition |
---|---|
DMAT | Dynamic Model Acceptance Test [AEMO] |
Dynamic study | A study which emulates the real performance of network elements in a power system, conducted at a predefined time step. |
GPS | Generator Performance Standards [AEMO] |
Static study | A study which calculates the voltage, angle, active power and reactive power of network elements in a power system at a given moment. |