Skip to content

Commit

Permalink
add capital cost for liquid carbonaceous fuel stores (closes #489) (#…
Browse files Browse the repository at this point in the history
…1234)

* add capital cost for liquid carbonaceous fuel stores (closes #489)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
  • Loading branch information
fneum and pre-commit-ci[bot] authored Aug 26, 2024
1 parent ef0bbd5 commit a357ba1
Showing 1 changed file with 21 additions and 49 deletions.
70 changes: 21 additions & 49 deletions scripts/prepare_sector_network.py
Original file line number Diff line number Diff line change
Expand Up @@ -539,7 +539,24 @@ def add_carrier_buses(n, carrier, nodes=None):

unit = "MWh_LHV" if carrier == "gas" else "MWh_th"
# preliminary value for non-gas carriers to avoid zeros
capital_cost = costs.at["gas storage", "fixed"] if carrier == "gas" else 0.02
if carrier == "gas":
capital_cost = costs.at["gas storage", "fixed"]
elif carrier == "oil":
# based on https://www.engineeringtoolbox.com/fuels-higher-calorific-values-d_169.html
mwh_per_m3 = 44.9 * 724 * 0.278 * 1e-3 # MJ/kg * kg/m3 * kWh/MJ * MWh/kWh
capital_cost = (
costs.at["General liquid hydrocarbon storage (product)", "fixed"]
/ mwh_per_m3
)
elif carrier == "methanol":
# based on https://www.engineeringtoolbox.com/fossil-fuels-energy-content-d_1298.html
mwh_per_m3 = 5.54 * 791 * 1e-3 # kWh/kg * kg/m3 * MWh/kWh
capital_cost = (
costs.at["General liquid hydrocarbon storage (product)", "fixed"]
/ mwh_per_m3
)
else:
capital_cost = 0.1

n.madd("Bus", nodes, location=location, carrier=carrier, unit=unit)

Expand Down Expand Up @@ -2999,24 +3016,7 @@ def add_industry(n, costs):

# methanol for industry

n.madd(
"Bus",
spatial.methanol.nodes,
carrier="methanol",
location=spatial.methanol.locations,
unit="MWh_LHV",
)

n.madd(
"Store",
spatial.methanol.nodes,
suffix=" Store",
bus=spatial.methanol.nodes,
e_nom_extendable=True,
e_cyclic=True,
carrier="methanol",
capital_cost=0.02,
)
add_carrier_buses(n, "methanol")

n.madd(
"Bus",
Expand Down Expand Up @@ -3187,38 +3187,10 @@ def add_industry(n, costs):
], # CO2 intensity methanol based on stoichiometric calculation with 22.7 GJ/t methanol (32 g/mol), CO2 (44 g/mol), 277.78 MWh/TJ = 0.218 t/MWh
)

if "oil" not in n.buses.carrier.unique():
n.madd(
"Bus",
spatial.oil.nodes,
location=spatial.oil.locations,
carrier="oil",
unit="MWh_LHV",
)

if "oil" not in n.stores.carrier.unique():
# could correct to e.g. 0.001 EUR/kWh * annuity and O&M
n.madd(
"Store",
spatial.oil.nodes,
suffix=" Store",
bus=spatial.oil.nodes,
e_nom_extendable=True,
e_cyclic=True,
carrier="oil",
)
if shipping_oil_share:

if options.get("fossil_fuels", True) and "oil" not in n.generators.carrier.unique():
n.madd(
"Generator",
spatial.oil.nodes,
bus=spatial.oil.nodes,
p_nom_extendable=True,
carrier="oil",
marginal_cost=costs.at["oil", "fuel"],
)
add_carrier_buses(n, "oil")

if shipping_oil_share:
p_set_oil = shipping_oil_share * p_set.rename(lambda x: x + " shipping oil")

if not options["regional_oil_demand"]:
Expand Down

0 comments on commit a357ba1

Please sign in to comment.