From 6d440499d52c4e7ba49935d74ead0903c9581e03 Mon Sep 17 00:00:00 2001 From: lisazeyen Date: Tue, 15 Sep 2020 18:03:33 +0200 Subject: [PATCH] add option to add costs for gas distribution. Caution, currently assuming same costs for gas distribution as the ones for electricity distribution --- config.default.yaml | 2 ++ config.myopic.yaml | 2 ++ scripts/prepare_sector_network.py | 16 ++++++++++++++++ 3 files changed, 20 insertions(+) diff --git a/config.default.yaml b/config.default.yaml index 575d6c78..1dc8f2b6 100644 --- a/config.default.yaml +++ b/config.default.yaml @@ -98,6 +98,8 @@ sector: 'electricity_distribution_grid' : False 'electricity_distribution_grid_cost_factor' : 1.0 #multiplies cost in data/costs.csv 'electricity_grid_connection' : True # only applies to onshore wind and utility PV + 'gas_distribution_grid' : True + 'gas_distribution_grid_cost_factor' : 1.0 #multiplies cost in data/costs.csv costs: year: 2030 diff --git a/config.myopic.yaml b/config.myopic.yaml index 48f6cb62..1c5fc62b 100644 --- a/config.myopic.yaml +++ b/config.myopic.yaml @@ -98,6 +98,8 @@ sector: 'electricity_distribution_grid' : False 'electricity_distribution_grid_cost_factor' : 1.0 #multiplies cost in data/costs.csv 'electricity_grid_connection' : True # only applies to onshore wind and utility PV + 'gas_distribution_grid' : True + 'gas_distribution_grid_cost_factor' : 1.0 #multiplies cost in data/costs.csv costs: year: 2030 diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 64cd1566..afbbd0d5 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -732,6 +732,20 @@ def insert_electricity_distribution_grid(network): p_nom_extendable=True, lifetime=costs.at['battery inverter','lifetime']) + +def insert_gas_distribution_costs(network): + f_costs = options['gas_distribution_grid_cost_factor'] + print("Inserting gas distribution grid with investment cost\ + factor of", f_costs) + + # gas boilers + gas_b = network.links[network.links.carrier.str.contains("gas boiler") & + (~network.links.carrier.str.contains("urban central"))].index + network.links.loc[gas_b, "capital_cost"] += costs.loc['electricity distribution grid']["fixed"] + # micro CHPs + mchp = network.links.index[network.links.carrier.str.contains("micro gas")] + network.links.loc[mchp, "capital_cost"] += costs.loc['electricity distribution grid']["fixed"] + def add_electricity_grid_connection(network): carriers = ["onwind","solar"] @@ -1834,6 +1848,8 @@ if __name__ == "__main__": if snakemake.config["sector"]['electricity_distribution_grid']: insert_electricity_distribution_grid(n) + if snakemake.config["sector"]['gas_distribution_grid']: + insert_gas_distribution_costs(n) if snakemake.config["sector"]['electricity_grid_connection']: add_electricity_grid_connection(n)