Interface Limits

E4ST.InterfaceLimitType
InterfaceLimit(;file)

Constrain power flowing between regions for each representative hour. See summarize_table(::Val{:interface_limit}).

To change the power flow min/max for each year and/or hour, see AdjustYearly and AdjustHourly.

Keyword Arguments:

  • 'file' - the filename for the interface limit table

Tables Added

  • interface_limit - table contains information about the interface limit, the diretion of flow between bus tables, and the amunt of power/energy flow.

Table Columns Added

  • (:interface_limit, :pflow) - MW of power flowing from an f bus to a t bus in each hour.
  • (:interface_limit, :eflow) - MWh of power flowing from an f bus to a t bus in each representative hour.
  • (:interface_limit, :interface_limit_cost) - cost on the net flow of electricity from an f bus to a t bus in each representative hour, from an explicitly specified price.

Model Modifications:

  • Expressions
    • pflow_if[if_idx, yr_idx, hr_idx]- the power flowing, in MW, in each interface. This includes the sum of all pflow_branch terms for branches flowing f to t and nets the sum of all pflow_branch terms for branches flowing t to f.
    • interface_flow_cost_obj - adds the cost objective to the objective function
  • Constraints
    • cons_pflow_if_max[if_idx, yr_idx, hr_idx] - the maximum power flow in each interface.
    • cons_pflow_if_min[if_idx, yr_idx, hr_idx] - the minimum power flow in each interface.
    • cons_eflow_if_max[if_idx, yr_idx, hr_idx] - the sum of the maximum power flow in each interface during each representative hour.
    • cons_eflow_if_min[if_idx, yr_idx, hr_idx] - the sum of the minimum power flow in each interface during each representative hour.

Results Formulas

  • (:interface_limit, :pflow_if_max) - maximum net hourly diretional flow
  • (:interface_limit, :pflow_if_min) - minimum net hourly directional flow
  • (:interface_limit, :pflow_if_avg) - average net hourly directional flow
  • (:interface_limit, :eflow_if_total) - total net MWh of energy flow across the interface.
  • (:interface_limit, :pflow_line_max) - maxmimum net hourly directional flow for a single line.
source
E4ST.summarize_tableMethod
summarize_table(::Val{:interface_limit})
column_namedata_typeunitrequireddescription
nameStringE4ST.NAfalseName of the interface limit, not used
descriptionStringE4ST.NAfalseDescription of the interface limit, not used.
f_filterStringE4ST.NAtrueThe filter for the bus table specifiying the region the power is flowing from. I.e. nation=>narnia, or state=>[angard, stormness]
t_filterStringE4ST.NAtrueThe filter for the bus table specifiying the region the power is flowing to.
pflow_maxFloat64E4ST.MWFlowfalseThe maximum allowable power flow in the direction of f to t. If left as ±Inf, no constraint made.
pflow_minFloat64E4ST.MWFlowfalseThe minimum allowable power flow in the direction of f to t. Can be positive or negative. If left as ±Inf, no constraint made.
eflow_yearly_maxFloat64E4ST.MWhFlowfalseThe yearly maximum allowable energy to flow in the direction of f to t. If left as ±Inf, no constraint made.
eflow_yearly_minFloat64E4ST.MWhFlowfalseThe yearly minimum allowable energy to flow in the direction of f to t. Can be positive or negative. If left as ±Inf, no constraint made.
priceFloat64E4ST.DollarsPerMWhFlowfalseThe price of net flow in the direction of f to t.
include_dcBoolE4ST.NAfalseWhether or not to include DC lines in this interface limit. If not provided, assumed that DC lines are not included
source
E4ST.modify_raw_data!Method
modify_raw_data!(mod::InterfaceLimit, config, data)

Reads the interface limit table from mod.file and stores it to data[:interface_limit].

source
E4ST.modify_model!Method
modify_model!(mod::InterfaceLimit, config, data, model)
  • Gathers each of the branches (forward and reverse) for each of the rows of the interface_limit table.
  • Creates an expression pflow_if[if_idx, yr_idx, hr_idx] for the power flowing, in MW, in each interface. This includes
    • The sum of all of the pflow_branch terms for branches that are flowing in the direction of from to to.
    • Net the sum of all of the pflow_branch terms for branches that are flowing in the direction of to to from.
  • Creates min and max constraints cons_pflow_if_min[if_idx, yr_idx, hr_idx] and cons_pflow_if_max[if_idx, yr_idx, hr_idx] for each interface limit, for each year and hour in which the limit is finite, and there are qualifying pflow_branch variables in the interface.
  • Creates min and max constraints cons_eflow_if_min[if_idx, yr_idx] and cons_eflow_if_max[if_idx, yr_idx] for each interface limit, for each year in which the limit is finite, and there are qualifying pflow_branch variables in the interface.
  • Creates expression interface_flow_cost_obj[if_idx, yr_idx, hr_idx] for the cost of interface flow, and adds it to the objective.
source