# Interface Limits

`E4ST.InterfaceLimit`

— Type`InterfaceLimit(;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`

— Method`summarize_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!`

— Method`modify_raw_data!(mod::InterfaceLimit, config, data)`

Reads the interface limit table from `mod.file`

and stores it to `data[:interface_limit]`

.

`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**f**rom to**t**o. - Net the sum of all of the
`pflow_branch`

terms for branches that are flowing in the direction of**t**o to**f**rom.

- The sum of all of the
- 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.