Include home battery for low voltage node
This commit is contained in:
parent
31cad1bd6d
commit
bd85f751ac
@ -2,7 +2,7 @@ logging_level: INFO
|
||||
|
||||
results_dir: 'results/'
|
||||
summary_dir: results
|
||||
run: '200325-distgrids-ev-hp-pv'
|
||||
run: '200326-distgrids-ev-hp-pv-batt'
|
||||
|
||||
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]# or opt
|
||||
clusters: [50] #[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-solar3-dist0,Co2L0-3H-T-H-B-I-solar3-dist0p25,Co2L0-3H-T-H-B-I-solar3-dist0p5,Co2L0-3H-T-H-B-I-solar3-dist1,Co2L0-3H-T-H-B-I-solar3-dist2]#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]#,Co2L0p2-3H-T-H-B-I,Co2L0p5-3H-T-H-B-I]#,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-solar3-dist0,Co2L0-3H-T-H-B-I-solar3-dist0p25,Co2L0-3H-T-H-B-I-solar3-dist0p5,Co2L0-3H-T-H-B-I-solar3-dist1,Co2L0-3H-T-H-B-I-solar3-dist2,Co2L0-3H-T-H-B-I-solar3-dist4]#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]#,Co2L0p2-3H-T-H-B-I,Co2L0p5-3H-T-H-B-I]#,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
|
||||
#dist{n} includes distribution grids with investment cost of n times cost in data/costs.csv
|
||||
|
||||
@ -218,6 +218,8 @@ plotting:
|
||||
"hydrogen storage" : "m"
|
||||
"battery" : "slategray"
|
||||
"battery storage" : "slategray"
|
||||
"home battery" : "#614700"
|
||||
"home battery storage" : "#614700"
|
||||
"Nuclear" : "r"
|
||||
"Nuclear marginal" : "r"
|
||||
"Coal" : "k"
|
||||
|
@ -576,6 +576,38 @@ def insert_electricity_distribution_grid(network):
|
||||
|
||||
|
||||
|
||||
network.add("Carrier","home battery")
|
||||
|
||||
network.madd("Bus",
|
||||
nodes + " home battery",
|
||||
carrier="home battery")
|
||||
|
||||
network.madd("Store",
|
||||
nodes + " home battery",
|
||||
bus=nodes + " home battery",
|
||||
e_cyclic=True,
|
||||
e_nom_extendable=True,
|
||||
carrier="home battery",
|
||||
capital_cost=costs.at['battery storage','fixed'])
|
||||
|
||||
network.madd("Link",
|
||||
nodes + " home battery charger",
|
||||
bus0=nodes + " low voltage",
|
||||
bus1=nodes + " home battery",
|
||||
carrier="home battery charger",
|
||||
efficiency=costs.at['battery inverter','efficiency']**0.5,
|
||||
capital_cost=costs.at['battery inverter','fixed'],
|
||||
p_nom_extendable=True)
|
||||
|
||||
network.madd("Link",
|
||||
nodes + " home battery discharger",
|
||||
bus0=nodes + " home battery",
|
||||
bus1=nodes + " low voltage",
|
||||
carrier="home battery discharger",
|
||||
efficiency=costs.at['battery inverter','efficiency']**0.5,
|
||||
marginal_cost=options['marginal_cost_storage'],
|
||||
p_nom_extendable=True)
|
||||
|
||||
|
||||
|
||||
def add_storage(network):
|
||||
|
@ -109,13 +109,14 @@ def add_eps_storage_constraint(n):
|
||||
|
||||
def add_battery_constraints(n):
|
||||
|
||||
nodes = n.buses.index[n.buses.carrier == "battery"]
|
||||
nodes = n.buses.index[n.buses.carrier.isin(["battery","home battery"])]
|
||||
|
||||
link_p_nom = get_var(n, "Link", "p_nom")
|
||||
|
||||
lhs = linexpr((1,link_p_nom[nodes + " charger"]),
|
||||
(-n.links.loc[nodes + " discharger", "efficiency"].values,
|
||||
link_p_nom[nodes + " discharger"].values))
|
||||
|
||||
define_constraints(n, lhs, "=", 0, 'Link', 'charger_ratio')
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user