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
.
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.