add extra bus for HVC, which can either go to air or waste CHP
Here we explicitly add the option to generate energy and/or capture the CO2 from HVC (i.e. plastics). NB: Since waste CHP is expensive, it's not built.
This commit is contained in:
parent
f7dc8a7f22
commit
2055fe68ef
@ -668,6 +668,7 @@ industry:
|
|||||||
2045: 0.16
|
2045: 0.16
|
||||||
2050: 0.20
|
2050: 0.20
|
||||||
HVC_environment_sequestration_fraction: 0.
|
HVC_environment_sequestration_fraction: 0.
|
||||||
|
waste_to_energy: false
|
||||||
sector_ratios_fraction_future:
|
sector_ratios_fraction_future:
|
||||||
2020: 0.0
|
2020: 0.0
|
||||||
2025: 0.1
|
2025: 0.1
|
||||||
@ -1152,3 +1153,6 @@ plotting:
|
|||||||
DC-DC: "#8a1caf"
|
DC-DC: "#8a1caf"
|
||||||
DC link: "#8a1caf"
|
DC link: "#8a1caf"
|
||||||
load: "#dd2e23"
|
load: "#dd2e23"
|
||||||
|
waste CHP: '#e3d37d'
|
||||||
|
waste CHP CC: '#e3d3ff'
|
||||||
|
HVC to air: 'k'
|
||||||
|
@ -2905,18 +2905,90 @@ def add_industry(n, costs):
|
|||||||
investment_year,
|
investment_year,
|
||||||
)
|
)
|
||||||
|
|
||||||
n.madd(
|
if snakemake.config["industry"]["waste_to_energy"] and options["regional_oil_demand"]:
|
||||||
"Link",
|
|
||||||
spatial.oil.naphtha,
|
n.madd(
|
||||||
bus0=spatial.oil.nodes,
|
"Bus",
|
||||||
bus1=spatial.oil.naphtha,
|
spatial.oil.demand_locations + " non-sequestered HVC",
|
||||||
bus2="co2 atmosphere",
|
location=spatial.oil.demand_locations,
|
||||||
bus3=spatial.co2.process_emissions,
|
carrier="non-sequestered HVC",
|
||||||
carrier="naphtha for industry",
|
unit="MWh_LHV",
|
||||||
p_nom_extendable=True,
|
)
|
||||||
efficiency2=emitted_co2_per_naphtha * non_sequestered,
|
|
||||||
efficiency3=process_co2_per_naphtha,
|
n.madd(
|
||||||
)
|
"Link",
|
||||||
|
spatial.oil.naphtha,
|
||||||
|
bus0=spatial.oil.nodes,
|
||||||
|
bus1=spatial.oil.naphtha,
|
||||||
|
bus2=spatial.oil.demand_locations + " non-sequestered HVC",
|
||||||
|
bus3=spatial.co2.process_emissions,
|
||||||
|
carrier="naphtha for industry",
|
||||||
|
p_nom_extendable=True,
|
||||||
|
efficiency2=non_sequestered*emitted_co2_per_naphtha/costs.at["oil", "CO2 intensity"],
|
||||||
|
efficiency3=process_co2_per_naphtha,
|
||||||
|
)
|
||||||
|
|
||||||
|
n.madd(
|
||||||
|
"Link",
|
||||||
|
spatial.oil.demand_locations + " HVC to air",
|
||||||
|
bus0=spatial.oil.demand_locations + " non-sequestered HVC",
|
||||||
|
bus1="co2 atmosphere",
|
||||||
|
carrier="HVC to air",
|
||||||
|
p_nom_extendable=True,
|
||||||
|
efficiency=costs.at["oil", "CO2 intensity"],
|
||||||
|
)
|
||||||
|
|
||||||
|
#TODO add heat
|
||||||
|
n.madd(
|
||||||
|
"Link",
|
||||||
|
spatial.oil.demand_locations + " waste CHP",
|
||||||
|
bus0=spatial.oil.demand_locations + " non-sequestered HVC",
|
||||||
|
bus1=spatial.oil.demand_locations,
|
||||||
|
bus2="co2 atmosphere",
|
||||||
|
carrier="waste CHP",
|
||||||
|
p_nom_extendable=True,
|
||||||
|
# p_nom=biomass_potential['municipal solid waste'] / 8760,
|
||||||
|
capital_cost=costs.at['waste CHP', 'fixed'] * costs.at['waste CHP', 'efficiency'],
|
||||||
|
marginal_cost=costs.at['waste CHP', 'VOM'],
|
||||||
|
efficiency=costs.at['waste CHP', 'efficiency'],
|
||||||
|
#efficiency4=costs.at['waste CHP', 'efficiency-heat'],
|
||||||
|
efficiency2=costs.at['oil', 'CO2 intensity'],
|
||||||
|
lifetime=costs.at['waste CHP', 'lifetime'])
|
||||||
|
|
||||||
|
#TODO add heat
|
||||||
|
n.madd(
|
||||||
|
"Link",
|
||||||
|
spatial.oil.demand_locations + " waste CHP CC",
|
||||||
|
bus0=spatial.oil.demand_locations + " non-sequestered HVC",
|
||||||
|
bus1=spatial.oil.demand_locations,
|
||||||
|
bus2="co2 atmosphere",
|
||||||
|
bus3=spatial.co2.nodes,
|
||||||
|
carrier="waste CHP CC",
|
||||||
|
p_nom_extendable=True,
|
||||||
|
# p_nom=biomass_potential['municipal solid waste'] / 8760,
|
||||||
|
capital_cost=costs.at['waste CHP CC', 'fixed'] * costs.at['waste CHP CC', 'efficiency'],
|
||||||
|
marginal_cost=costs.at['waste CHP CC', 'VOM'],
|
||||||
|
efficiency=costs.at['waste CHP CC', 'efficiency'],
|
||||||
|
#efficiency4=costs.at['waste CHP', 'efficiency-heat'],
|
||||||
|
efficiency2=costs.at['oil', 'CO2 intensity']*(1 - options["cc_fraction"]),
|
||||||
|
efficiency3=costs.at['oil', 'CO2 intensity']*options["cc_fraction"],
|
||||||
|
lifetime=costs.at['waste CHP CC', 'lifetime'])
|
||||||
|
|
||||||
|
|
||||||
|
else:
|
||||||
|
|
||||||
|
n.madd(
|
||||||
|
"Link",
|
||||||
|
spatial.oil.naphtha,
|
||||||
|
bus0=spatial.oil.nodes,
|
||||||
|
bus1=spatial.oil.naphtha,
|
||||||
|
bus2="co2 atmosphere",
|
||||||
|
bus3=spatial.co2.process_emissions,
|
||||||
|
carrier="naphtha for industry",
|
||||||
|
p_nom_extendable=True,
|
||||||
|
efficiency2=emitted_co2_per_naphtha*non_sequestered,
|
||||||
|
efficiency3=process_co2_per_naphtha,
|
||||||
|
)
|
||||||
|
|
||||||
# aviation
|
# aviation
|
||||||
demand_factor = options.get("aviation_demand_factor", 1)
|
demand_factor = options.get("aviation_demand_factor", 1)
|
||||||
|
Loading…
Reference in New Issue
Block a user