Load Power
Load Table
E4ST.setup_table!
— Methodsetup_table!(config, data, ::Val{:nominal_load})
Set up the load table.
Also calls the following:
shape_nominal_load!(config, data)
- scales hourly load power by an hourly load profile by arbitrary regionmatch_nominal_load!(config, data)
- matches annual load energy by arbitrary regionadd_nominal_load!(config, data)
- adds hourly load power by arbitrary region
E4ST.summarize_table
— Methodsummarize_table(::Val{:nominal_load})
column_name | data_type | unit | required | description |
---|---|---|---|---|
bus_idx | Int64 | E4ST.NA | true | The bus index of the load element |
plnom0 | Float64 | E4ST.MWLoad | true | The nominal load power of the load element |
load_type | String | E4ST.NA | false | The type of load represented by this load element. |
Shaping Hourly Load
E4ST.shape_nominal_load!
— Methodshape_nominal_load!(config, data)
Shapes the hourly load to match profiles given in config[:load_shape_file]
. See summarize_table(::Val{:load_shape})
for more details
Load power often changes on an hourly basis. The load_shape_table
allows the user to provide hourly load profiles with which to scale the base load power for load regions, types, or even specific load elements. Each row of the table represents a set of load elements, and the hourly load profile with which to scale them. For load elements that fall in multiple sets, the hourly load will be scaled by each profile, in order.
E4ST.summarize_table
— Methodsummarize_table(::Val{:load_shape})
column_name | data_type | unit | required | description |
---|---|---|---|---|
area | String | E4ST.NA | true | The area with which to filter by. I.e. "state". Leave blank to not filter by area. |
subarea | String | E4ST.NA | true | The subarea to include in the filter. I.e. "maryland". Leave blank to not filter by area. |
load_type | String | E4ST.NA | false | The type of load represented for this load shape. Leave blank to not filter by type. |
year | String | E4ST.Year | false | The year to apply the load profile to, expressed as a year string prepended with a "y". I.e. "y2022" |
status | Bool | E4ST.NA | false | Whether or not to use this shape adjustment |
h_ | Float64 | E4ST.Ratio | true | Load scaling factor of hour 1. Include a column for each hour in the hours table. I.e. :h1 , :h2 , ... :hn |
Matching Yearly Load
E4ST.match_nominal_load!
— Methodmatch_nominal_load!(config, data)
Match the yearly load by area given in config[:load_match_file]
, updates the pd
field of the data[:bus]
. See summarize_table(::Val{:load_match})
for more details.
Often, we want to force the total energy load for a set of load elements over a year to match load projections from a data source. The load_match_table
allows the user to provide yearly energy load targets, in $MWh$, to match. The matching weights each hourly load by the number of hours spent at each of the representative hours, as provided in the hours
table, converting from $MW$ power load over the representative hour, into $MWh$.
E4ST.summarize_table
— Methodsummarize_table(::Val{:load_match})
column_name | data_type | unit | required | description |
---|---|---|---|---|
area | String | E4ST.NA | true | The area with which to filter by. I.e. "state". Leave blank to not filter by area. |
subarea | String | E4ST.NA | true | The subarea to include in the filter. I.e. "maryland". Leave blank to not filter by area. |
load_type | String | E4ST.NA | false | The type of load represented for this load match. Leave blank to not filter by type. |
status | Bool | E4ST.NA | false | Whether or not to use this match |
y_ | Float64 | E4ST.MWhLoad | true | The annual load energy to match for the weighted load of all load elements in the loads specified. Include 1 column for each year being simulated. I.e. "y2030", "y2035", ... To not match a specific year, make it -Inf |
Adding Hourly Load
E4ST.add_nominal_load!
— Methodadd_nominal_load!(config, data)
Add load power in config[:load_add_file]
to load elements after the annual match in match_nominal_load!
We may wish to provide additional load after the match so that we can compare the difference.
E4ST.summarize_table
— Methodsummarize_table(::Val{:load_add})
column_name | data_type | unit | required | description |
---|---|---|---|---|
area | String | E4ST.NA | true | The area with which to filter by. I.e. "state". Leave blank to not filter by area. |
subarea | String | E4ST.NA | true | The subarea to include in the filter. I.e. "maryland". Leave blank to not filter by area. |
load_type | String | E4ST.NA | false | The type of load represented for this load add. Leave blank to not filter by type. |
year | String | E4ST.Year | false | The year to apply the load profile to, expressed as a year string prepended with a "y". I.e. "y2022" |
status | Bool | E4ST.NA | false | Whether or not to use this addition |
h_ | Float64 | E4ST.MWLoad | true | Amount of load power to add in hour _. Include a column for each hour in the hours table. I.e. :h1 , :h2 , ... :hn |