Settings

Type: object

Network settings to apply to the base network (i.e., all multinetwork timesteps, not a specific one), such as bus voltage bounds, load priorities, cold load pickup, and global settings such as maximum switch actions per timestep and time elapsed per time step.

Additional properties on each object are allowed, but the object types are restricted to those in the ONM model.

No Additional Properties
Example:

{
    "switch_close_actions_ub": [
        1,
        1,
        1
    ],
    "time_elapsed": [
        0.1667,
        0.1667,
        0.1667
    ],
    "load": {
        "671": {
            "clpu_factor": 2
        }
    }
}

Type: object

Type: number

Type: object

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: number

Type: object

generator objects indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

generator object

Type: array of number

real power lower bounds in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

real power upper bounds in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

real power setpoint in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

Reactive power lower bounds in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

Reactive power upper bounds in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

Reactive power setpoint in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: enum (of string)

The control mode, i.e. FREQUENCYDROOP (grid-following) or ISOCHRONOUS (grid-forming)

Must be one of:

  • "FREQUENCYDROOP"
  • "ISOCHRONOUS"

Type: enum (of integer or string)

The status of the generation object, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: array of number

Cost model polynomial or piecewise parameters

No Additional Items

Each item of this array must be:

Type: integer

Cost model type, 1 = piecewise-linear, 2 = polynomial

Type: enum (of string)

Must be one of:

  • "GRID_FOLLOWING"
  • "GRID_FORMING"

Type: object

pv solar objects, indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

pv solar object

Type: array of number

real power lower bounds in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

real power upper bounds in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

real power setpoint in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

Reactive power lower bounds in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

Reactive power upper bounds in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

Reactive power setpoint in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: enum (of string)

The control mode, i.e. FREQUENCYDROOP (grid-following) or ISOCHRONOUS (grid-forming)

Must be one of:

  • "FREQUENCYDROOP"
  • "ISOCHRONOUS"

Type: enum (of integer or string)

The status of the generation object, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: array of number

Cost model polynomial or piecewise parameters

No Additional Items

Each item of this array must be:

Type: integer

Cost model type, 1 = piecewise-linear, 2 = polynomial

Type: enum (of string)

Must be one of:

  • "GRID_FOLLOWING"
  • "GRID_FORMING"

Type: object

voltage source objects, indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

voltage source object

Type: array

real power lower bounds in kW

No Additional Items

Each item of this array must be:

Type: number or null

Type: array

real power upper bounds in kW

No Additional Items

Each item of this array must be:

Type: number or null

Type: array of number

real power setpoint in kW

No Additional Items

Each item of this array must be:

Type: number

Type: array

Reactive power lower bounds in kVar

No Additional Items

Each item of this array must be:

Type: number or null

Type: array

Reactive power upper bounds in kVar

No Additional Items

Each item of this array must be:

Type: number or null

Type: array of number

Reactive power setpoint in kVar

No Additional Items

Each item of this array must be:

Type: number

Type: enum (of string)

The control mode, i.e. FREQUENCYDROOP (grid-following) or ISOCHRONOUS (grid-forming)

Must be one of:

  • "FREQUENCYDROOP"
  • "ISOCHRONOUS"

Type: enum (of integer or string)

The status of the generation object, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: array of number

Cost model polynomial or piecewise parameters

No Additional Items

Each item of this array must be:

Type: integer

Cost model type, 1 = piecewise-linear, 2 = polynomial

Type: enum (of string) Default: "GRID_FORMING"

Must be one of:

  • "GRID_FORMING"
  • "GRID_FOLLOWING"

Type: object

energy storage objects indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

energy storage object

Type: number

upper bound of energy that can be stored in kWhrs

Type: number

upper bound of energy that can be inserted into the battery kW

Type: number

upper bound of energy that can be withdrawn from the battery in kW

Type: number or null

upper bound on the power in or out of the battery

Type: number

currently stored energy in the battery in kWh

Type: number or null

lower bound of reactive power that can be outputted in kvar

Type: number or null

upper bound of reactive power that can be outputted in kvar

Type: number

real power losses

Type: number

reactive power losses

Type: enum (of integer or string)

the status of the asset, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: number or null

Percent within which power input/output must be on between phases on the storage object

Type: enum (of string)

Must be one of:

  • "GRID_FOLLOWING"
  • "GRID_FORMING"

Type: object

bus objects indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

bus object

Type: string

identifier for which microgrid the bus belongs

Type: array of number

the voltage magnitude lower bounds in volts

No Additional Items

Each item of this array must be:

Type: number

Type: array

the voltage magnitude upper bounds in volts

No Additional Items

Each item of this array must be:

Type: number or null

Type: array of number

the voltage magnitude setpoint of the bus, useful in cases where the bus should act as a reference, e.g., because a grid-forming inverter is connected

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

the voltage angle setpoint of the bus, useful in cases where the bus should act as a reference, e.g., because a grid-forming inverter is connected

No Additional Items

Each item of this array must be:

Type: number

Type: enum (of integer or string)

the status of the asset, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: object

load objects indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

load object

Type: number

cold load pickup factor

Type: number

cold load pickup duration in ms

Type: enum (of integer or string)

Indicator for whether the load is individually dispatchable (i.e., can the load be shed autonomously, as opposed to only be sheddable via block isolation)

Must be one of:

  • 0
  • 1
  • "YES"
  • "NO"

Type: enum (of integer or string)

the status of the asset, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: number

The priority of the load, i.e. a numerical value to indicate how important it is that the load not be shed

Type: object

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

Type: enum (of integer or string)

Must be one of:

  • "ENABLED"
  • "DISABLED"
  • 0
  • 1

Type: object

line objects indexed by name

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

line object

Type: array of number

voltage angle different lower bound in degrees

No Additional Items

Each item of this array must be:

Type: number

Type: array of number

voltage angle difference upper bound in degrees

No Additional Items

Each item of this array must be:

Type: number

Type: array

upper bounds on line currents in Amps

No Additional Items

Each item of this array must be:

Type: number or null

Type: array
No Additional Items

Each item of this array must be:

Type: number or null

Type: enum (of integer or string)

the status of the asset, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: object

switch objects indexed by

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

switch object

Type: enum (of string)

The default state of the switch, i.e., open or closed

Must be one of:

  • "open"
  • "closed"
  • "OPEN"
  • "CLOSED"

Type: enum (of integer or string)

is the switch autonomously operable by the ONM algorithm, i.e., yes (1) or no (2)

Must be one of:

  • 0
  • 1
  • "YES"
  • "NO"

Type: enum (of integer or string)

the status of the asset, i.e. enabled (1) or disabled (0)

Must be one of:

  • 0
  • 1
  • "ENABLED"
  • "DISABLED"

Type: array

current magnitude upper bound (normamps)

No Additional Items

Each item of this array must be:

Type: number or null

Type: array
No Additional Items

Each item of this array must be:

Type: number or null

Type: number Default: null

Type: number Default: null

Type: object

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object

Type: string or integer

Type: number or null

Type: number or null

Type: object

Type: object

Type: number or array of number

Type: number, array or null Default: null

Type: boolean Default: false

Type: object

Type: boolean Default: false

Flag to relax an integer (binary) variables to be continuous

Type: boolean Default: false

Flag to disable the upper bounds on voltage. Voltage magnitudes will still have a lower bound of 0.0

Type: boolean Default: false

Flag to disable bounds on line (branch) power variables

Type: boolean Default: false

Flag to disable bounds on line (branch) current variables

Type: boolean Default: false

Flag to disable bounds on switch power variables

Type: boolean Default: false

Flag to disable bounds on transformer power variables

Type: boolean Default: false

Flag to disable bounds on gen (generator, solar, voltage_source) power variables

Type: boolean Default: false

Flag to disable bounds on storage variables, including power, charge, discharge, and energy

Type: object

Type: boolean Default: false

Flag to disable the grid-forming inverter constraint, which enforces that there be exactly one grid-forming inverter in each energized connected component

Type: boolean Default: false

Flag to disable the block isolation constraint, which requires that switches between load blocks of differing status be open

Type: boolean Default: false

Flag to disable the radiality constraint, which requires that each energized connected component be radial in its topology (no cycles)

Type: boolean Default: false

Flag to disable microgrid networking. When enabled, microgrids are allowed to expand (pick up load), but may not network with one another

Type: boolean Default: false

Flag to disable current limit constraints (ampacity) on lines and switches

Type: boolean Default: false

Flag to disable thermal limit constraints (power) on lines, switches, and energy storage

Type: boolean Default: false

Flag to disable the switch close-action limit, which limits the number of closing actions that may occur in a timestep

Type: boolean Default: false

Flag to disable the storage unbalance constraint, which requires that grid-following storage devices output power within some factor of one another

Type: boolean Default: false

Flag to disable microgrid expansion. When enabled, would prevent microgrids from growing any larger, but not prevent switching actions within the boundary of a microgrid

Type: boolean Default: false

Flag to enable a constraint that requires that load restoration be strictly increasing, that is, load blocks once energized cannot be de-energized in a later timestep

Type: boolean Default: true

Flag to disable a constraint that encourages voltages on either side of OPEN switches remain with some distance of each other

Type: boolean Default: false

Flag to toggle between cuts specific for load block modeling or not

Type: object

Type: boolean Default: false

Flag to disable the cost term in the objective function related to change of state in switches (open-close, close-open)

Type: boolean Default: false

Flag to enable the cost term that adds a cost for open switches based on how much load is between them and some source of energy

Type: boolean Default: false

Flag to disable the generation cost term

Type: boolean Default: false

Flag to disable the storage discharge cost term, which adds a penalty for storage that is not completely charged to its upper bound

Type: boolean Default: false

Flag to disable the weight terms on the load-block cost term (i.e., make the cost of every shed load block be equal)

Type: boolean Default: false

Flag to disable the cost of not energizing load blocks

Type: boolean Default: true

Flag to disable the inclusion of voltage distance slack variables in the objective_mc_min_storage_utilization objective function

Type: object

Type: enum (of string) Default: "full-lookahead"

Choice for operations optimization algorithm, 'rolling-horizon' or 'full-lookahead'

Must be one of:

  • "rolling-horizon"
  • "full-lookahead"
  • "robust"

Type: enum (of string) Default: "LPUBFDiagPowerModel"

Choice for operations optimization formulation

Must be one of:

  • "lindistflow"
  • "transportation"
  • "acp"
  • "acr"
  • "nfa"
  • "lpubfdiag"
  • "LPUBFDiagPowerModel"
  • "ACPUPowerModel"
  • "ACRUPowerModel"
  • "NFAUPowerModel"

Type: enum (of string) Default: "block"

Choice for operations optimization problem type, 'block' or 'traditional'

Must be one of:

  • "block"
  • "traditional"

Type: enum (of string) Default: "mip_solver"

Choice for operations optimization solver

Must be one of:

  • "minlp_solver"
  • "mip_solver"
  • "misocp_solver"
  • "nlp_solver"

Type: enum (of string) Default: "LPUBFDiagPowerModel"

Choice for dispatch optimizatioin formulation

Must be one of:

  • "nfa"
  • "lindistflow"
  • "acp"
  • "acr"
  • "ivr"
  • "transportation"
  • "lpubfdiag"
  • "NFAUPowerModel"
  • "LPUBFDiagPowerModel"
  • "ACRUPowerModel"
  • "ACPUPowerModel"
  • "IVRUPowerModel"

Type: enum (of string) Default: "nlp_solver"

Choice for dispatch optimization solver

Must be one of:

  • "mip_solver"
  • "misocp_solver"
  • "minlp_solver"
  • "nlp_solver"

Type: enum (of string) Default: "nlp_solver"

Choice for fault studies optimization solver

Must be one of:

  • "nlp_solver"

Type: enum (of string) Default: "nlp_solver"

Choice for stability analysis optimization solver

Must be one of:

  • "nlp_solver"

Type: enum (of string) Default: "ACRUPowerModel"

Choice for stability analysis formulation

Must be one of:

  • "acp"
  • "acr"
  • "ACRUPowerModel"
  • "ACPUPowerModel"

Type: boolean Default: true

Flag to run the fault studies concurrently (in parallel, using Distributed)

Type: boolean Default: true

Flag to run the stability studies concurrently (in parallel, using Distributed)

Type: array of enum (of string)

List of optimizations or studies to skip, when running using entrypoint function

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "faults"
  • "stability"
  • "switching"
  • "dispatch"
  • "protection"

Type: object

Type: enum (of string) Default: "warn"

Setting to adjust the console log-level

Must be one of:

  • "debug"
  • "info"
  • "warn"
  • "error"

Type: boolean Default: true

Flag to enable 'pretty printing' of JSON output

Type: boolean Default: true

Flag to disable the create of sparse fault studies (if no faults are specified, one of every type will be applied at every bus

Type: boolean Default: false

Flag to enable debugging outputs (the full data structure), when used with entrypoint

Type: object

Solver options

Type: object

These are the options used for the HiGHS optimization solver. The options below are a set of sane defaults for this solver, but users are not restricted to these options, and may use any valid options for this solver

Type: boolean Default: false

Type: enum (of string) Default: "choose"

Must be one of:

  • "on"
  • "off"
  • "choose"

Type: number Default: 1e-06

Type: number Default: 1e-06

Type: number Default: 0.0001

Type: number Default: 0.0001

Type: number Default: 1e-12

Type: boolean Default: true

Type: object

These are the options used for the Ipopt optimization solver. The options below are a set of sane defaults for this solver, but users are not restricted to these options, and may use any valid options for this solver

Type: number Default: 1e-06

Type: number Default: 200

Type: enum (of string) Default: "adaptive"

Must be one of:

  • "adaptive"
  • "monotone"

Type: integer Default: 0

Type: object

These are the options used for the Juniper optimization solver. The options below are a set of sane defaults for this solver, but users are not restricted to these options, and may use any valid options for this solver

Type: enum (of string) Default: ":StrongPseuoCost"

Must be one of:

  • ":MostInfeasible"
  • ":PseudoCost"
  • ":StrongPseuoCost"
  • ":Reliability"

Type: array of enum (of string)
No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • ":Table"
  • ":Info"
  • ":Options"

Type: number Default: 0.0001

Type: enum (of string) Default: ":BFS"

Must be one of:

  • ":DFS"
  • ":BFS"
  • ":DBFS"

Type: boolean Default: true

Type: boolean Default: true

Type: number Default: 1e-06

Type: object

These are the options used for the Gurobi optimization solver. The options below are a set of sane defaults for this solver, but users are not restricted to these options, and may use any valid options for this solver

Type: integer Default: 0

Type: integer Default: 0

Type: number Default: 0.0001

Type: number Default: 1e-06

Type: integer Default: 1

Type: integer Default: 3

Type: integer Default: 2

Type: integer Default: 0

Value must be greater or equal to -1 and lesser or equal to 1

Type: integer Default: -1

Value must be greater or equal to -1 and lesser or equal to 2

Type: object

These are the options used for the KNITRO optimization solver. The options below are a set of sane defaults for this solver, but users are not restricted to these options, and may use any valid options for this solver

Type: integer Default: 0

Value must be greater or equal to 0 and lesser or equal to 6

Type: integer Default: 0

Value must be greater or equal to 0 and lesser or equal to 3

Type: number Default: 0.0001

Type: number Default: 1e-06

Type: integer Default: 3

Type: integer Default: 1

Type: boolean Default: false

Flag to enable the usage of the Gurobi commercial solver

Type: boolean Default: false

Flag to enable the usage of the KNITRO commercial solver

Type: object

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.+$
Type: object
No Additional Properties

Type: string

Must be one of:

  • "GRID_FORMING"
  • "grid_forming"
  • "gfm"
  • "GRID_FOLLOWING"
  • "grid_following"
  • "gfl"

Type: string

Must be one of:

  • "yes"
  • "no"
  • "YES"
  • "NO"
  • "y"
  • "n"
  • "Y"
  • "N"

Type: array, integer or null

deprecated: options/data/switch-close-actions-ub

No Additional Items

Each item of this array must be:

Type: integer or null

Type: boolean Default: false

deprecated: options/constraints/disable-microgrid-networking

Type: boolean Default: false

deprecated: options/constraints/disable-radiality-constraint

Type: boolean Default: false

deprecated: options/constraints/disable-block-isolation-constraint

Type: boolean Default: false

deprecated: options/constraints/disable-grid-forming-inverter-constraint

Type: boolean

deprecated: options/objective/disable-switch-state-change-cost

Type: boolean

deprecated: options/objective/enable-switch-state-open-cost

Type: boolean Default: false

deprecated: {solvers/HiGHS/presolve,solvers/Gurobi/Presolve,solvers/KNITRO/presolve}

Type: array of number or number

deprecated: options/data/time-elapsed

No Additional Items

Each item of this array must be:

Type: number

Type: number

deprecated: {solvers/Ipopt/tol,solvers/KNITRO/feastol}

Type: number

deprecated: {solvers/HiGHS/primalfeasibilitytolerance,solvers/HiGHS/dualfeasibilitytolerance,solvers/Gurobi/FeasibilityTol,solvers/Juniper/atol}

Type: numberFormat: float Default: 0.05

deprecated: {solvers/HiGHS/miprelgap,solvers/Gurobi/MIPGap,solvers/Juniper/mip_gap}

Value must be strictly greater than 0