add H2 liquefaction cost to H2 shipping demand (#145)
* add H2 liquefaction cost to H2 shipping demand * rename bus to 'H2 liquid' * add release note * make consideration of liquefaction costs for shipping optional * update release notes
This commit is contained in:
parent
96afff0487
commit
87596dd015
@ -175,6 +175,7 @@ sector:
|
|||||||
transport_fuel_cell_efficiency: 0.5
|
transport_fuel_cell_efficiency: 0.5
|
||||||
transport_internal_combustion_efficiency: 0.3
|
transport_internal_combustion_efficiency: 0.3
|
||||||
shipping_average_efficiency: 0.4 #For conversion of fuel oil to propulsion in 2011
|
shipping_average_efficiency: 0.4 #For conversion of fuel oil to propulsion in 2011
|
||||||
|
shipping_hydrogen_liquefaction: true # whether to consider liquefaction costs for shipping H2 demands
|
||||||
shipping_hydrogen_share: # 1 means all hydrogen FC
|
shipping_hydrogen_share: # 1 means all hydrogen FC
|
||||||
2020: 0
|
2020: 0
|
||||||
2025: 0
|
2025: 0
|
||||||
|
@ -60,6 +60,9 @@ Future release
|
|||||||
These are included in the environment specifications of PyPSA-Eur.
|
These are included in the environment specifications of PyPSA-Eur.
|
||||||
* Consistent use of ``__main__`` block and further unspecific code cleaning.
|
* Consistent use of ``__main__`` block and further unspecific code cleaning.
|
||||||
* Distinguish costs for home battery storage and inverter from utility-scale battery costs.
|
* Distinguish costs for home battery storage and inverter from utility-scale battery costs.
|
||||||
|
* Added option for hydrogen liquefaction costs for hydrogen demand in shipping.
|
||||||
|
This introduces a new ``H2 liquid`` bus at each location.
|
||||||
|
It is activated via ``sector: shipping_hydrogen_liquefaction: true``.
|
||||||
* The share of shipping transformed into hydrogen fuel cell can be now defined for different years in the ``config.yaml`` file. The carbon emission from the remaining share is treated as a negative load on the atmospheric carbon dioxide bus, just like aviation and land transport emissions.
|
* The share of shipping transformed into hydrogen fuel cell can be now defined for different years in the ``config.yaml`` file. The carbon emission from the remaining share is treated as a negative load on the atmospheric carbon dioxide bus, just like aviation and land transport emissions.
|
||||||
* The transformation of the Steel and Aluminium production can be now defined for different years in the ``config.yaml`` file.
|
* The transformation of the Steel and Aluminium production can be now defined for different years in the ``config.yaml`` file.
|
||||||
* Include the option to alter the maximum energy capacity of a store via the ``carrier+factor`` in the ``{sector_opts}`` wildcard. This can be useful for sensitivity analyses. Example: ``co2 stored+e2`` multiplies the ``e_nom_max`` by factor 2. In this example, ``e_nom_max`` represents the CO2 sequestration potential in Europe.
|
* Include the option to alter the maximum energy capacity of a store via the ``carrier+factor`` in the ``{sector_opts}`` wildcard. This can be useful for sensitivity analyses. Example: ``co2 stored+e2`` multiplies the ``e_nom_max`` by factor 2. In this example, ``e_nom_max`` represents the CO2 sequestration potential in Europe.
|
||||||
|
@ -1714,6 +1714,30 @@ def add_industry(n, costs):
|
|||||||
p_set=industrial_demand.loc[nodes, "hydrogen"] / 8760
|
p_set=industrial_demand.loc[nodes, "hydrogen"] / 8760
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if options["shipping_hydrogen_liquefaction"]:
|
||||||
|
|
||||||
|
n.madd("Bus",
|
||||||
|
nodes,
|
||||||
|
suffix=" H2 liquid",
|
||||||
|
carrier="H2 liquid",
|
||||||
|
location=nodes
|
||||||
|
)
|
||||||
|
|
||||||
|
n.madd("Link",
|
||||||
|
nodes + " H2 liquefaction",
|
||||||
|
bus0=nodes + " H2",
|
||||||
|
bus1=nodes + " H2 liquid",
|
||||||
|
carrier="H2 liquefaction",
|
||||||
|
efficiency=costs.at["H2 liquefaction", 'efficiency'],
|
||||||
|
capital_cost=costs.at["H2 liquefaction", 'fixed'],
|
||||||
|
p_nom_extendable=True,
|
||||||
|
lifetime=costs.at['H2 liquefaction', 'lifetime']
|
||||||
|
)
|
||||||
|
|
||||||
|
shipping_bus = nodes + " H2 liquid"
|
||||||
|
else:
|
||||||
|
shipping_bus = nodes + " H2"
|
||||||
|
|
||||||
all_navigation = ["total international navigation", "total domestic navigation"]
|
all_navigation = ["total international navigation", "total domestic navigation"]
|
||||||
efficiency = options['shipping_average_efficiency'] / costs.at["fuel cell", "efficiency"]
|
efficiency = options['shipping_average_efficiency'] / costs.at["fuel cell", "efficiency"]
|
||||||
shipping_hydrogen_share = get(options['shipping_hydrogen_share'], investment_year)
|
shipping_hydrogen_share = get(options['shipping_hydrogen_share'], investment_year)
|
||||||
@ -1722,7 +1746,7 @@ def add_industry(n, costs):
|
|||||||
n.madd("Load",
|
n.madd("Load",
|
||||||
nodes,
|
nodes,
|
||||||
suffix=" H2 for shipping",
|
suffix=" H2 for shipping",
|
||||||
bus=nodes + " H2",
|
bus=shipping_bus,
|
||||||
carrier="H2 for shipping",
|
carrier="H2 for shipping",
|
||||||
p_set=p_set
|
p_set=p_set
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user