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. country=>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_limittable. - 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_branchterms for branches that are flowing in the direction of from to to. - Net the sum of all of the
pflow_branchterms 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_branchvariables 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_branchvariables 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.