StorageUnit correct efficiency_dispatch/store (counter-proposal 2) (#202)
* fix efficiencies of storage units counter proposal * extra_components: fix roundtrip efficiency * add_electricity: remove misleading roundtrip efficiency for storageunit * add release notes
This commit is contained in:
parent
c1447875d5
commit
f18b7b02cb
@ -114,7 +114,7 @@ DAC,2030,lifetime,30,years,Fasihi
|
||||
DAC,2030,FOM,4,%/year,Fasihi
|
||||
battery inverter,2030,investment,411,USD/kWel,budischak2013
|
||||
battery inverter,2030,lifetime,20,years,budischak2013
|
||||
battery inverter,2030,efficiency,0.81,per unit,budischak2013; Lund and Kempton (2008) http://dx.doi.org/10.1016/j.enpol.2008.06.007
|
||||
battery inverter,2030,efficiency,0.9,per unit charge/discharge,budischak2013; Lund and Kempton (2008) http://dx.doi.org/10.1016/j.enpol.2008.06.007
|
||||
battery inverter,2030,FOM,3,%/year,budischak2013
|
||||
battery storage,2030,investment,192,USD/kWh,budischak2013
|
||||
battery storage,2030,lifetime,15,years,budischak2013
|
||||
|
|
@ -42,6 +42,9 @@ Upcoming Release
|
||||
|
||||
* The mappings for clustered lines and buses produced by the ``simplify_network`` and ``cluster_network`` rules changed from Hierarchical Data Format (.h5) to Comma-Separated Values format (.csv) (`#198 <https://github.com/PyPSA/pypsa-eur/pull/198>`_)
|
||||
|
||||
* Fixed a bug for storage units such that individual store and dispatch efficiencies are correctly taken account of rather than only their round-trip efficiencies.
|
||||
In the cost database (``data/costs.csv``) the efficiency of battery inverters should be stated as per discharge/charge rather than per roundtrip (`#202 <https://github.com/PyPSA/pypsa-eur/pull/202>_).
|
||||
|
||||
* Parameter corrections for East-Western and Anglo-Scottish interconnectors (`#206 <https://github.com/PyPSA/pypsa-eur/pull/206>`_)
|
||||
|
||||
* Modelling hydrogen and battery storage with Store and Link components is now the default, rather than using StorageUnit components with fixed power-to-energy ratio (`#205 <https://github.com/PyPSA/pypsa-eur/pull/205>`_).
|
||||
|
@ -166,13 +166,10 @@ def load_costs(Nyears=1., tech_costs=None, config=None, elec_config=None):
|
||||
|
||||
def costs_for_storage(store, link1, link2=None, max_hours=1.):
|
||||
capital_cost = link1['capital_cost'] + max_hours * store['capital_cost']
|
||||
efficiency = link1['efficiency']**0.5
|
||||
if link2 is not None:
|
||||
capital_cost += link2['capital_cost']
|
||||
efficiency *= link2['efficiency']**0.5
|
||||
return pd.Series(dict(capital_cost=capital_cost,
|
||||
marginal_cost=0.,
|
||||
efficiency=efficiency,
|
||||
co2_emissions=0.))
|
||||
|
||||
if elec_config is None:
|
||||
|
@ -70,6 +70,9 @@ def attach_storageunits(n, costs):
|
||||
|
||||
buses_i = n.buses.index
|
||||
|
||||
lookup_store = {"H2": "electrolysis", "battery": "battery inverter"}
|
||||
lookup_dispatch = {"H2": "fuel cell", "battery": "battery inverter"}
|
||||
|
||||
for carrier in carriers:
|
||||
n.madd("StorageUnit", buses_i, ' ' + carrier,
|
||||
bus=buses_i,
|
||||
@ -77,8 +80,8 @@ def attach_storageunits(n, costs):
|
||||
p_nom_extendable=True,
|
||||
capital_cost=costs.at[carrier, 'capital_cost'],
|
||||
marginal_cost=costs.at[carrier, 'marginal_cost'],
|
||||
efficiency_store=costs.at[carrier, 'efficiency'],
|
||||
efficiency_dispatch=costs.at[carrier, 'efficiency'],
|
||||
efficiency_store=costs.at[lookup_store[carrier], 'efficiency'],
|
||||
efficiency_dispatch=costs.at[lookup_dispatch[carrier], 'efficiency'],
|
||||
max_hours=max_hours[carrier],
|
||||
cyclic_state_of_charge=True)
|
||||
|
||||
@ -132,7 +135,7 @@ def attach_stores(n, costs):
|
||||
bus0=buses_i,
|
||||
bus1=b_buses_i,
|
||||
carrier='battery charger',
|
||||
efficiency=costs.at['battery inverter', 'efficiency']**0.5,
|
||||
efficiency=costs.at['battery inverter', 'efficiency'],
|
||||
capital_cost=costs.at['battery inverter', 'capital_cost'],
|
||||
p_nom_extendable=True)
|
||||
|
||||
@ -140,7 +143,7 @@ def attach_stores(n, costs):
|
||||
bus0=b_buses_i,
|
||||
bus1=buses_i,
|
||||
carrier='battery discharger',
|
||||
efficiency=costs.at['battery inverter','efficiency']**0.5,
|
||||
efficiency=costs.at['battery inverter','efficiency'],
|
||||
capital_cost=costs.at['battery inverter', 'capital_cost'],
|
||||
p_nom_extendable=True)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user