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 anfbus to atbus in each hour.(:interface_limit, :eflow)- MWh of power flowing from anfbus to atbus in each representative hour.(:interface_limit, :interface_limit_cost)- cost on the net flow of electricity from anfbus to atbus 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_branchterms for branches flowingftotand nets the sum of allpflow_branchterms for branches flowingttof.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_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.