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
No Additional ItemsStatistics 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)
No Additional ItemsThe percent of customers served by the feeder (grid)
No Additional ItemsThe percent of total load served by any resource
No Additional ItemsThe percent of total customers served by any resource
No Additional ItemsThe percent of load served by the microgrids
No Additional ItemsThe percent of customers served by the microgrids
No Additional ItemsThe percent of additional load that microgrids are supporting outside of their predefined microgrid zones
No Additional ItemsThe percent of additional customers that microgrids are supporting outside of their predefined microgrid zones
No Additional ItemsStatistics 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
No Additional ItemsThe amount of power provided by solar PV sources kW
No Additional ItemsThe amount of power provided by energy storage sources in kW
No Additional ItemsThe amount of power provided by tranditional diesel generation in kW
No Additional ItemsStatistics about the voltage magnitudes at each timestep
No Additional PropertiesThe minimum voltage over the whole feeder at each timestep in per-unit representation
No Additional ItemsThe mean voltage over the whole feeder at each timestep in per-unit representation
No Additional ItemsThe maximum voltage over the whole feeder at each timestep in per-unit representation
No Additional ItemsList of lists of switches whose state changed between timesteps
No Additional ItemsList 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.
No Additional ItemsTimestep object containing information about shedded loads and switch configurations
No Additional PropertiesA list of loads that have been shed at the current timestep
No Additional ItemsObject 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
No Additional ItemsList of microgrids that are networked together
No Additional Items[
{
"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
No Additional Itemsreactive power setpoint in kVar
No Additional ItemsThe connections (terminals) that the voltage source is connected to, in order
No Additional ItemsIndicator 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
No Additional Itemsreactive power setpoint in kVar
No Additional ItemsThe connections (terminals) that the generator is connected to, in order
No Additional ItemsGeneration 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
No Additional Itemsreactive power setpoint in kVar
No Additional ItemsThe connections (terminals) that the solar PV is connected to, in order
No Additional ItemsGeneration 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
No Additional Itemsreactive power setpoint in kVar
No Additional ItemsThe connections (terminals) that the storage is connected to, in order
No Additional ItemsBus 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
No Additional ItemsThe active terminals on the bus, in order
No Additional ItemsSwitch 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
No Additional ItemsThe reactive power flow through the switch coming from the from-side, in kVar
No Additional ItemsThe current flow through the switch coming from the from-side, in Amps
No Additional ItemsThe connections (terminals) that the switch is connected to on the from-side, in order
No Additional ItemsThe voltage on the from-side bus in Volts
No Additional ItemsProtection 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
No Additional ItemsThe reactive power flow through the protection-monitored-object coming from the from-side, in kVar
No Additional ItemsThe connections (terminals) that the protection-monitored-object is connected to on the from-side, in order
No Additional ItemsThe voltage magnitude on the from-side bus in kilovolts
No Additional ItemsThe voltage angle on the from-side bus in degrees
No Additional Items[
{
"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
No Additional Itemsdeprecated: 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
No Additional Itemsfault 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
No Additional Itemsrow vector of the conductance matrix
No Additional ItemsSusceptance matrix of the fault in Siemens, usually all zeros
No Additional ItemsRow vector of the susceptance matrix
No Additional Itemsconnections (phases) over which the fault applies
No Additional Itemsswitch 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
No Additional ItemsBus voltage magnitude in volts
No Additional ItemsBus voltage angles in degrees
No Additional ItemsFault current angles in degrees
No Additional ItemsReal 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
No Additional ItemsBus voltage magnitude in volts
No Additional ItemsBus voltage angles in degrees
No Additional ItemsFault current angles in degrees
No Additional ItemsReal 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
No Additional ItemsList of lists of switches whose state changed between timesteps
No Additional ItemsResults (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
No Additional ItemsInformation 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
No Additional ItemsFault 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
No Additional ItemsBus object
Name of the bus
Terminals on the bus
No Additional ItemsNumber of phases on the bus
list of lines (including switches) in the network model
No Additional ItemsLine 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
No Additional ItemsPhase connections on the to-side of the line
No Additional ItemsSeries resistance of the line in ohm/meter of size (fconnections, tconnections)
No Additional ItemsSeries reactance of the line in ohm/meter of size (fconnections, tconnections)
No Additional Itemsnumber of phases in the line
Is the line a switch?
List of transformers in the network model
No Additional ItemsTransformer object
Name of the transformer
List of buses (each winding)
No Additional ItemsList of phase connections in the in the transformer (each winding)
No Additional Itemsnumber of windings
numb
List of configurations for each winding (WYE/DELTA)
No Additional ItemsList of voltage bases for each winding in kV
No Additional ItemsThermal rating of the transformer in kVA
List of generation sources, i.e., generators, storage, pvsystems, and vsources in the network model
No Additional ItemsSource 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
No Additional ItemsNumber of phases in the source object
List of protection devices, i.e., relays, fuses, and reclosers, in the network model
No Additional ItemsProtection object
name of the protection object
type of protection (relay, fuse, recloser)
location of the protection object (monitoredobj)
Output from Protection optimization algorithm
No Additional ItemsAll properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:^.+$
Output from Protection optimization algorithm
No Additional Items