Interface Limits
E4ST.InterfaceLimit
— TypeInterfaceLimit(;file)
Constrain power flowing between regions for each representative hour. See summarize_table(::Val{:interface_limit})
.
modify_raw_data!(mod::InterfaceLimit, config, data)
modify_model!(mod::InterfaceLimit, config, data, model)
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 anf
bus to at
bus in each hour.(:interface_limit, :eflow)
- MWh of power flowing from anf
bus to at
bus in each representative hour.(:interface_limit, :interface_limit_cost)
- cost on the net flow of electricity from anf
bus to at
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 allpflow_branch
terms for branches flowingf
tot
and nets the sum of allpflow_branch
terms for branches flowingt
tof
.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.
E4ST.summarize_table
— Methodsummarize_table(::Val{:interface_limit})
column_name | data_type | unit | required | description |
---|---|---|---|---|
name | String | E4ST.NA | false | Name of the interface limit, not used |
description | String | E4ST.NA | false | Description of the interface limit, not used. |
f_filter | String | E4ST.NA | true | The filter for the bus table specifiying the region the power is flowing from. I.e. nation=>narnia , or state=>[angard, stormness] |
t_filter | String | E4ST.NA | true | The filter for the bus table specifiying the region the power is flowing to. |
pflow_max | Float64 | E4ST.MWFlow | false | The maximum allowable power flow in the direction of f to t . If left as ±Inf, no constraint made. |
pflow_min | Float64 | E4ST.MWFlow | false | The 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_max | Float64 | E4ST.MWhFlow | false | The yearly maximum allowable energy to flow in the direction of f to t . If left as ±Inf, no constraint made. |
eflow_yearly_min | Float64 | E4ST.MWhFlow | false | The 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. |
price | Float64 | E4ST.DollarsPerMWhFlow | false | The price of net flow in the direction of f to t . |
include_dc | Bool | E4ST.NA | false | Whether or not to include DC lines in this interface limit. If not provided, assumed that DC lines are not included |
E4ST.modify_raw_data!
— Methodmodify_raw_data!(mod::InterfaceLimit, config, data)
Reads the interface limit table from mod.file
and stores it to data[:interface_limit]
.
E4ST.modify_model!
— Methodmodify_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.
- The sum of all of the
- Creates min and max constraints
cons_pflow_if_min[if_idx, yr_idx, hr_idx]
andcons_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 qualifyingpflow_branch
variables in the interface. - Creates min and max constraints
cons_eflow_if_min[if_idx, yr_idx]
andcons_eflow_if_max[if_idx, yr_idx]
for each interface limit, for each year in which the limit is finite, and there are qualifyingpflow_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.