Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation gas #1128

Open
wants to merge 10 commits into
base: dev
Choose a base branch
from
2 changes: 1 addition & 1 deletion docs/data.rst
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ Battery stores
.. include:: data/batteries.rst

Gas stores
-----------------
----------

.. include:: data/gas_stores.rst

Expand Down
63 changes: 62 additions & 1 deletion docs/data/electricity_supply.rst
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1 +1,62 @@
Information on electricity supply by carrier etc.
Gas turbines
~~~~~~~~~~~~

The gas turbines, or open cycle gas turbines (OCGTs) allow the production
of electricity from methane and are modelled with unidirectional PyPSA *links*,
which connect methane buses to power buses.

The capacities of the gas turbines are invariable and considered as constant.
The technical parameters (investment and marginal costs, efficiency, lifetime)
comes from the PyPSA technology data [technoData]_.

In Germany
""""""""""

In Germany, the gas turbines listed in the Netzentwicklungsplan [NEP2021]_
are matched to the Marktstammdatenregister in order to get their geographical
coordinates in :py:func:`allocate_conventional_non_chp_power_plants
<egon.data.datasets.power_plants.allocate_conventional_non_chp_power_plants>`.
The matched units are then associated to the corresponding power and methane
buses.

The implementation of gas turbines in the data model is detailed in the
:py:mod:`OpenCycleGasTurbineEtrago <egon.data.datasets.power_etrago.OpenCycleGasTurbineEtrago>`
page of our documentation.

**Warning**

OCGT in Germany are still missing in eGon100RE: https://github.com/openego/eGon-data/issues/983

In the neighboring countries
""""""""""""""""""""""""""""

In the scenario eGon2035, the gas turbines capacities abroad comes from the
TYNDP 2035 [TYNDP]_, the implementation is detailed in :py:func:`eGon2035.tyndp_gas_generation
<egon.data.datasets.gas_neighbours.eGon2035.tyndp_gas_generation>`.

In the scenario eGon100RE the gas turbines capacities in the neighboring
countries are taken directly from the PyPSA-eur-sec run.

Fuel cells
~~~~~~~~~~

The fuel cells allow the production of electricity from hydrogen and are
modelled with unidirectional PyPSA *links*, which connect hydrogen buses
to power buses.

The data model contains the potentials of this technology, whose capacities
are optimized. The technical parameters (investment and marginal costs,
efficiency, lifetime) comes from the PyPSA technology data [technoData]_.

In the eGon2035 scenario, fuel cells are modelled at every hydrogen bus
in Germany, as well as in the eGon100RE scenario. In eGon100RE, this technology
is also modelled in the neighboring countries. In Germany, the potentials
are generally not limited, except when the connected buses are located more
than 500m far from each other. In this particular case, the potential has
an upper limit of 1 MW.

The implementation of fuel cells in the data model is detailed in the
:py:mod:`power_to_h2 <egon.data.datasets.hydrogen_etrago.power_to_h2>`
page of our documentation.


82 changes: 81 additions & 1 deletion docs/data/gas_demand.rst
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1 +1,81 @@
Information about gas demands and their spatial and temporal aggregation, including hydrogen and methane demands
The industrial gas demand is modelled with PyPSA *loads*.

In Germany
~~~~~~~~~~

In the scenario eGon2035, the industrial gas loads in Germany are taken
directly from the eXtremos project data [eXtremos]_. They model the hourly-resolved
industrial loads in Germany with a NUTS-3 spatial resolution, for methane
(:math:`CH_4`), as well as for hydrogen (:math:`H_2`), for the year 2035.

The spatial repartition of these loads is represented in the figure below
(methane demand in grey and hydrogen in cyan). The size of the rounds on
the figure corresponds to the total annual demand at the considered spot
in the scenario eGon2035.

.. image:: images/eGon2035_gas_ind_load_repartition_DE_withTitle.png
:width: 400

In eGon100RE, the global industrial demand for methane and hydrogen (for
whole Germany and for one year) is calculated by the PyPSA-eur-sec run.
The spatial and the temporal repartitions used to distribute these values
are corresponding to the spatial and temporal repartition of the hydrogen
industrial demand from the eXtremos project [eXtremos]_ for the year 2050.
(The same repartition is used, due to the lack of data were available for
methane, because the eXtremos project considers that there won't be any
industrial methane load in 2050.)

.. image:: images/ind_gas_demand.png
:width: 400

The figure above shows the temporal evolution of the methane (in grey) and
hydrogen (in cyan) industrial demands in the year for both scenarios
(eGon100RE in dashed).
The total demands for whole Germany are to be found in the following table.

.. list-table:: Total indutrial hydrogen and methane demands in Germany considered in eGon-data
:widths: 25 25 25
:header-rows: 1

* -
- eGon2035
- eGon100RE
* - :math:`CH_4` (in TWh)
- 195
- 105
* - :math:`H_2` (in TWh)
- 16
- 42

The hydrogen loads are attributed only to the *H2_grid* buses.

The implementation of these data is detailed in the :py:mod:`industrial_gas_demand
<egon.data.datasets.industrial_gas_demand>` page of our documentation.

In the neighboring countries
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In the scenario **eGon2035**, there are no hydrogen buses modelled in the
neighboring countries. For this reason, the hydrogen industrial demand
is there attributed to the electrical sector.
The total demand is taken from the 'Distributed Energy' scenario of the
Ten-Year Network Development Plan 2020 ([TYNDP]_). For the year
2035, it has been linearly interpolated between the values for the year 2030
and 2040. These industrial hydrogen loads are considered as constant in
time. In other words, at each hour of the year, the same load should by
fulfilled by electricity to supply the hydrogen industrial demand.

Contrary to all the other loads described in the section, the modelled
methane load abroad includes not only the industrial demand, but also the
heat demand, that is supplied by methane. The total demand is again taken
from the 'Distributed Energy' scenario of the TYNDP 2020 (linear interpolation
between 2030 and 2040). For the temporal disaggregation of the demand in
the year, the time series 'rural heat' from PyPSA-eur-sec is used to approximated
the temporal profile, because the heat sector represents the biggest load.

The implementation of these data is detailed in the :py:mod:`gas_neighbours.eGon2035
<egon.data.datasets.gas_neighbours.eGon2035>` page of our documentation.

In the scenario **eGon100RE**, the industrial gas loads (for methane as
well as for hydrogen) in the neighboring countries are directly imported
from the PyPSA-eur-sec run.
92 changes: 87 additions & 5 deletions docs/data/gas_grids.rst
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,7 +1,89 @@
Information about the gas grids and how they were created
In the gas sector, only the transport grids are represented. They are modelled
with bidirectional PyPSA *links* which allow to represent the energy exchange
between distinct PyPSA *buses*. No losses are considered and the
energy that can be transferred through a pipeline is limited by the e_nom
parameter.

Methane grid
~~~~~~~~~~~~
In the scenario **eGon2035**, only the methane grid is modelled.

Hydrogen grid
~~~~~~~~~~~~~
In the scenario **eGon100RE**, there are tree type of gas grid:

* the remaining methane grid,
* the retrofitted hydrogen grid,
* the potential hydrogen grid extension (only present in Germany).

In Germany
~~~~~~~~~~

To determine the topology of the grid, the status quo methane grid is used,
with the data from SciGRID_gas [SciGRID_gas]_.

eGon2035
""""""""

In the scenario eGon2035, the capacities of the methane pipelines are determined
using the status quo pipeline diameters [SciGRID_gas]_ and the correspondence
table [Kunz]_. These capacities are fixed.

There are two types of hydrogen buses and none of them are connected through
a grid:

* H2_grid buses: these buses are located at the places than the methane
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these buses are located at the places of the methane

buses,
* H2_saltcavern buses: these buses are located at the intersection of power
substations and potential saltcavern areas, adapted for hydrogen storage.

In this scenario, there are no hydrogen bus modelled in the neighboring
countries.

The modelling of the methane grid in the scenario eGon2035 is represented
below.

.. image:: images/2035_gasgrid_enTitle_00.png
:width: 400

The implementation of these data is detailed respectively in the
:py:mod:`gas_grid <egon.data.datasets.gas_grid>` and :py:mod:`hydrogen_etrago.bus
<egon.data.datasets.hydrogen_etrago.bus>` pages of our documentation.

eGon100RE
"""""""""

In the scenario eGon100RE, the methane grid has the same topology than in
the scenario eGon2035. The capacities of the methane pipelines are still
fixed, but they are reduced, because a part of the grid is retrofitted
into an hydrogen grid.

The retrofitted hydrogen grid has the same topology than the methane grid.
The share of the methane grid which is retrofitted is calculated by the
PyPSA-eur-sec run.

The potential hydrogen grid extensions link each hydrogen saltcavern to
its nearest (retrofitted) hydrogen grid bus. The extension has no upper
boundary and its technical parameters are taken from the PyPSA technology
data [technoData]_. This option is modelled exclusively in Germany.

The modelling of the methane grid in the scenario eGon100RE is represented
below.

.. image:: images/100RE_gasgrid_enTitle_00.png
:width: 400

The implementation of these data is detailed respectively in the :py:mod:`gas_grid
<egon.data.datasets.gas_grid>` and :py:mod:`h2_grid <egon.data.datasets.hydrogen_etrago.h2_grid>`
pages of our documentation.


Cross-bordering pipelines
~~~~~~~~~~~~~~~~~~~~~~~~~

The cross-bordering pipelines capacities are taken respectively from the
TYNDP [TYNDP]_ for eGon2035 and from PyPSA-eur-sec for eGon100RE.

For the cross-bordering gas pipelines with Germany, the capacity is uniformly
distributed between the all pipelines connecting one country to Germany.

The implementation of these data is detailed respectively in the
:py:func:`gas_neighbours.eGon2035.grid <egon.data.datasets.gas_neighbours.eGon2035.grid>` and
:py:func:`insert_gas_neigbours_eGon100RE <egon.data.datasets.gas_neighbours.eGon100RE.insert_gas_neigbours_eGon100RE>`
pages of our documentation.
60 changes: 56 additions & 4 deletions docs/data/gas_stores.rst
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,7 +1,59 @@
Description of methods and assumptions to include potential h2 stores in the system

Hydrogen stores
---------------
~~~~~~~~~~~~~~~

In both scenarios is there the option to store hydrogen. In the scenario
eGon2035, these potentials are modelled only in Germany, because the hydrogen
sector is not modelled in the neighboring countries.
Hydrogen is stored either in steel tanks (*overground storage*) or in saltcavern
(*underground storage*), which are modelled by PyPSA *stores*. The technical
parameters (investment and marginal costs, efficiency, lifetime) comes
from the PyPSA technology data [technoData]_. The steel tank storage potentials
are not limited. On the contrary, the saltcavern storage potentials do have
an upper boundary.

In Germany
""""""""""

The saltcavern potentials are located at the intersection between the power
substations and the adapted saltcavern surface areas, defined in the InSpEE-DS
report from the Bundesanstalt für Geowissenschaften und Rohstoffe [BGR]_.
These potentials, identical in the both scenarios, are represented in the
figure below.

.. image:: images/H2_underground_stores_withTitle.png
:width: 400

The implementation of these data is detailed in the :py:mod:`hydrogen_etrago.storage
<egon.data.datasets.hydrogen_etrago.storage>` page of our documentation.

In eGon100RE, the retrofitted hydrogen grid can also be used as storage,
with unvariable capacity. This implementation is detailed in the
:py:mod:`grid_storage <egon.data.datasets.ch4_storages>` page of our documentation.

In the neighboring countries
""""""""""""""""""""""""""""

In the scenario eGon100RE the hydrogen storage potentials in the neighboring
countries are taken directly from the PyPSA-eur-sec run.

Methane stores
--------------
~~~~~~~~~~~~~~

The methane stores are modelled as PyPSA *stores* and they are invariable.
In Germany, two types of methane stores are modelled:

* the underground caverns: capacities from SciGRID_gas [SciGRID_gas]_,
* the storage capacity of the German gas grid.

The storage capacity of the gas grid (130 GWh according to the Bundesnetzagentur
[Bna]_) is uniformly distributed between all the methane nodes in Germany
in the scenario eGon2035.
In the scenario eGon100RE, the retrofitted hydrogen grid take a share of
this storage capacity over.

The implementation of the methane storage in the data model is detailed in the
:py:mod:`ch4_storages <egon.data.datasets.ch4_storages>` page of our documentation.

In the neighboring countries, the methane store capacities from SciGRID_gas [SciGRID_gas]_
are used in the eGon2035 scenario and data from PyPSA-eur-sec are used in
the eGon100RE scenario.
Loading