190516: Try removing H2 network too
This commit is contained in:
parent
ae3059f676
commit
6cc676d6cf
@ -2,7 +2,7 @@ logging_level: INFO
|
|||||||
|
|
||||||
results_dir: 'results/'
|
results_dir: 'results/'
|
||||||
summary_dir: results
|
summary_dir: results
|
||||||
run: '190516-decentral'
|
run: '190516-decentral-noH2network'
|
||||||
|
|
||||||
scenario:
|
scenario:
|
||||||
sectors: [E] # ,E+EV,E+BEV,E+BEV+V2G] # [ E+EV, E+BEV, E+BEV+V2G ]
|
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
|
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
|
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
|
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
|
# Co2L will give default (5%); Co2L0p25 will give 25% CO2 emissions; Co2Lm0p05 will give 5% negative emissions
|
||||||
|
|
||||||
|
|
||||||
|
@ -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)
|
load += n.links_t.p0[names].groupby(n.links.loc[names,"bus0"],axis=1).sum(axis=1)
|
||||||
|
|
||||||
#Add H2 Store when charging
|
#Add H2 Store when charging
|
||||||
if carrier == "H2":
|
#if carrier == "H2":
|
||||||
stores = n.stores_t.p[buses+ " Store"].groupby(n.stores.loc[buses+ " Store","bus"],axis=1).sum(axis=1)
|
# stores = n.stores_t.p[buses+ " Store"].groupby(n.stores.loc[buses+ " Store","bus"],axis=1).sum(axis=1)
|
||||||
stores[stores > 0.] = 0.
|
# stores[stores > 0.] = 0.
|
||||||
load += -stores
|
# load += -stores
|
||||||
|
|
||||||
weighted_prices.loc[carrier,label] = (load*n.buses_t.marginal_price[buses]).sum().sum()/load.sum().sum()
|
weighted_prices.loc[carrier,label] = (load*n.buses_t.marginal_price[buses]).sum().sum()/load.sum().sum()
|
||||||
|
|
||||||
|
@ -1278,6 +1278,29 @@ def decentral(n):
|
|||||||
n.lines.drop(n.lines.index,inplace=True)
|
n.lines.drop(n.lines.index,inplace=True)
|
||||||
n.links.drop(n.links.index[n.links.carrier.isin(["DC","B2B"])],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__":
|
if __name__ == "__main__":
|
||||||
# Detect running outside of snakemake and mock snakemake for testing
|
# Detect running outside of snakemake and mock snakemake for testing
|
||||||
@ -1342,6 +1365,9 @@ if __name__ == "__main__":
|
|||||||
if "decentral" in opts:
|
if "decentral" in opts:
|
||||||
decentral(n)
|
decentral(n)
|
||||||
|
|
||||||
|
if "noH2network" in opts:
|
||||||
|
remove_h2_network(n)
|
||||||
|
|
||||||
for o in opts:
|
for o in opts:
|
||||||
m = re.match(r'^\d+h$', o, re.IGNORECASE)
|
m = re.match(r'^\d+h$', o, re.IGNORECASE)
|
||||||
if m is not None:
|
if m is not None:
|
||||||
|
Loading…
Reference in New Issue
Block a user