diff --git a/config.yaml b/config.yaml index f3ac8153..aebcb986 100644 --- a/config.yaml +++ b/config.yaml @@ -2,7 +2,7 @@ logging_level: INFO results_dir: 'results/' summary_dir: results -run: '190516-decentral' +run: '190516-decentral-noH2network' scenario: sectors: [E] # ,E+EV,E+BEV,E+BEV+V2G] # [ E+EV, E+BEV, E+BEV+V2G ] @@ -10,7 +10,7 @@ scenario: lv: [1.0]#, 1.125, 1.25, 1.5, 2.0]# or opt clusters: [128] #[90, 128, 181] #[45, 64, 90, 128, 181, 256] #, 362] # (2**np.r_[5.5:9:.5]).astype(int) minimum is 37 opts: [''] #for pypsa-eur - sector_opts: [Co2L0-3H-T-H-B-I-decentral-solar100,Co2L0p1-3H-T-H-B-I-decentral-solar100,Co2L0p2-3H-T-H-B-I-decentral-solar100,Co2L0p3-3H-T-H-B-I-decentral-solar100,Co2L0p4-3H-T-H-B-I-decentral-solar100]#,Co2L0p1-3H-T-H-B-I,Co2L0p25-3H-T-H-B-I,Co2L0p5-3H-T-H-B-I]#[Co2L0-3H-T-H-B-I-onwind0-solar3,Co2L0-3H-T-H-B-I-onwind0p125-solar3,Co2L0-3H-T-H-B-I-onwind0p25-solar3,Co2L0-3H-T-H-B-I-onwind0p50-solar3,Co2L0-3H-T-H-B-I-solar3]#,Co2L0-3H-T-H-B-I-onwind0p25-solar3]#,Co2L0p05-3H-T-H-B-I,Co2L0p10-3H-T-H-B-I,Co2L0p20-3H-T-H-B-I,Co2L0p30-3H-T-H-B-I,Co2L0p50-3H-T-H-B-I]#[Co2L-3H-T-H,Co2L0p10-3H-T-H,Co2L0-3H-T-H,Co2L0p20-3H-T-H] #Co2L-3H-T-H,Co2L0p10-3H-T-H,Co2L0p20-3H-T-HCo2L-3H-T-H,Co2L0p10-3H-T-H,Co2L0p30-3H-T-H,Co2L0p50-3H-T-H] #Co2L-3H,Co2L-3H-T,, LC-FL, LC-T, Ep-T, Co2L-T] + sector_opts: [Co2L0-3H-T-H-B-I-decentral-noH2network-solar100,Co2L0p1-3H-T-H-B-I-decentral-noH2network-solar100,Co2L0p2-3H-T-H-B-I-decentral-noH2network-solar100,Co2L0p3-3H-T-H-B-I-decentral-noH2network-solar100,Co2L0p4-3H-T-H-B-I-decentral-noH2network-solar100]#,Co2L0p1-3H-T-H-B-I,Co2L0p25-3H-T-H-B-I,Co2L0p5-3H-T-H-B-I]#[Co2L0-3H-T-H-B-I-onwind0-solar3,Co2L0-3H-T-H-B-I-onwind0p125-solar3,Co2L0-3H-T-H-B-I-onwind0p25-solar3,Co2L0-3H-T-H-B-I-onwind0p50-solar3,Co2L0-3H-T-H-B-I-solar3]#,Co2L0-3H-T-H-B-I-onwind0p25-solar3]#,Co2L0p05-3H-T-H-B-I,Co2L0p10-3H-T-H-B-I,Co2L0p20-3H-T-H-B-I,Co2L0p30-3H-T-H-B-I,Co2L0p50-3H-T-H-B-I]#[Co2L-3H-T-H,Co2L0p10-3H-T-H,Co2L0-3H-T-H,Co2L0p20-3H-T-H] #Co2L-3H-T-H,Co2L0p10-3H-T-H,Co2L0p20-3H-T-HCo2L-3H-T-H,Co2L0p10-3H-T-H,Co2L0p30-3H-T-H,Co2L0p50-3H-T-H] #Co2L-3H,Co2L-3H-T,, LC-FL, LC-T, Ep-T, Co2L-T] # Co2L will give default (5%); Co2L0p25 will give 25% CO2 emissions; Co2Lm0p05 will give 5% negative emissions diff --git a/scripts/make_summary.py b/scripts/make_summary.py index a5c9c6e3..5d1db38d 100644 --- a/scripts/make_summary.py +++ b/scripts/make_summary.py @@ -411,10 +411,10 @@ def calculate_weighted_prices(n,label,weighted_prices): load += n.links_t.p0[names].groupby(n.links.loc[names,"bus0"],axis=1).sum(axis=1) #Add H2 Store when charging - if carrier == "H2": - stores = n.stores_t.p[buses+ " Store"].groupby(n.stores.loc[buses+ " Store","bus"],axis=1).sum(axis=1) - stores[stores > 0.] = 0. - load += -stores + #if carrier == "H2": + # stores = n.stores_t.p[buses+ " Store"].groupby(n.stores.loc[buses+ " Store","bus"],axis=1).sum(axis=1) + # stores[stores > 0.] = 0. + # load += -stores weighted_prices.loc[carrier,label] = (load*n.buses_t.marginal_price[buses]).sum().sum()/load.sum().sum() diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index c86f4530..c93204af 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -1278,6 +1278,29 @@ def decentral(n): n.lines.drop(n.lines.index,inplace=True) n.links.drop(n.links.index[n.links.carrier.isin(["DC","B2B"])],inplace=True) +def remove_h2_network(n): + + nodes = pop_layout.index + + n.links.drop(n.links.index[n.links.carrier.isin(["H2 pipeline"])],inplace=True) + + n.stores.drop(["EU H2 Store"],inplace=True) + + if options['hydrogen_underground_storage']: + h2_capital_cost = costs.at["hydrogen underground storage","fixed"] + else: + h2_capital_cost = costs.at["hydrogen storage","fixed"] + + #put back nodal H2 storage + n.madd("Store", + nodes + " H2 Store", + bus=nodes + " H2", + e_nom_extendable=True, + e_cyclic=True, + carrier="H2 Store", + capital_cost=h2_capital_cost) + + if __name__ == "__main__": # Detect running outside of snakemake and mock snakemake for testing @@ -1342,6 +1365,9 @@ if __name__ == "__main__": if "decentral" in opts: decentral(n) + if "noH2network" in opts: + remove_h2_network(n) + for o in opts: m = re.match(r'^\d+h$', o, re.IGNORECASE) if m is not None: