Sectors#
To run sector coupled studies, the sector wildcard must be assigned to G. After doing so,
the following configuration options are exposed to the user.
Note
Only single-period studies are currently supported when running sector studies.
Carbon Limits#
# docs-co2
co2:
sequestration_potential: 0
policy: "config/policy_constraints/sector_co2_limits.csv"
Unit |
Values |
Description |
|
|---|---|---|---|
co2 |
Options on carbon dioxide tracking for sector studies |
||
– sequestration_potential |
MtCO2/a |
float |
CO2 sequestration potential. (Not Implemented) |
– policy |
str |
Path to emmison limit policy. Note, policy overrides the power sector emission policy configuration |
Natural Gas Options#
# docs-ng
natural_gas:
imports:
min: 0.99
max: 1.01
exports:
min: 0.99
max: 1.01
cyclic_storage: true
standing_loss: 0
marginal_cost_multiplier: 1
existing_pipeline_multiplier: 1
methane:
upstream_leakage_rate: 0.02 # per unit
downstream_leakage_rate: 0.02 # per unit
gwp: 0
Unit |
Values |
Description |
|
|---|---|---|---|
natural_gas |
Options when implementing natural gas networks |
||
– imports |
– |
Limits on imports compared to historical year |
|
— min |
per_unit |
float {>=0} |
Minimum import requirememnt compared to historical year. |
— max |
per_unit |
float {>=0} or ‘inf’ |
Maximum allowable imports compared to historical year. |
– exports |
– |
Limits on exports compared to historical year |
|
— min |
per_unit |
float {>=0} |
Minimum export requirememnt compared to historical year. |
— max |
per_unit |
float {>=0} or ‘inf’ |
Maximum allowable exports compared to historical year. |
– cyclic_storage |
– |
bool {true, false} |
Apply cyclic storage constraints on linepack and underground storage |
– standing_loss |
per_unit |
float {0 <=, >= 1} |
Leakage rate from pipelines. These leaks do NOT account towards emissions, just enforces gas production to replinish losses with cyclic constraints. |
– marginal_cost_multiplier |
per_unit |
float {>=0} |
Multiplier on the marginal cost of importing/exporting natural gas. |
– existing_pipeline_multiplier |
per_unit |
float {>=0} |
Multiplier on the existing pipeline capacity. See issue PyPSA/pypsa-usa#487 |
methane |
Options of methane emission accounting attached to natural gas networks |
||
– upstream_leakage_rate |
per_unit |
float {0 <=, >= 1} |
Upstream per_unit leakage rate of natural gas. Applied to gas processing facilities. |
– downstream_leakage_rate |
per_unit |
float {0 <=, >= 1} |
Downstream per_unit leakage rate of natural gas. Applied to all end-use technologies that use natural gas. |
– gwp |
– |
float |
Global warming potential of methane. GWP of 1 represents same carbon intensity as burned natural gas. |
Heating Sector#
# docs-heating
heating:
heat_pump_sink_T: 55.
Unit |
Values |
Description |
|
|---|---|---|---|
heating |
Options when implementing heating network |
||
– heat_pump_sink_T |
C |
float |
The temperature heat sink used in heat pumps based on DTU / large area radiators. The value is conservatively high to cover hot water and space heating in poorly-insulated buildings |
– equations |
– |
str |
Set of COP equations to use. (Not implemented) |
Service Sector#
# docs-service
service_sector:
dynamic_costs: True
split_res_com: True # false to be implemented
split_urban_rural: False
water_heating:
split_space_water: true
simple_storage: true
n_hours: 4
split_space_water_heating: True
brownfield: True
scale_exising_stock: True
gas_connection:
rural: 1 # to be implemented
urban: 1 # to be implemented
technologies:
space_heating:
elec_furnace: true
gas_furnace: true
oil_furnace: true
heat_pump: true
air_con: true
water_heating:
elec_water_tank: true
gas_water_tank: true
oil_water_tank: false
standing_losses: # per-unit
space: 0.05
water: 0.01
loads: # to be implemented
heating: true
cooling: true
demand_response:
shift: 0
marginal_cost:
electricity: 5
space-heat: 5
cool: 5
heat: 5
Unit |
Values |
Description |
|
|---|---|---|---|
service_sector |
Options when implementing the service sector (Residential and Commercial) |
||
– dynamic_costs |
– |
bool {true, false} |
Apply sector specific time varrying natural gas and heating fuel oil costs. |
– split_res_com |
– |
bool {true, false} |
Model the residential and commercial network seperatly, or aggregate into a single service sector. (Only False implemented) |
– split_urban_rural |
– |
bool {true, false} |
Model the urban and rural areas seperatly within each sector, or aggregate into a single region. If aggregated, constraints on GSHP capacity are implemented based on population. |
– split_space_water_heating |
– |
bool {true, false} |
Model space heat and water heat seperatly, or aggregate together. If aggregated, only space-heat technologyies are represented. |
– brownfield |
– |
bool {true, false} |
Include brownfield end-use capacity |
– scale_exising_stock |
– |
bool {true, false} |
Scales exisitng stock to equal capacity. If not the existing stock may not be enough to meet historical load. Needed as existing stock values are survay based.. |
– gas_connection |
Option on amount of area connected to the gas network. 1 represnets 100% of buildings connected, 0 represents 0% connected. |
||
– – urban |
per_unit |
float {0 <=, >= 1} |
Urban population connected to gas network. |
– – rural |
per_unit |
float {0 <=, >= 1} |
Rural population connected to gas network. |
– technologies |
Energy conversion technologies to model. |
||
– – space_heating |
Space heating technologies to model |
||
– – – elec_furnace |
– |
bool {true, false} |
Include electric furnace heaters as extendable |
– – – gas_furnace |
– |
bool {true, false} |
Include natural gas furnces as extendable |
– – – oil_furnace |
– |
bool {true, false} |
Include heating oil furnaces as extendable |
– – – heat_pump |
– |
bool {true, false} |
Include heat pumps as extendable. Both ASHPs and GSHPs are iuncluded. ASHP are used in urban areas, while GSHP are used in rural areas. |
– – – air_con |
– |
bool {true, false} |
Include air conditiners as extendable if modelling cooling load |
– – water_heating |
Water heating technologies to model |
||
– – – elec_water_tank |
– |
bool {true, false} |
Include electric hot water storage tanks as extendable |
– – – gas_water_tank |
– |
bool {true, false} |
Include natural gas hot water storage tanks as extendable |
– – – oil_water_tank |
– |
bool {true, false} |
Include heating oil hot water storage tanks as extendable |
– – standing_losses |
Standing losses to apply to space and water storages |
||
– – – space |
per_unit |
float {0 <=, >= 1} |
Hourly loss of space heat stores |
– – – water |
per_unit |
float {0 <=, >= 1} |
Hourly loss of water heat stores |
– loads |
Loads to include. Electricity is always modelled. |
||
– – heating |
– |
bool {true, false} |
Include heating loads. |
– – cooling |
– |
bool {true, false} |
Include cooling loads. Heating must be included to also include cooling |
– demnand_response |
Demand response options for the service sector. |
||
– – shift |
percentage |
float {0 <=, >= 100} or ‘inf’ |
Allowable load to be shifted per snapshot. Set to 0 to turn off demand response. Set to ‘inf’ to not enforce capacity limits. |
– – marginal_cost |
$/MWh |
float {0 <=} |
Cost to store one unit of energy for one hour. |
– – by_carrier |
bool {true, false} |
Run demand response at a per-carrier level. |
Note
If running demand response at a per-carrier level, put each carrier as a key. For example:
demand_response:
by_carrier: True
space-heat:
shift: 20
marginal_cost: 16
elec:
shift: 30
marginal_cost: 25
cool:
shift: 10
marginal_cost: 30
Transport Sector#
# docs-transport
transport_sector:
brownfield: True # false to be implemented
dynamic_costs: True # false to be implemented
ev_policy: "config/policy_constraints/ev_policy.csv"
must_run_evs: True
modes: # false to be implemented
vehicle: true
rail: true
air: true
boat: true
demand_response:
shift: 0
marginal_cost: 10
Unit |
Values |
Description |
|
|---|---|---|---|
transport_sector |
Options when implementing the transport sector |
||
– brownfield |
– |
bool {true, false} |
Include brownfield end-use capacity for all modelled modes of operation. |
– dynamic_costs |
– |
bool {true, false} |
Apply sector specific time varrying gasoline costs |
– must_run_evs |
– |
bool {true, false} |
If EV capacity factors match the load profile |
– modes |
Modes of transportation to include. (Only True implemented) |
||
– – vehicle |
bool {true, false} |
Include light-duty, medium-duty, heavy-duty, and bus road transportation. |
|
– – rail |
bool {true, false} |
Include passenger and freight rail |
|
– – air |
bool {true, false} |
Include passenger air travel |
|
– – boat |
bool {true, false} |
Include domestic marine shipping. |
|
– demnand_response |
Demand response options for the service sector. |
||
– – shift |
percentage |
float {0 <=, >= 100} or ‘inf’ |
Allowable load to be shifted per snapshot. Set to 0 to turn off demand response. Set to ‘inf’ to not enforce capacity limits. |
– – marginal_cost |
$/MWh |
float {0 <=} |
Cost to store one unit of energy for one hour. |
Industrial Sector#
# docs-industrial
industrial_sector:
brownfield: True # false to be implemented
dynamic_costs: True # false to be implemented
technologies: # false to be implemented
gas_furnace: true
coal_furnace: true
heat_pump: true
min_fossil_generation: 66 # percent
demand_response:
shift: 0
marginal_cost:
electricity: 5
heat: 5
Unit |
Values |
Description |
|
|---|---|---|---|
industrial_sector |
Options when implementing the industrial sector |
||
– brownfield |
– |
bool {true, false} |
Include brownfield end-use capacity. |
– dynamic_costs |
– |
bool {true, false} |
Apply sector specific time varrying natural gas, oil, and coal costs. |
– technologies |
Energy conversion technologies to model. |
||
– – gas_furnace |
bool {true, false} |
Include natural gas furnaces |
|
– – coal_furnace |
bool {true, false} |
Include coal boilers |
|
– – heat_pump |
bool {true, false} |
Include heat pumps |
|
– min_fossil_generation |
percentage |
float {0 <=, >= 100} |
Minimum generation from fossil sources to meet heat demand. |
– demnand_response |
Demand response options for the service sector. |
||
– – shift |
percentage |
float {0 <=, >= 100} or ‘inf’ |
Allowable load to be shifted per snapshot. Set to 0 to turn off demand response. Set to ‘inf’ to not enforce capacity limits. |
– – marginal_cost |
$/MWh |
float {0 <=} |
Cost to store one unit of energy for one hour. |
– – by_carrier |
bool {true, false} |
Run demand response at a per-carrier level. |
Note
If running demand response at a per-carrier level, put each carrier as a key. For example:
demand_response:
by_carrier: True
elec:
shift: 30
marginal_cost: 25
heat:
shift: 10
marginal_cost: 30