add new link oil boiler
* prepare_sector_network: - add link for oil boiler in function add_industry() - add function for partitioning clusters into different heat node types * config.yaml: add option for oil_boiler * costs.csv: add costs for oil boiler
This commit is contained in:
parent
1e4616fb16
commit
a4db176458
@ -72,6 +72,7 @@ sector:
|
||||
'tes' : True
|
||||
'tes_tau' : 3.
|
||||
'boilers' : True
|
||||
'oil_boilers': True
|
||||
'chp' : True
|
||||
'solar_thermal' : True
|
||||
'solar_cf_correction': 0.788457 # = >>> 1/1.2683
|
||||
|
@ -239,3 +239,7 @@ HVDC submarine,2030,FOM,2,%/year,Hagspiel
|
||||
HVDC inverter pair,2030,investment,150000,EUR/MW,Hagspiel
|
||||
HVDC inverter pair,2030,lifetime,40,years,Hagspiel
|
||||
HVDC inverter pair,2030,FOM,2,%/year,Hagspiel
|
||||
decentral oil boiler,2030,investment,156.0140915953699,EUR/kWth,Palzer thesis (https://energiesysteme-zukunft.de/fileadmin/user_upload/Publikationen/PDFs/ESYS_Materialien_Optimierungsmodell_REMod-D.pdf) (+eigene Berechnung)
|
||||
decentral oil boiler,2030,lifetime,20.0,years,Palzer thesis (https://energiesysteme-zukunft.de/fileadmin/user_upload/Publikationen/PDFs/ESYS_Materialien_Optimierungsmodell_REMod-D.pdf)
|
||||
decentral oil boiler,2030,FOM,2.0,%/year,Palzer thesis (https://energiesysteme-zukunft.de/fileadmin/user_upload/Publikationen/PDFs/ESYS_Materialien_Optimierungsmodell_REMod-D.pdf)
|
||||
decentral oil boiler,2030,efficiency,0.9,per unit,Palzer thesis (https://energiesysteme-zukunft.de/fileadmin/user_upload/Publikationen/PDFs/ESYS_Materialien_Optimierungsmodell_REMod-D.pdf)
|
||||
|
|
@ -757,25 +757,9 @@ def add_heat(network):
|
||||
|
||||
print("adding heat")
|
||||
|
||||
sectors = ["residential","services"]
|
||||
sectors = ["residential", "services"]
|
||||
|
||||
#stores the different groups of nodes
|
||||
nodes = {}
|
||||
|
||||
#rural are areas with low heating density and individual heating
|
||||
#urban are areas with high heating density
|
||||
#urban can be split into district heating (central) and individual heating (decentral)
|
||||
for sector in sectors:
|
||||
nodes[sector + " rural"] = pop_layout.index
|
||||
|
||||
if options["central"]:
|
||||
urban_decentral_ct = pd.Index(["ES","GR","PT","IT","BG"])
|
||||
nodes[sector + " urban decentral"] = pop_layout.index[pop_layout.ct.isin(urban_decentral_ct)]
|
||||
else:
|
||||
nodes[sector + " urban decentral"] = pop_layout.index
|
||||
|
||||
#for central nodes, residential and services are aggregated
|
||||
nodes["urban central"] = pop_layout.index ^ nodes["residential urban decentral"]
|
||||
nodes = create_nodes_for_heat_sector()
|
||||
|
||||
#NB: must add costs of central heating afterwards (EUR 400 / kWpeak, 50a, 1% FOM from Fraunhofer ISE)
|
||||
|
||||
@ -1043,6 +1027,24 @@ def add_heat(network):
|
||||
capital_cost=options['retrofitting-cost_factor']*costs.at['retrofitting II','fixed']*square_metres/(options['retroII-fraction']*space_peak))
|
||||
|
||||
|
||||
def create_nodes_for_heat_sector():
|
||||
sectors = ["residential", "services"]
|
||||
# stores the different groups of nodes
|
||||
nodes = {}
|
||||
# rural are areas with low heating density and individual heating
|
||||
# urban are areas with high heating density
|
||||
# urban can be split into district heating (central) and individual heating (decentral)
|
||||
for sector in sectors:
|
||||
nodes[sector + " rural"] = pop_layout.index
|
||||
|
||||
if options["central"]:
|
||||
urban_decentral_ct = pd.Index(["ES", "GR", "PT", "IT", "BG"])
|
||||
nodes[sector + " urban decentral"] = pop_layout.index[pop_layout.ct.isin(urban_decentral_ct)]
|
||||
else:
|
||||
nodes[sector + " urban decentral"] = pop_layout.index
|
||||
# for central nodes, residential and services are aggregated
|
||||
nodes["urban central"] = pop_layout.index ^ nodes["residential urban decentral"]
|
||||
return nodes
|
||||
|
||||
|
||||
def add_biomass(network):
|
||||
@ -1268,6 +1270,23 @@ def add_industry(network):
|
||||
capital_cost=0.,
|
||||
marginal_cost=costs.at["oil",'fuel'])
|
||||
|
||||
if options["oil_boilers"]:
|
||||
|
||||
nodes_heat = create_nodes_for_heat_sector()
|
||||
|
||||
for name in ["residential rural", "services rural", "residential urban decentral", "services urban decentral"]:
|
||||
network.madd("Link",
|
||||
nodes_heat[name] + " " + name + " oil boiler",
|
||||
p_nom_extendable=True,
|
||||
bus0=["Fischer-Tropsch"] * len(nodes_heat[name]),
|
||||
bus1=nodes_heat[name] + " " + name + " heat",
|
||||
bus2="co2 atmosphere",
|
||||
carrier=name + " oil boiler",
|
||||
efficiency=costs.at['decentral oil boiler', 'efficiency'],
|
||||
efficiency2=costs.at['oil', 'CO2 intensity'],
|
||||
capital_cost=costs.at['decentral oil boiler', 'efficiency'] * costs.at[
|
||||
'decentral oil boiler', 'fixed'])
|
||||
|
||||
network.madd("Link",
|
||||
nodes + " Fischer-Tropsch",
|
||||
bus0=nodes + " H2",
|
||||
|
Loading…
Reference in New Issue
Block a user