diff --git a/config/config.default.yaml b/config/config.default.yaml index 1305456a..10e6a6ed 100644 --- a/config/config.default.yaml +++ b/config/config.default.yaml @@ -469,6 +469,8 @@ sector: dac: true co2_vent: false allam_cycle: false + hydrogen_fuel_cell: true + hydrogen_turbine: false SMR: true regional_co2_sequestration_potential: enable: false # enable regionally resolved geological co2 storage potential @@ -902,6 +904,7 @@ plotting: H2 pipeline: '#f081dc' H2 pipeline retrofitted: '#ba99b5' H2 Fuel Cell: '#c251ae' + H2 turbine: '#991f83' H2 Electrolysis: '#ff29d9' # ammonia NH3: '#46caf0' diff --git a/doc/release_notes.rst b/doc/release_notes.rst index f859646b..d81bee07 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -17,6 +17,10 @@ Upcoming Release * Renamed script file from PyPSA-EUR ``build_load_data`` to ``build_electricity_demand``. +* Add plain hydrogen turbine as additional re-electrification option besides + hydrogen fuel cell. Add switches for both re-electrification options under + ``sector: hydrogen_turbine:`` and ``sector: hydrogen_fuel_cell:``. + PyPSA-Eur 0.8.0 (18th March 2023) ================================= diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 6129d3b5..e737867e 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -1067,18 +1067,39 @@ def add_storage_and_grids(n, costs): lifetime=costs.at["electrolysis", "lifetime"], ) - n.madd( - "Link", - nodes + " H2 Fuel Cell", - bus0=nodes + " H2", - bus1=nodes, - p_nom_extendable=True, - carrier="H2 Fuel Cell", - efficiency=costs.at["fuel cell", "efficiency"], - capital_cost=costs.at["fuel cell", "fixed"] - * costs.at["fuel cell", "efficiency"], # NB: fixed cost is per MWel - lifetime=costs.at["fuel cell", "lifetime"], - ) + if options["hydrogen_fuel_cell"]: + + logger.info("Adding hydrogen fuel cell for re-electrification.") + + n.madd( + "Link", + nodes + " H2 Fuel Cell", + bus0=nodes + " H2", + bus1=nodes, + p_nom_extendable=True, + carrier="H2 Fuel Cell", + efficiency=costs.at["fuel cell", "efficiency"], + capital_cost=costs.at["fuel cell", "fixed"] + * costs.at["fuel cell", "efficiency"], # NB: fixed cost is per MWel + lifetime=costs.at["fuel cell", "lifetime"], + ) + + if options["hydrogen_turbine"]: + + logger.info("Adding hydrogen turbine for re-electrification.") + + n.madd( + "Link", + nodes + " H2 turbine", + bus0=nodes + " H2", + bus1=nodes, + p_nom_extendable=True, + carrier="H2 turbine", + efficiency=costs.at["OCGT", "efficiency"], + capital_cost=costs.at["OCGT", "fixed"] + * costs.at["OCGT", "efficiency"], # NB: fixed cost is per MWel + lifetime=costs.at["OCGT", "lifetime"], + ) cavern_types = snakemake.config["sector"]["hydrogen_underground_storage_locations"] h2_caverns = pd.read_csv(snakemake.input.h2_cavern, index_col=0)