This is the schema for the output statistics and analytics from the ONM workflow using entrypoint
and analyze_results!
{
"Events": [
{
"event_data": {
"status": 1,
"dispatchable": false,
"type": "breaker",
"state": "open"
},
"timestep": 1,
"affected_asset": "line.671700",
"event_type": "switch"
}
],
"Generator profiles": {
"Diesel DG (kW)": [
0,
0,
0
],
"Energy storage (kW)": [
0,
0,
0
],
"Solar DG (kW)": [
200,
175,
100
],
"Grid mix (kW)": [
1750,
2000,
3000
]
},
"Fault currents": [
{
"701_lg_1": {
"fault": {
"susceptance (S)": [
[
0,
0
],
[
0,
0
]
],
"connections": [
1,
4
],
"conductance (S)": [
[
100,
-100
],
[
-100,
100
]
],
"bus": "701",
"type": "lg"
},
"switch": {
"671692": {
"|I| (A)": null,
"|I2| (A)": 0.8,
"|I0| (A)": 1.2,
"|I1| (A)": 90.1,
"|V| (V)": [
2.5,
2.5,
2.5
]
}
}
}
}
],
"Runtime timestamp": "2021-01-01T00:00:00.000",
"Switch changes": [
[],
[
"671700"
],
[
"701702"
]
],
"Runtime arguments": {
"events": "../test/data/ieee13_events.json",
"faults": "../test/data/ieee13_faults.json",
"voltage-angle-difference": 5,
"network": "../test/data/ieee13_feeder.dss",
"settings": "../test/data/ieee13_settings.json",
"voltage-lower-bound": 0.8,
"quiet": true,
"inverters": "../test/data/ieee13_inverters.json",
"max-switch-actions": 1,
"voltage-upper-bound": 1.2
},
"Simulation time steps": [
1,
2,
3
],
"Voltages": {
"Min voltage (p.u.)": [
1,
1,
1
],
"Max voltage (p.u.)": [
1.2,
1,
1.1
],
"Mean voltage (p.u.)": [
1.1,
1,
1
]
},
"Additional statistics": {},
"Storage SOC (%)": [
null,
null,
null
],
"Powerflow output": [
{
"voltage_source": {
"source": {
"real power setpoint (kW)": [
581.8173560045832,
468.8619242602074,
708.8039492196247
],
"reactive power setpoint (kVar)": [
244.09972136399347,
32.25338488759224,
40.35427973972425
]
}
},
"solar": {
"pv1": {
"real power setpoint (kW)": [
64.49371884320102,
64.507863885424,
64.49849984139108
],
"reactive power setpoint (kVar)": [
41.23181415943054,
41.23340639500285,
41.23312440672468
]
}
},
"bus": {
"611": {
"voltage (V)": [
2.5217499128997907
]
}
}
}
],
"Small signal stable": [
false,
false,
false
],
"Load served": {
"Bonus load via microgrid (%)": [
0,
0,
0
],
"Feeder load (%)": [
85.8,
91.2,
96.7
],
"Microgrid load (%)": [
9.4,
9,
3.2
]
},
"Device action timeline": [
{
"Shedded loads": [
"701",
"700"
],
"Switch configurations": {
"671692": "closed",
"671700": "open",
"701702": "open"
}
},
{
"Shedded loads": [],
"Switch configurations": {
"671692": "closed",
"671700": "closed",
"701702": "open"
}
},
{
"Shedded loads": [],
"Switch configurations": {
"671692": "closed",
"671700": "closed",
"701702": "closed"
}
}
]
}
Time at which ONM algorithm was executed
The actual timesteps, either in datetime strings, or as numbers
Statistics about the load served, in percent, either by the Grid (feeder), or by the microgrids
No Additional PropertiesThe percent of load served by the feeder (grid)
The percent of customers served by the feeder (grid)
The percent of total load served by any resource
The percent of total customers served by any resource
The percent of load served by the microgrids
The percent of customers served by the microgrids
The percent of additional load that microgrids are supporting outside of their predefined microgrid zones
The percent of additional customers that microgrids are supporting outside of their predefined microgrid zones
Statistics about the sources of generation, including solar PV, energy storage, traditional diesel, and from the grid (feeder)
No Additional PropertiesThe amount of power provided from the grid (feeder) in kW
The amount of power provided by solar PV sources kW
The amount of power provided by energy storage sources in kW
The amount of power provided by tranditional diesel generation in kW
Statistics about the voltage magnitudes at each timestep
No Additional PropertiesThe minimum voltage over the whole feeder at each timestep in per-unit representation
The mean voltage over the whole feeder at each timestep in per-unit representation
The maximum voltage over the whole feeder at each timestep in per-unit representation
List of lists of switches whose state changed between timesteps
List of switches whose state changed from the previous timestep
Object for each timestep, in order, containing information about the switch topology and a list of each load that has been shed at that timestep.
Timestep object containing information about shedded loads and switch configurations
No Additional PropertiesA list of loads that have been shed at the current timestep
Object containing all switches at their corresponding states at the current timestep
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^.+$
switch_name: state
List of microgrid networks
List of microgrids that are networked together
[
{
"Shedded loads": [
"load.123"
],
"Switch configurations": {
"switch.123": "open",
"switch.456": "closed"
}
},
{
"Shedded loads": [],
"Switch configurations": {
"switch.123": "closed",
"switch.456": "closed"
}
}
]
The schema for the powerflow outputs from optimize_dispatch
, which include real and reactive power setpoints at generation objects, which include diesel generators (generator
), substations/grid/feeder (voltage_source
), solar PV (solar
), or energy storage (storage
), and voltage magnitudes at buses. All values are in SI units.
Timestep object
No Additional PropertiesGeneration types: diesel generators (generator
), or substations (voltage_source
), or solar PV (solar
), or energy storage (storage
)
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^.+$
generation object
No Additional Propertiesreal power setpoints in kW
reactive power setpoint in kVar
The connections (terminals) that the voltage source is connected to, in order
Indicator for whether the generation object is grid-forming or grid-following
Generation types: diesel generators (generator
), or substations (voltage_source
), or solar PV (solar
), or energy storage (storage
)
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^.+$
generation object
No Additional Propertiesreal power setpoints in kW
reactive power setpoint in kVar
The connections (terminals) that the generator is connected to, in order
Generation types: diesel generators (generator
), or substations (voltage_source
), or solar PV (solar
), or energy storage (storage
)
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^.+$
generation object
No Additional Propertiesreal power setpoints in kW
reactive power setpoint in kVar
The connections (terminals) that the solar PV is connected to, in order
Generation types: diesel generators (generator
), or substations (voltage_source
), or solar PV (solar
), or energy storage (storage
)
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^.+$
storage object
No Additional Propertiesreal power setpoints in kW
reactive power setpoint in kVar
The connections (terminals) that the storage is connected to, in order
Bus objects indexed by name
No Additional PropertiesAll properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^.+$
Bus object
No Additional PropertiesVoltage magnitudes in Volts
The active terminals on the bus, in order
Switch objects indexed by name
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^.+$
Switch object
The real power flow on the switch, coming from the from-side, in kW
The reactive power flow through the switch coming from the from-side, in kVar
The current flow through the switch coming from the from-side, in Amps
The connections (terminals) that the switch is connected to on the from-side, in order
The voltage on the from-side bus in Volts
Protection monitored objects indexed by type.name
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^.+$
Protection monitored object
The real power flow on the protection-monitored-object, coming from the from-side, in kW
The reactive power flow through the protection-monitored-object coming from the from-side, in kVar
The connections (terminals) that the protection-monitored-object is connected to on the from-side, in order
The voltage magnitude on the from-side bus in kilovolts
The voltage angle on the from-side bus in degrees
[
{
"voltage_source": {
"source": {
"real power setpoint (kW)": [
581.8173560045832,
468.8619242602074,
708.8039492196247
],
"reactive power setpoint (kVar)": [
244.09972136399347,
32.25338488759224,
40.35427973972425
]
}
},
"solar": {
"pv1": {
"real power setpoint (kW)": [
64.49371884320102,
64.507863885424,
64.49849984139108
],
"reactive power setpoint (kVar)": [
41.23181415943054,
41.23340639500285,
41.23312440672468
]
}
},
"bus": {
"611": {
"voltage (V)": [
2.5217499128997907
]
}
}
}
]
A place for additional statistics and analytics, which can be specified arbitrarily.
{
"Protection settings": [
{
"primary pickup (A)": [
0
],
"TDS": [
0
],
"to": [
"string"
],
"from": [
"string"
],
"TOC": [
"string"
],
"operating time (s)": [
0
]
}
]
}
A list of events, ordered (i.e., later events will overwrite earlier ones if there is a conflict), that can either be a switching action, or a fault.
Must contain a minimum of 0
items
Event definition
No Additional PropertiesTimestep, in string, integer, or float, that identifies the timestep at which this event is applied.
Must match regular expression:^\d+\.*\d*
The type of event (switch or fault)
The asset that is being affected by the event
Must match regular expression:^[Ll][Ii][Nn][Ee]\..+$
Must be at least 5
characters long
The event data
Switch event data
No Additional PropertiesType of switch, e.g., "fuse", "breaker", "recloser", etc.
What is the state of the switch, "open" or "closed"? Only used if "event_type" is "switch".
Is the affected object dispatchable? (i.e., can be opened or closed), default is false
Status of the object, if 0, completely outaged from the model. Default 1.
Fault event data
No Additional PropertiesDuration of a fault, in milliseconds, -1 ==> permanent fault
Value must be greater or equal to -1
[
{
"timestep": 1,
"event_type": "switch",
"affected_asset": "line.switch_name",
"event_data": {
"type": "breaker",
"state": "open",
"dispatchable": false,
"status": 1
}
}
]
The allowed runtime arguments for PowerModelsONM's entrypoint
.
{
"network": "../test/data/ieee13_feeder.dss",
"gurobi": false,
"settings": "../test/data/ieee13_settings.json",
"faults": "../test/data/ieee13_faults.json",
"inverters": "../test/data/ieee13_inverters.json",
"events": "../test/data/ieee13_events.json",
"log-level": "error",
"opt-disp-formulation": "acr"
}
The network file path (DSS format)
The path to the settings input file (JSON format)
The path to the events input file (JSON format)
The path to the faults input file (JSON format)
The path to the inverters input file (JSON format)
The path to the output file (JSON format)
deprecated: solvers/useGurobi
deprecated: solvers/useKNITRO
deprecated: options/problem/skip
All items must be unique
deprecated: options/outputs/log-level
missing
missing
missing
Number of processors to utilize for parallel computations (Fault studies and Stability Analysis)
deprecated: options/output/pretty-print
deprecated: options/problem/operations-formulation
deprecated: options/problem/operations-algorithm
deprecated: options/problem/operations-solver
deprecated: options/problem/operations-problem-type
deprecated: options/problem/dispatch-formulation
deprecated: missing
deprecated: options/problem/dispatch-solver
deprecated: options/data/fix-small-numbers
deprecated: options/objective/disable-switch-state-change-cost
deprecated: options/objective/enable-switch-state-open-cost
deprecated: options/constraints/disable-radiality-constraint
deprecated: options/constraints/disable-block-isolation-constraint
deprecated: options/constraints/disable-grid-forming-inverter-constraint
deprecated: options/constraints/disable-microgrid-networking
deprecated: {solvers/HiGHS/presolve,solvers/Gurobi/Presolve,solvers/KNITRO/presolve}
Collection of data about fault currents collected from the outputs of fault studies using PowerModelsProtection
fault studies results
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^.+$
Bus on which the faults apply
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^[3p|3pg|ll|llg|lg]$
collection of faults of type {}
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^\d+$
Results enumerated by keys of the format busName_faultType_faultID
The fault object which idenifies the details about the fault that was applied in this particular study
No Additional PropertiesThe bus at which the fault was applied
The type of fault, i.e., three-phase (3p
), three-phase-to-ground (3pg
), line-to-line-to-ground (llg
), line-to-line (ll
), line-to-ground (lg
)
conductance matrix of the fault in Siemens
row vector of the conductance matrix
Susceptance matrix of the fault in Siemens, usually all zeros
Row vector of the susceptance matrix
connections (phases) over which the fault applies
switch objects indexed by name
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^.+$
switch (protection) object
No Additional PropertiesFault current magnitude in amps
Bus voltage magnitude in volts
Bus voltage angles in degrees
Fault current angles in degrees
Real part of the zero sequence current in amps
Real part of the positive sequence current in amps
Real part of the negative sequence current in amps
Imaginary part of the zero sequence current in amps
Imaginary part of the positive sequence current in amps
Imaginary part of the negative sequence current in amps
magnitude of zero sequence current in amps
magnitude of positive sequence current in amps
magnitude of negative sequence current in amps
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^.+$
switch (protection) object
No Additional PropertiesFault current magnitude in amps
Bus voltage magnitude in volts
Bus voltage angles in degrees
Fault current angles in degrees
Real part of the zero sequence current in amps
Real part of the positive sequence current in amps
Real part of the negative sequence current in amps
Imaginary part of the zero sequence current in amps
Imaginary part of the positive sequence current in amps
Imaginary part of the negative sequence current in amps
magnitude of zero sequence current in amps
magnitude of positive sequence current in amps
magnitude of negative sequence current in amps
[
{
"701_lg_1": {
"fault": {
"susceptance (S)": [
[
0,
0
],
[
0,
0
]
],
"connections": [
1,
4
],
"conductance (S)": [
[
100,
-100
],
[
-100,
100
]
],
"bus": "701",
"type": "lg"
},
"switch": {
"671692": {
"|I| (A)": null,
"|I2| (A)": 0.8,
"|I0| (A)": 1.2,
"|I1| (A)": 90.1,
"|V| (V)": [
2.5,
2.5,
2.5
]
}
}
}
}
]
Output from small signal stability analysis
List of lists of switches whose state changed between timesteps
Results (not the solutions) from the optimal switching alogrithm, including information about the solver, solve time, mip_gap, etc. If opt-switch-algorithm=global is used, there will only be a single dict
Information about the optimization results
Duration of time spent in solver
Name of the optimizer used
The status of the solve from the optimizer
the Dual Status from the optimizer
The primal status from the optimizer
The final value of the problem objective
The MIP (optimality) gap, if available
The lower bound on the objective, if exists, from the solver
Outputs from fault studies
Fault study per time step
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^.+$
Fault study at bus
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^[3p|3pg|llg|lg|ll]$
Fault study with fault type of
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^\d+$
Information about the optimization results
Same definition as optimization_metadataMetadata about the system that ran the ONM process
output of Julia Sys.MACHINE
Output of Julia first(Sys.cpu_info()).model
Output of Julia Hwloc.num_physical_cores()
Output of Julia Hwloc.num_virtual_cores()
Output of Julia Sys.total_memory() in GB
Output of Julia Threads.nthreads()
Number of processors available to Julia
Output of Julia.VERSION
Protection settings outputs
Network data model used for computing optimal protection settings
list of buses in the network model
Bus object
Name of the bus
Terminals on the bus
Number of phases on the bus
list of lines (including switches) in the network model
Line object
name of the line or switch
bus on the from-side of the line
bus on the to-side of the line
Phase connections on the from-side of the line
Phase connections on the to-side of the line
Series resistance of the line in ohm/meter of size (fconnections, tconnections)
Series reactance of the line in ohm/meter of size (fconnections, tconnections)
number of phases in the line
Is the line a switch?
List of transformers in the network model
Transformer object
Name of the transformer
List of buses (each winding)
List of phase connections in the in the transformer (each winding)
number of windings
numb
List of configurations for each winding (WYE/DELTA)
List of voltage bases for each winding in kV
Thermal rating of the transformer in kVA
List of generation sources, i.e., generators, storage, pvsystems, and vsources in the network model
Source object
name of the source object
bus to which the source object is connected
type of the source object (generator, storage, vsource, pvsystem)
Phase connections of the source object
Number of phases in the source object
List of protection devices, i.e., relays, fuses, and reclosers, in the network model
Protection object
name of the protection object
type of protection (relay, fuse, recloser)
location of the protection object (monitoredobj)
Output from Protection optimization algorithm
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^.+$
Output from Protection optimization algorithm