.. TREMOD documentation master file, created by
   sphinx-quickstart on Tue Mar 28 15:38:34 2023.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

Schienenverkehr (1A3c)
======================

.. note::

   This project and documentation is under active development!

Das Schienenverkehrsmodul in TREMOD berechnet Energieverbrauch, Treibhausgas- (THG) und Luftschadstoffemissionen des
Schienenverkehrs in Deutschland für den Zeitraum 1960–2050.
Es umfasst:

- Personenfern- und -nahverkehr (z. B. ICE, Regionalzüge, S-Bahnen, U-Bahnen)
- Güterverkehr (inkl. Rangierbetrieb)
- Verkehrsleistungen (Personen- und Tonnenkilometer)
- Betriebsleistungen (Zugkilometer)
- Energieverbrauch (Strom, Diesel, Biodiesel, Festbrennstoffe wie Kohle in historischen Daten)
- Direkte Abgasemissionen sowie Vorkettenemissionen für verschiedene Schadstoffe (z. B. NOₓ, CO₂, PM, SO₂).


.. toctree::
   :maxdepth: 2
   :caption: Contents:


1. Methodik
-------------------

Die Berechnung basiert auf einem Bottom-up-Ansatz, bei dem Emissionen aus Verkehrsleistungen, Betriebsleistungen und
spezifischen Emissionsfaktoren abgeleitet werden. Die Datenquellen umfassen Statistiken des Statistischen
Bundesamts (DESTATIS), des Verbands Deutscher Verkehrsunternehmen (VDV) und der DB AG (u. a. Rail Environment Centre).

Die Eingangsdaten setzen sich zusammen aus:

- Verkehrs- und Betriebsleistungen (z. B. Personenkilometer, Tonnenkilometer, Zugkilometer), die jährlich von DB AG
  und VDV erhoben und für TREMOD aufbereitet werden.
- Energieverbrauch, differenziert nach Strom (für elektrifizierte Strecken) und Diesel (für Nicht-E-Strecken) sowie
  historischen Brennstoffen wie Kohle.
- Emissionsfaktoren:

   - Für elektrischen Betrieb hängt der Faktor vom Jahresmittelwert des deutschen Strommix ab,
     inklusive Vorkettenemissionen (z. B. durch Stromerzeugung).
   - Für Dieselzüge basieren die Faktoren auf spezifischen Werten der Bahn, die im ISO-F-Zyklus gemessen und vom
     DB-Umweltzentrum jährlich bereitgestellt werden.

Die Aktualisierung erfolgt jährlich durch Anpassung der Leistungsdaten (z. B. durch DB AG oder VDV-Erhebungen) sowie
der Verbrauchs- und Emissionsfaktoren. Für die Prognose bis 2050 werden Trendszenarien verwendet, die technologische
Fortschritte (z. B. strengere Abgasgrenzwerte, Remotorisierung) und die Entwicklung des Fahrzeugparks berücksichtigen.

Die Einzelschritte werden im folgenden beschrieben. Die verwendeten Rechengrößen sind in folgender Tabelle dargestellt:

**Größen**


.. list-table::
   :header-rows: 1
   :widths: 20 25 55

   * - Symbol
     - Spaltenvariable
     - Bedeutung
   * - :math:`E^{\text{dir}}`
     - ``e_direkt``
     - Direkter Energieverbrauch bzw. direkte Basisemission
   * - :math:`E`
     - ``e_direkt`` (Endwert)
     - Resultierende Emission je Schadstoff
   * - :math:`\mathit{vl}`
     - ``vl``
     - Verkehrsleistung
   * - :math:`\mathit{vlanteil}`
     - ``vlanteil``
     - Anteil der Verkehrsleistung
   * - :math:`\mathit{baanteil}`
     - ``baanteil``
     - Anteil der Betriebsart
   * - :math:`\mathit{alg}`
     - ``alg``
     - Auslastungsgrad
   * - :math:`\mathit{bl}`
     - ``bl`` / ``bl1`` / ``bl2``
     - Betriebsleistung
   * - :math:`\mathit{evspez}`
     - ``evspez``
     - spezifischer Energieverbrauch
   * - :math:`\mathit{aendfaktor}`
     - ``aendfaktor``
     - Änderungsfaktor (Energieverbrauch)
   * - :math:`\mathit{efa}`
     - ``efa``
     - Emissionsfaktor
   * - :math:`\mathit{emaendfaktor}`
     - ``emaendfaktor``
     - Änderungsfaktor (Emissionsfaktor)
   * - :math:`\alpha^{\mathrm{hc}}`
     - ``anteil``
     - HC-Speziesanteil (NMHC-Differenzierung)
   * - :math:`\alpha^{\mathrm{bio}}`
     - ``anteil`` (Biofuels)
     - Biokraftstoffanteil
   * - :math:`\mathit{efaspez\_tj}`
     - ``efaspez_tj``
     - spezifischer treibstoffabgeleiteter Emissionsfaktor
   * - :math:`\mathit{factor}`
     - ``factor``
     - THG-/CO₂-Äquivalenzfaktor
   * - :math:`\mathit{bc\_share}`
     - ``bc_shares``
     - Black-Carbon-Anteil an PM (Default 0,65)

.. note::

   - Für die Leistungsart-Fallunterscheidung gilt :math:`\mathit{vl}, \mathit{bl} = 0`,
     wenn :math:`l = 2` (sonst die berechneten Werte).
   - Komponenten/Betriebsarten mit Nullemission (DZE) setzen :math:`E = 0`
     für die betroffenen Kombinationen aus :math:`s, b, n`.
   - Die Skalierungen :math:`10^{6}` und :math:`10^{3}` ergeben sich aus der
     Einheitenumrechnung der jeweiligen Faktoren.


1.1 Betriebsleistung und Energieverbrauch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Zunächst werden Verkehrsleistung (vl) und Betriebsleistung (bl) auf Zugbetriebs- und Rangierebene berechnet,
anschließend der direkte Energieverbrauch.
Die Verkehrsleistung wird nach Zuggattungen (z. B. ICE, Regionalzug, Güterzug) und Betriebsarten (z. B. Zugbetrieb,
Rangieren) differenziert. Die Betriebsleistung (z. B. Zugkilometer) ergibt sich aus der
Verkehrsleistung, geteilt durch die mittlere Beladung (alg), d.h. Personen bzw. Tonnen pro Zug.

**Zugbetrieb (Leistungsart 1)**

Für den Zugbetrieb wird die Verkehrsleistung direkt aus den Eingangsdaten abgeleitet:

.. math::
   \begin{aligned}
   \mathit{vl1} &= \mathit{vl} \cdot \mathit{vlanteil} \cdot \mathit{baanteil},
   &\qquad \mathit{bl1} &= \frac{\mathit{vl1}}{\mathit{alg}}
   \end{aligned}

**Rangierbetrieb (Leistungsart 2)**

Die Leistungen im Rangierbetrieb der DB AG (idunternehmen = 1) werden anteilig aus der Summe der
Verkehrsleistungen im Zugbetrieb (:math:`\mathit{vl3}`) abgeleitet:

.. math::
   \begin{aligned}
   \mathit{vl3} &= \sum \mathit{vl1},
   &\qquad \mathit{bl3} &= \sum \mathit{bl1} \\[2pt]
   \mathit{vl1}_{\text{Rangier}} &= \mathit{vl3} \cdot \mathit{baanteil}_{\text{Rangier}},
   &\qquad \mathit{bl1}_{\text{Rangier}} &= \mathit{bl3} \cdot \mathit{baanteil}_{\text{Rangier}}
   \end{aligned}

**Energieverbrauch**

Der spezifische Energieverbrauch (evspez) ist abhängig von Zugtyp, Antrieb und Energieart. Er wird auf Basis der
Betriebsleistung :math:`\mathit{bl1}` berechnet. Der spezifische Energieverbrauch setzt sich aus einem Basisverbrauch
und einem jährlichen Änderungsfaktor (Effizienzentwicklung) zusammen.

.. math::
   Ev_{\text{direkt}} = \frac{\mathit{evspez} \cdot \mathit{aendfaktor} \cdot \mathit{bl1}}{10^{6}}

Für die Berichterstattung wird zudem die Größe :math:`\mathit{vl2}` und :math:`\mathit{bl2}` ausgewiesen. Hierbei wird
berücksichtigt, dass für Rangierbetrieb (Leistungsart = 2) keine Verkehrsleistung angesetzt wird, da Rangierfahrten
keine Verkehrsleistung im klassischen Sinne erbringen.

.. math::
   \begin{aligned}
   \mathit{vl2} =
   \begin{cases}
   0 & \text{wenn } \mathit{idleistungsart} = 2 \\[4pt]
   \mathit{vl1} & \text{sonst}
   \end{cases}
   \qquad
   \mathit{bl2} = \mathit{bl1}
   \end{aligned}

Abhängige Variablen: vl, vlanteil, baanteil, alg, evspez (spezifischer Energieverbrauch),
aendfaktor (Änderungsfaktor), differenziert nach den Parametern Szenario, Bezugsjahr, Unternehmen, Verkehrsart,
Zuggattung, Betriebsart, Leistungsart und Energieträger.

1.2 Direkte Emissionen
~~~~~~~~~~~~~~~~~~~~~~

Aus dem Energieverbrauch werden die direkten Emissionen für einzelne Schadstoffe (z. B. NOₓ, CO, HC, Partikel) über
Emissionsfaktoren (efa) abgeleitet. CO₂ und SO₂ werden separat behandelt, da sie in erster Linie vom Energieträger und
des Kraftstoffverbrauchs abhängen (siehe Abschnitt 1.3).

.. math::
   \begin{aligned}
   \mathit{efa}^{(1)} &= \mathit{efa} \cdot \mathit{emaendfaktor} \\[6pt]
   Em_{\text{direkt}}^{(1)} &=
   \begin{cases}
   0 & \text{wenn } \mathit{efa}^{(1)} = \text{null} \\[4pt]
   \dfrac{Ev_{\text{direkt}} \cdot \mathit{efa}^{(1)}}{10^{3}} & \text{sonst}
   \end{cases}
   \end{aligned}

Ferner werden die von HC abgeleiteten Schadstoffkomponenten über ihre jeweiligen Anteile an den
Kohlenwasserstoff-Gesamtemissionen bestimmt.

.. math::
   Em_{\text{direkt}}^{(2)} = Em_{\text{direkt}}^{(1)} \cdot \mathit{anteil}

Für weitere Betriebsarten, z. B. elektrische Lokomotiven mit direkten Nullemissionen (DZE, `idbetriebsart` ∈ {11, 12, 13}), wird ein separater Datensatz mit Nullwerten erzeugt:

.. math::
   Em_{\text{direkt, DZE}}^{(1)} = 0

Die Teilergebnisse werden anschließend zu einer Tabelle vereinigt:

.. math::
   E_{\text{direkt}} = \bigl\{\, Ev_{\text{direkt}},\ Em_{\text{direkt}}^{(1)},\ Em_{\text{direkt}}^{(2)},\ Em_{\text{direkt, DZE}}^{(1)} \,\bigr\}


1.3 Nachgelagerte Ergänzungen
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Nach der Berechnung der direkten Emissionen werden multiplikative Faktoren für spezifische Anpassungen angewendet. Dies
betrifft:

   * Biokraftstoffanteile
   * Emissionen, die auf Basis des Kraftstoffverbrauchs abgeleitet werden
   * Treibhausgasäquivalente
   * Black Carbon Emissionen.

Die Berechnung erfolgt sequentiell:

**Biokraftstoffanteile**

Die Emissionen werden mit dem Biokraftstoffanteil multipliziert. Da die Berechnung auf Basis des ursprünglichen direkten Emissionswerts :math:`Em_{\text{direkt}} \in \{Em_{\text{direkt}}^{(1)}, Em_{\text{direkt}}^{(2)}, Em_{\text{direkt, DZE}}^{(1)}\}` erfolgt, ergibt sich:

.. math::
   Em_{\text{direkt}}^{(3)} = Em_{\text{direkt}} \cdot \mathit{anteil}_{\text{bio}}

**Kraftstoffverbrauchsabhängige Emissionen**

Für Emissionen, die auf Basis des Kraftstoffverbrauchs berechnet werden, erfolgt eine Umrechnung ausgehend von den biokraftstoffbereinigten Werten:

.. math::
   Em_{\text{direkt}}^{(4)} = Em_{\text{direkt}}^{(3)} \cdot \mathit{efaspez\_tj}

**Treibhausgase (THG-Äquivalente)**

Die Berechnung der :math:`\text{CO}_2`-Äquivalente erfolgt durch Multiplikation mit dem entsprechenden THG-Faktor und
anschließender Aufsummierung der :math:`\text{CO}_2`-Äquivalente je Schadstoff (z.B: CO2, CH4, N2O):

.. math::
   Em_{\text{direkt}}^{(5)} = Em_{\text{direkt}} \cdot \mathit{factor}

**Black Carbon (BC)**

Black Carbon Emissionen (:math:`\text{idss} = 6`) werden als Anteil von den Partikelemissionen (:math:`Em_{\text{direkt}}`) abgeleitet:

.. math::
   Em_{\text{BC}} = Em_{\text{direkt}} \cdot \mathit{bc\_shares}, \qquad \mathit{bc\_shares} = 0{,}65

Abhängige Variablen: anteil (Biokraftstoffanteil), efaspez_tj (spez. treibstoffabgeleiteter EF),
factor (THG-/CO₂-Äquivalenzfaktor), bc_shares (Black Carbon-Anteil an PM).

1.4 Gesamtberechnung
~~~~~~~~~~~~~~~~~~~~

Die zusammenfassenden Formeln für Energieverbrauch und Emissionen basieren auf den zuvor beschriebenen Schritten.
Sie berücksichtigen alle relevanten Indizes bzw. Differenzierungen (z. B. Szenario, Unternehmen, Verkehrsart) und Größen
(z. B. Verkehrsleistung, Emissionsfaktoren).

**Energieverbrauch**

.. math::

   E^{\text{dir}}_{\,z,u,v,j,g,b,l,n}
   =
   \frac{
   \mathit{evspez}_{\,l,b,g}\cdot\mathit{aendfaktor}_{\,j,l,b,g,u,z}\cdot\mathit{bl}_{\,z,u,v,j,g,b,l}
   }{10^{6}}

mit der Betriebsleistung

.. math::

   \mathit{bl}_{\,z,u,v,j,g,b,l}
   =
   \frac{\mathit{vl}_{\,z,v,j}\cdot\mathit{vlanteil}_{\,z,v,j,u}\cdot\mathit{baanteil}_{\,z,u,j,g,b}}
   {\mathit{alg}_{\,z,u,j,g,b,l}}

**Emissionen**


.. math::

   E_{\,z,u,v,j,g,b,l,n,s}
   =
   E^{\text{dir}}_{\,z,u,v,j,g,b,l,n}
   \cdot
   \frac{\mathit{efa}_{\,s,l,b,g}\cdot\mathit{emaendfaktor}_{\,s,l,b,g}}{10^{3}}
   \cdot
   \alpha^{\mathrm{hc}}_{\,s,n}
   \cdot
   \alpha^{\mathrm{bio}}_{\,z,j,n}
   \cdot
   k^{\mathrm{nach}}_{\,s}

wobei der nachgelagerte Faktor je nach Schadstoffpfad nur einen der folgenden
Terme annimmt:

.. math::

   k^{\mathrm{nach}}_{\,s}
   =
   \begin{cases}
   \mathit{efaspez\_tj}_{\,j,n,L} & \text{treibstoffabgeleitet}\ (s=5)\\
   \mathit{factor}_{\,s} & \text{THG- / CO}_2\text{-Äquivalente}\\
   \mathit{bc\_share}\ (=0{,}65) & \text{Black Carbon}\ (s=6)\\
   1 & \text{sonst}
   \end{cases}

**Indizes**


.. list-table::
   :header-rows: 1
   :widths: 10 30 60

   * - Index
     - Spaltenvariable
     - Bedeutung
   * - :math:`z`
     - ``idszenario`` / ``idszenbahn``
     - Szenario / Bahnszenario
   * - :math:`u`
     - ``idunternehmen``
     - Unternehmen
   * - :math:`v`
     - ``idverkehrsart``
     - Verkehrsart
   * - :math:`j`
     - ``bezugsjahr``
     - Bezugsjahr
   * - :math:`g`
     - ``idzuggattung``
     - Zuggattung
   * - :math:`b`
     - ``idbetriebsart``
     - Betriebsart (z. B. Zug-/Rangierbetrieb)
   * - :math:`l`
     - ``idleistungsart``
     - Leistungsart
   * - :math:`n`
     - ``idenergy``
     - Energieträger
   * - :math:`s`
     - ``idss``
     - Schadstoff / Komponente
   * - :math:`L`
     - ``idland``
     - Land (nur treibstoffabgeleitet)


1.5 Energiebilanzkorrektur
~~~~~~~~~~~~~~~~~~~~~~~~~~

Berechnung des TREMOD-Energieverbrauchs:
Der Traktionsenergieverbrauch wird in TREMOD bottom-up aus Verkehrsleistungen, Betriebsleistungen und spezifischen Verbräuchen
abgeleitet.

Vergleich mit der Energiebilanz:
Die Summe der TREMOD-Ergebnisse für DB AG, Nichtbundeseigene Eisenbahnen (NE)-Bahnen und Hafen-/Werkbahnen (HWB) wird mit dem Wert
aus der Energiebilanz der Arbeitsgemeinschaft Energiebilanzen (kurz AGEB) verglichen und hieraus ein Energiebilanzkorrekturfaktor berechnet.
Der Faktor ergibt sich aus dem Verhältnis von AGEB-Wert zur TREMOD-Summe:

.. math::

   k_n = \frac{E_{\text{AGEB},n}}{E_{\text{TREMOD,Summe},n}}

mit:

- :math:`E_{\text{AGEB},n}`: Energieverbrauch des Schienenverkehrs für Energieträger :math:`n` laut AGEB.
- :math:`E_{\text{TREMOD,Summe},n}`: Summe der berechneten Verbrauchswerte für DB AG, NE-Bahnen und HWB in TREMOD.

Falls der AGEB-Wert niedriger ist als die TREMOD-Summe, wird der Korrekturfaktor < 1 (Reduktion der TREMOD-Werte).
Wenn jedoch der AGEB-Wert höher ist, wird der Faktor > 1 (Erhöhung der TREMOD-Werte).

Anwendung des Faktors:
Die berechneten Energieverbrauchswerte in TREMOD werden mit dem Korrekturfaktor multipliziert, um die Übereinstimmung
mit der Energiebilanz herzustellen.
Die korrigierten Energieverbrauchswerte :math:`E_{\text{korr},n}` für den Schienenverkehr ergeben sich aus:

.. math::

   E_{\text{korr},n} = E_{\text{TREMOD},n} \cdot k_n

wobei:

- :math:`E_{\text{korr},n}`: Korrigierter Energieverbrauch des Schienenverkehrs für Energieträger :math:`n` (Strom oder Diesel).
- :math:`E_{\text{TREMOD},n}`: Berechneter Energieverbrauch in TREMOD für Energieträger :math:`n`.
- :math:`k_n`: Korrekturfaktor für Energieträger :math:`n`.

Für die Ergebnisausgabe nach Energiebilanzprinzip und ZSE (siehe nächster Abschnitt) werden auch die Emissionen mit dem
Korrekturfaktor multipliziert.

1.6 ZSE-Ausgabe
~~~~~~~~~~~~~~~~~~~~~~~~~~
Die korrigierten Energieverbrauchsdaten bilden auch die Grundlage für die nationale Berichterstattung im
**zentralen System Emissionen (ZSE)**. TREMOD verfügt hierzu über eine eigene ZSE-Schnittstelle für den Verkehr.

Das ZSE unterscheidet im Schienenverkehr nach Kraftstoffart und Bezugsjahr. Dabei wird eine eigene Nomenklatur
verwendet, welche in entsprechenden Zuordnungstabellen hinterlegt ist.
Auch wird nur ein Teil der in TREMOD verfügbaren Schadstoffe für das ZSE berichtet.

Das ZSE beinhaltet folgende Kenngrößen:
   * Aktivitätsrate: für direkte Emissionen in Terajoule (TJ)
   * Emissionsfaktoren: für direkte Emissionen in kg/TJ

Die Emissionsfaktoren berechnen sich aus dem Quotient aus den Emissionen und dem Endenergieverbrauch je Bezugsjahr und
ZSE-Kategorie. Die Ergebnisse nach Inlandsprinzip werden nicht korrigiert.

2. Implementierung
------------------

Sämtliche Abfragen und Berechnungen von TREMOD Rail (Schienenverkehr) sind in Python und der Bibliothek Polars
umgesetzt. Die Datenhaltung in mehreren PostgreSQL-Datenbanken. Im folgenden werden die Datenschnittstellen,
Eingangsdatenformate und Berechnungsschritte skizziert.

2.1 Datenschnittstellen
~~~~~~~~~~~~~~~~~~~~~~~

Alle Eingangsdaten und Definitionen sind als Tabellen in der SQL-Datenbank gespeichert und können dort verändert werden,
z.B. für jährliche Updates. Sie werden über das Modul tableoperations aufgerufen und in die Berechnungen für TREMOD-Road
integriert. Der Name der Datenbank setzt sich aus "tremod_rail" + "Versionsnummer" zusammen. Die Datentabellen können
entweder aus einer lokalen SQLite-Datenbank oder über Remote-Zugriff (z.B. Postgres) abgerufen werden.

Alle für die Berechnungen des Schienenverkehrs verwendeten Tabellen werden über die Klasse ``PersistanceLayer``
im Modul ``tableoperations.py`` des Rechenmodells füe den Schienenverkehr definiert und vorgeladen.

Sie beinhaltet folgende Methoden, welche im folgenden kurz beschrieben werden:

.. list-table:: Methoden der Klasse PersistanceLayer
   :header-rows: 1

   * - Methode
     - Beschreibung
   * - get_common
     - Verkehrsträgerübergreifende Daten, Definitionen und Emissionsfaktoren
   * - get_base_data
     - Verkehrsleistungs- und Betriebsdaten im Schienenverkehr
   * - get_emission_factors
     - Bahnspezifische Emissionsfaktoren
   * - get_definitions
     - Definitionsdateien des Verkehrsträgers Schiene (z.B. Szenarien)

Die Hilfsmethoden `get_results` und `write_to_db` dienen dem Lesen und Schreiben der Ergebnisse zu Bestand, Fahr- und
Verkehrsleistung sowie Emissionen in die Datenbank. `convert_pol_dtypes` dient zur Vereinheitlichung
von Datentypen für die Berechnungen in Polars.

2.2 Eingangsdaten
~~~~~~~~~~~~~~~~~
Die Quellen zu den Eingangsdaten sind in den UBA-Berichten zur TREMOD-Aktualisierung dokumentiert. Daher wird hier nur
auf die für die Emissionsberechnung wichtigsten Tabellen eingegangen, welche im Rahmen der jährlichen Updates
angepasst werden.

Common data
...........

Ergänzend siehe ggf. Tabellen, die bereits für den Straßenverkehr (1A3b) erläutert wurden.

.. include:: tables/common.rst

Basisdaten (Aktivitätsdaten)
............................

.. include:: tables/base.rst

Emissionsfaktoren
.................

.. include:: tables/emissions.rst

Definitionen
............

.. include:: tables/definitions.rst

2.3 Berechnungen
~~~~~~~~~~~~~~~~

Die eigentliche Emissionsberechnung des Schienenverkehrs ist in der Klasse ``RailEmissions``
im Modul ``rail.src.emissions`` gebündelt. Sie lädt beim Initialisieren die benötigten
Eingangsdaten (Basis- bzw. Aktivitätsdaten, Energieverbrauchs- und Emissionsfaktoren,
Definitionen sowie verkehrsträgerübergreifende Daten) über die Klasse ``PersistanceLayer``
und stellt darauf aufbauend die einzelnen Berechnungsschritte als Methoden bereit.

Das folgende Ablaufdiagramm gibt einen Überblick über das Zusammenspiel dieser
Methoden und den Datenfluss zwischen ihnen. Ausgehend von den Eingangsdaten werden in der
Methode ``calculate_tblsce_rail_sys_d_trend`` zunächst die direkten Emissionen über die
gesamte interne Kette (Verkehrs- und Betriebsleistung, Energieverbrauch, Emissionsfaktoren,
HC-Differenzierung und Nullemissions-Komponenten) berechnet und in ``direct_emissions``
abgelegt. Die nachgelagerten Methoden (z. B. Biokraftstoffanteile, treibstoffabgeleitete
Emissionen, Treibhausgas-Äquivalente und Black Carbon) bauen auf diesem Zwischenergebnis
bzw. auf ``merged_results`` auf und ergänzen die Gesamtergebnisse schrittweise.

Ablaufdiagramm der Emissionsberechnung
......................................

.. image:: images/PAP_Rail_emissions.svg

Code-Beschreibung:
..................

Die nachfolgende Übersicht wurde aus den Docstrings des Moduls
``rail.src.emissions`` erzeugt und dokumentiert die Klasse ``RailEmissions`` mit allen
öffentlichen Methoden. Sie beschreibt für jede Methode kurz ihre Aufgabe, die verarbeiteten
Eingangsdaten sowie die zurückgegebenen Ergebnisse und bildet damit die konkrete
Implementierung der zuvor dargestellten Berechnungsschritte ab. Die einzelnen Methoden sind
in der Reihenfolge ihres Aufrufs im Ablaufdiagramm zu lesen.

.. automodule:: rail.src.emissions
   :no-index:
   :members:
   :undoc-members:
   :inherited-members:
   :show-inheritance:




2.4 Ergebnisausgabe
~~~~~~~~~~~~~~~~~~~

Die Ergebnisausgabe ist im Wesentlichen nach folgenden differenziert:

- Szenario (z.B.: Realdaten Westdeutschland 1960-1993,	Realdaten Ostdeutschland 1960-1993, Deutschland 1994-2050)
- Bezugsjahr (z.B.: 1960 bis 2050)
- Unternehmen (z.B.: Deutsche Bahn AG und Rechtsvorgänger, Nichtbundeseigene Eisenbahnen öffentlich, Kommunale Bahnen, Hafen- und Werksbahnen)
- Verkehrsart (z.B. Personenverkehr, Güterverkehr)
- Zuggattung (z.B. Personennahverkehrszug, Personenfernverkehrszug, Güterzug, Straßen-Stadt-U-Bahn, Hafen- Werksbahn, ICE, IC/EC, InterRegio)
- Betriebsart (z.B. Elektrisch (Bahnstrom), Elektrisch (EVU-Strom), Diesel, Dampf/Kohle)
- Leistungsart (z.B. Leistungen im Zugdienst, Rangierleistungen)
- Schadstoff (z.B. Kohlenwasserstoffe total, Kohlenmonoxid, Stickoxide, Partikelmasse)
- Energieträger (z.B. Strom, Diesel, Biodiesel u. Pflanzenöl)


