diff --git a/docs/contrib/direct-emissions-method.md b/docs/contrib/direct-emissions-method.md
new file mode 100644
index 00000000..a31baf97
--- /dev/null
+++ b/docs/contrib/direct-emissions-method.md
@@ -0,0 +1,147 @@
+---
+title: Direct emissions method
+---
+
+The direct emissions method determines the greenhouse gas emissions of a scenario at the point where emissions are released. Go to [direct emissions](../main/direct-emissions.md) for more information about the general principles of this method. The current page gives the technical background of how the direct emissions method works.
+
+## Technical principles
+The direct emissions method distinguishes methods for determining CO2 flows for **energy nodes**, as well as methods to determine reporting greenhouse gas emissions (CO2, other GHG and total GHG) calculated for both **energy nodes** and **molecule nodes**. These different methods are further explained below.
+
+Note that all of the direct emissions methods are only calculated for energy and molecule nodes that have the `emissions` group specified. All emissions are calculated in `kg CO2eq`.
+
+## CO2 flow methods
+The ingoing and outgoing CO2 flows depicted in the diagram below are calculated for **energy nodes**. The method calculates these flows for both fossil and biogenic CO2. These flows are the building blocks for calculating the reporting greenhouse gas emissions. The following subsections explain how each of the flows, indicated with letters A-E, are calculated. The method keys for querying the respective CO2 flow on nodes are provided as well.
+
+
+***Figure**. Incoming and outgoing CO2 flows of a technology.*
+
+### CO2 content input carriers (A)
+This flow represents ingoing CO2 embedded in input carriers. The flow is calculated for each ingoing edge, multiplying the demand of that edge with the carrier's emission factor.
+
+```
+A = Σ( input_edge.demand × carrier.co2_per_mj )
+```
+Method keys:
+`direct_co2_input_content_carriers_fossil`
+`direct_co2_input_content_carriers_biogenic`
+
+
+### CO2 utilisation (B)
+This flow represents used CO2 on the node, for example for production of synthetic transport fuels. The required CO2 is determined based on the useful output of a node multiplied with `co2_utilisation_per_mj`. Note that this is the only flow that is not calculated for biogenic CO2 as the ETM only has processes where non-biogenic carriers are produced from CO2 utilisation.
+
+```
+B = Σ( edge.output ) × node.co2_utilisation_per_mj
+```
+Method key:
+`direct_co2_input_utilisation_fossil`
+
+### CO2 content output carriers (C)
+This flow represents outgoing CO2 embedded in output carriers. The flow is calculated for each outgoing edge, multiplying the energy flow with the carrier's emission factor.
+
+```
+C = Σ( output_edge.demand × carrier.co2_per_mj )
+```
+Method key:
+`direct_co2_output_content_carriers_fossil`
+`direct_co2_output_content_carriers_biogenic`
+
+### CO2 capture (D)
+This flow represents the amount of captured CO2 on the node. The flow is determined based on the gross produced CO2 and the `ccs_capture_rate` specified for that node. The gross produced CO2 is the difference between ingoing CO2 (embedded in input carriers `A` and CO2 utilisation `B`) and outgoing CO2 embedded in output carriers `C`.
+
+```
+co2_production = A + B - C
+D = co2_production * ccs_capture_rate
+```
+Method keys:
+`direct_co2_output_production_capture_fossil`
+`direct_co2_output_production_capture_biogenic`
+
+### CO2 emissions (E)
+This flow represents the actual emitted CO2 and is the difference between the ingoing and outgoing CO2 flows described above.
+
+```
+E = (A + B) - (C + D)
+```
+Method keys:
+`direct_co2_output_production_emissions_fossil`
+`direct_co2_output_production_emissions_biogenic`
+
+## Reporting emission methods
+The reporting greenhouse gas emission methods represent the relevant emissions that are typically reported by countries. These methods are used in the various user output for the direct emissions method (for example the data export). Note that these methods are queryable on both *energy nodes* and *molecule nodes*, but have a different implementation for these node types, which is further explained below.
+
+Four reporting emission methods are distinguished (inlcuding method key for querying the method):
+* CO2 production - `direct_reporting_emissions_co2_production`
+* CO2 capture - `direct_reporting_emissions_co2_capture`
+* Other GHG emissions - `direct_reporting_emissions_other_ghg_emissions`
+* Total GHG emissions - `direct_reporting_emissions_total_ghg_emissions`
+
+### CO2 production
+This represents the gross produced fossil CO2, before potential CO2 capture.
+
+#### Energy node implementation
+It is determined from ingoing fossil CO2 (A + B) minus outgoing fossil CO2 embedded in output carriers (C). See the equation including the reporting method key below.
+
+```
+direct_reporting_emissions_co2_production =
+ direct_co2_input_content_carriers_fossil +
+ direct_co2_input_utilisation_fossil -
+ direct_co2_output_content_carriers_fossil
+```
+#### Molecule node implementation
+There are molecule nodes that represent statically modelled CO2 emissions in the ETM by reading these CO2 flows from the dataset-specific `emissions.csv`. The method determines CO2 production based on the flow going through such nodes that have input of `co2`.
+
+### CO2 capture
+This represents the capture of both **fossil** and **biogenic** CO2.
+
+#### Energy node implementation
+Summing fossil and biogenic captured CO2:
+
+```
+direct_reporting_emissions_co2_capture =
+ direct_co2_output_production_capture_fossil +
+ direct_co2_output_production_capture_biogenic
+```
+
+#### Molecule node implementation
+It takes the CO2 demand of molecule nodes with group `ccus_captured`. Effectively, this means captured CO2 in industry (which is not modelled on the energy nodes), direct air capture and LULUCF CO2 removal are included.
+
+### Other GHG emissions
+This flow represents other GHG emissions (for example CH4 and N2O), expressed in kg CO2-eq. It only has an implementation for molecule nodes as other GHG emissions are not dynamically calculated (note: it is queryable on energy nodes but always gives back zero). The method determines other GHG emissions based on the molecule nodes that have input of `other_ghg`, which is only the case for molecule nodes that read static emissions data from the `emissions.csv` file.
+
+### Total GHG emissions
+This flow represents the total reporting GHG emissions. It is composed of the total gross CO2 production minus captured CO2 (which gives actual CO2 emitted) plus other GHG emissions. The implementation is the same for both energy and molecule nodes.
+
+```
+direct_reporting_emissions_total_ghg_emissions =
+ direct_reporting_emissions_co2_production -
+ direct_reporting_emissions_co2_capture +
+ direct_reporting_emissions_other_ghg_emissions
+```
+
+## Complete list of method keys
+Below is the complete list of the method keys already provided in the text above.
+
+*CO2 flow methods - fossil*:
+```
+direct_co2_input_content_carriers_fossil
+direct_co2_input_utilisation_fossil
+direct_co2_output_content_carriers_fossil
+direct_co2_output_production_capture_fossil
+direct_co2_output_production_emissions_fossil
+```
+
+*CO2 flow methods - biogenic*:
+```
+direct_co2_input_content_carriers_biogenic
+direct_co2_output_content_carriers_biogenic
+direct_co2_output_production_capture_biogenic
+direct_co2_output_production_emissions_biogenic
+```
+
+*Reporting emission methods*:
+```
+direct_reporting_emissions_co2_production
+direct_reporting_emissions_co2_capture
+direct_reporting_emissions_other_ghg_emissions
+direct_reporting_emissions_total_ghg_emissions
+```
diff --git a/docs/main/co2-main-principles.md b/docs/main/co2-main-principles.md
index fefc739c..76ce7ea8 100644
--- a/docs/main/co2-main-principles.md
+++ b/docs/main/co2-main-principles.md
@@ -4,6 +4,10 @@ title: Main principles
In the ETM the total greenhouse gas emissions for both the present and future are calculated for scenarios. This page contains extra information on the modelling principles behind carbon emissions in the ETM.
+:::warning Beta release: direct emissions
+The documentation pages give information about the default emissions method of the ETM, based on primary energy demand. A new emissions method based on **direct energy demand** is currently in beta release. Read more about this direct emisisons method [here](direct-emissions).
+:::
+
## Emission categories
The ETM makes a distinction between four 'types' of greenhouse gas emissions:
1. **Energetic CO2 emissions**. These emissions are calculated by the ETM based on the energy use in your scenario. In other words, they are the result of the choices made in the [Demand](https://energytransitionmodel.com/scenario/demand/households/population-and-housing-stock) and [Supply](https://energytransitionmodel.com/scenario/supply/electricity/coal-plants) sections of the model.
@@ -44,8 +48,8 @@ One exception to the primary emission method is for final demand of non-biogenic
If additional feedstock is required in the production process for these liquid fuels, the related CO2 emissions are accounted for using the primary emissions method and allocated to the energy sector.
:::info Calculation example
-The transport sector has a final diesel demand of `100 [MJ]`. Diesel is produced via pyrolysis and pyrolysis-oil fractionation, which proportionally requires `50 [PJ]` of hydrogen for diesel production. This hydrogen is in turn produced via SMR, requiring `60 [PJ]` of natural gas.
-The direct CO2 emissions for diesel demand are allocated to the transport sector and equal `100 [MJ] * emission factor of diesel [kgCO2/MJ]`. The primary CO2 emissions associated with hydrogen consumption in the production process are allocated to the energy sector and equal `60 [PJ] * emission factor of natural gas [kgCO2/MJ]`.
+The transport sector has a final diesel demand of `100 [MJ]`. Diesel is produced via pyrolysis and pyrolysis-oil fractionation, which proportionally requires `50 [PJ]` of hydrogen for diesel production. This hydrogen is in turn produced via SMR, requiring `60 [PJ]` of natural gas.
+The direct CO2 emissions for diesel demand are allocated to the transport sector and equal `100 [MJ] * emission factor of diesel [kgCO2/MJ]`. The primary CO2 emissions associated with hydrogen consumption in the production process are allocated to the energy sector and equal `60 [PJ] * emission factor of natural gas [kgCO2/MJ]`.
:::
The emission factors for liquid fuels are region-specific and can be consulted in the [Dataset Manager](https://data.energytransitionmodel.com/). The liquid fuels for which direct emissions are calculated as an exception are the following:
diff --git a/docs/main/co2-negative-emissions.md b/docs/main/co2-negative-emissions.md
index 54a6308f..52b087cc 100644
--- a/docs/main/co2-negative-emissions.md
+++ b/docs/main/co2-negative-emissions.md
@@ -10,11 +10,9 @@ The ETM supports so-called 'negative' emissions. Negative emissions arise when m
* Direct use of biomass in industry, for both feedstock and combustion
* Biomass-fired power plants
-2. By using Direct Air Capture
+2. By using Direct Air Capture (DAC)
-You can make assumptions about this in the Emissions > ['CCUS'](https://pro.energytransitionmodel.com/scenario/emissions/ccus/capture-of-co2)
-
-Below, both routes are explained in more detail.
+You can make assumptions about this in the [CCUS](https://energytransitionmodel.com/scenario/emissions/ccus/capture-of-co2) section of the model. Below, both routes are explained in more detail.
## Negative emissions from biomass
Using biomass to extract bioenergy, for example for the production of electricity and hydrogen, and subsequently capturing and storing the CO2 emissions released in this process may result in a net decrease in atmospheric CO2 levels. This is typically referred to as BECCS: bio-energy with carbon capture and storage.
@@ -26,9 +24,9 @@ The [IPCC](https://doi.org/10.1111%2Fgcbb.12514) estimates the global potential
## Negative emissions from Direct Air Capture
Direct Air Capture (DAC) is a process of capturing CO2 directly from the ambient air using electricity. If the electricity used is renewable, storing the captured CO2 can lead to a net decrease in atmospheric CO2 levels. The captured CO2 can also be used for the production of carbon neutral fuels.
-Direct Air Capture is a promising technology to bring down global CO2 levels in the atmosphere. However, it is also an energy intensive process. Since CO2 in the ambient air is 'available' everywhere in the world, DAC capacity is likely to be installed in areas that will have very low (renewable) power costs.
+DAC is a promising technology to bring down global CO2 levels in the atmosphere. However, it is also an energy intensive process. Since CO2 in the ambient air is 'available' everywhere in the world, DAC capacity is likely to be installed in areas that will have very low (renewable) power costs.
## Bookkeeping
Negative emissions are incorporated in the CO2 calculation in the following way:
* Negative emissions arising from the production of electricity or hydrogen are incorporated in the [emission factor](co2-emission-factors.md) of these carriers. Since the ETM allocates CO2 to the sectors in which energy is _used_, this means that all sectors using electricity or hydrogen 'benefit' from these negative emissions. Using more electricity or hydrogen may result in lower or even net negative sector emissions.
-* CO2 captured by Direct Air Capture is deducted from the Energy sector.
+* CO2 captured by DAC is deducted from the Energy sector.
diff --git a/docs/main/co2-overview-per-sector.html b/docs/main/co2-overview-per-sector.html
deleted file mode 100644
index e3e7b76d..00000000
--- a/docs/main/co2-overview-per-sector.html
+++ /dev/null
@@ -1,1144 +0,0 @@
-
Overview of emissions per sector chartThis article explains the following chart:
-
-:::info Scope of CO2 emissions chart
-This chart does not include other greenhouse gas emissions apart from CO2. It also only covers
-:::
-In the ETM emissions from different sectors are taken into account to calculate the total emissions in your scenario. Every sector has a different scope when it comes to which emissions are taken into account and which are not. This page explains how this scope is defined in the ETM per sector which you can use to gain a better understanding of the total emissions displayed on the dashboard.
-Emissions per sector
-The following is included per category:
-
-
-
-| Category |
-Scope |
-
-
-
-
-| 1990 emissions |
-Includes all energetic CO2 emissions and fertilizer feedstock emissions. Other greenhouse gases and non-energetic CO2 are excluded. 1990 emissions of international transport can be included optionally and are displayed as a separate series. See 1990 emissions |
-
-
-| Net CO2 emissions |
-Shows the total net CO2 emissions. If a scenario contains negative emissions, the red line can be lower than the highest bar as the line shows the sum of both positive and negative emission sectors. |
-
-
-| Households |
-Includes all energetic CO2 related to final energy demand in the households sector. Emissions associated with the production of electricity, hydrogen and district heating are assigned to this sector based on how much of each carrier is used. For electricity, local production of solar PV is incorporated in the emission factor of electricity. Biomass emissions are excluded by default. |
-
-
-| Buildings |
-See households. |
-
-
-| National transport |
-See households. Does not include international transport. |
-
-
-| International transport |
-Includes all energetic CO2 related to final energy demand in the international transportation sector. By default, this energy demand (and hence the emissions) are considered out of scope. This assumption can be changed in the model. |
-
-
-| Agriculture |
-See households. |
-
-
-| Other |
-Includes all energetic CO2 related to final energy demand in the other demand sector. |
-
-
-| Industry |
-Includes all energetic CO2 related to final energy demand in the industry sector, including emissions related to the production of electricity, hydrogen and steam. Feedstock emissions are excluded. Captured emissions (using carbon capture technologies) in the industry sector are subtracted. |
-
-
-| Energy |
-Emissions related to the production of power, hydrogen, heat and steam are not included here, as these are assigned to the sectors in which these carriers are used. This category does include emissions related to: - own energy use of the power sector
- unused heat for heat networks
- coal gas consumption of cokes ovens
- the production of synthetic kerosene and methanol
- energy use of Direct Air Capture. The CO2 captured from the ambient air is subtracted from this category
- energy use of CO2 storage
|
-
-
-| Non-energetic emissions |
-Includes emissions related to: - feedstock use in the fertilizer industry
- (the production of) non-energetic final demand of hydrogen and ammonia
|
-
-
-| Delayed emissions |
-Includes emissions related to: |
-
-
-
\ No newline at end of file
diff --git a/docs/main/direct-emissions.md b/docs/main/direct-emissions.md
new file mode 100644
index 00000000..8a786d60
--- /dev/null
+++ b/docs/main/direct-emissions.md
@@ -0,0 +1,54 @@
+---
+title: Direct emissions
+---
+
+The direct emissions method determines the greenhouse gas emissions of a scenario at the point where emissions are released. This method is available as an additional method alongside the default emissions method based on [primary demand](co2-main-principles#modelling-principles). This page explains the method principles and how it is implemented in the model.
+
+:::warning Beta release
+The direct emissions method is currently in beta release. This means that it is being implemented incrementally and is subject to further improvement and refinement. Complete user output will first be available for national datasets and will later become availbale for regional (Dutch) datasets. Read more about how the method is currently implemented [here](#method-implementation).
+
+In the near future, the role of the direct emissions method with respect to the primary emissions method will be reviewed and further improved.
+:::
+
+## Principles
+The direct emissions method determines the emissions in a scenario based on where the emissions actually occur. The method generally follows IPCC guidelines for accounting emissions. The main principles of the method are:
+
+* Energetic CO2 emissions are dynamically calculated based on the modelled energy supply and demand flows. Most non-energetic CO2 emissions and other greenhouse gas emissions are not dynamically calculated but are given as input for a scenario. For more information on on dynamically and statically modelled emissions, go to [this page](co2-main-principles#emission-categories).
+* The dynamically calculated CO2 emissions for a technology are determined based on the difference between incoming CO2 via input carriers and CO2 utilisation, and outgoing CO2 via output carriers and CO2 capture. The incoming and outgoing CO2 via input and output carriers is fixed CO2 that is determined based on the emission factor of the carrier. See the diagram and calculation example below.
+* Following IPCC guidelines, biogenic CO2 emissions are excluded from the emissions totals. Captured biogenic CO2 is included in determining emissions totals.
+* CO2 emissions are allocated to the sector where the emissions actually occur. Captured CO2 is deducted from the sector where it is captured. This is where the ETM [deviates from IPCC guidelines](#deviation-from-ipcc-guidelines).
+
+
+
+:::info Calculation example
+The coal-fired power plant consumes `100 MJ` coal. Taking the emission factor of `0.0945 kg CO2/MJ` for coal, the resulting CO2 emissions at the power plant are `100 MJ * 0.0945 kg CO2/MJ = 9.45 kg CO2`, which are allocated to the energy sector.
+:::
+
+### Deviation from IPCC guidelines
+Due to the modelling structure of the ETM, the allocation of captured and used CO2 emissions in the ETM deviates from the IPCC guidelines.
+
+The ETM deducts captured CO2 emissions from the sector where these emissions are captured. If this CO2 is then used and released in the short term (for example used for the production of synthetic fuels and combusted in an aircraft), the ETM allocates these emissions to the sector where the CO2 is emitted.
+
+From [IPCC, 2019 Refinement](https://www.energy.gov/sites/default/files/2021-12/UN%20IPCC,%202019%20Refinement.pdf):
+
+> *Where CO2 emissions are captured from industrial processes or large combustion sources, captured emissions should be allocated to the sector generating the CO2 unless it can be shown that the CO2 is stored in properly monitored geological storage sites [...]*
+
+This means that according to IPCC guidelines, the released CO2 emissions from combustion of the synthetic fuel should be allocated to the sector where the CO2 was originally captured. See the calculation example below for the differences in allocation.
+
+:::info Calculation example
+A coal-fired power plant in the energy sector produces `100 kg CO2`, of which `80 kg CO2` is captured and `20 kg CO2` is emitted. The captured CO2 is used for synthetic kerosene production, which is later combusted in an aircraft, leading to `80 kg` of emitted CO2.
+
+**Allocation ETM**: the energy sector emits `20 kg CO2`, the transport sector emits `80 kg CO2`.
+**Allocation IPCC**: the energy sector emits `100 kg CO2`, the transport sector emits `0 kg CO2`.
+:::
+
+## Method implementation
+Currently, the direct emissions method is implemented as an additional method alongside the default primary emissions method. The results of the direct emissions method can be viewed via a detailed [data export](https://energytransitionmodel.com/scenario/data/data_export/yearly-direct-greenhouse-gas-emissions). This data export provides a complete overview of all emissions in a scenario for the start year and future year. All technologies where emissions can occur are included and categorised by ETM sector and subsector. In addition, other greenhouse gas emissions that are not dynamically calculated are also included.
+
+The following emission results, expressed in kg CO2-eq, are included in the data export:
+* **CO2 production**: fossil CO2 generated, before CO2 capture.
+* **CO2 capture**: fossil and biogenic CO2 captured.
+* **Other GHG emissions**: total non-CO2 emissions.
+* **Total GHG emissions**: net total GHG emissions, calculated as `CO2 production - CO2 capture + Other GHG emissions`.
+
+Go to [this page](../contrib/direct-emissions-method.md) for more technical details on how these emissions are calculated in the model.
diff --git a/sidebars.js b/sidebars.js
index 09e976b8..0edb6b9a 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -79,6 +79,7 @@ module.exports = {
"main/co2-negative-emissions",
"main/co2-overview-per-sector",
"main/emissions-footprint",
+ "main/direct-emissions"
],
},
{
@@ -176,7 +177,8 @@ module.exports = {
"contrib/molecules",
"contrib/waste-outputs",
"contrib/gql",
- "contrib/recursive-methods"
+ "contrib/recursive-methods",
+ "contrib/direct-emissions-method"
],
},
{
diff --git a/src/css/custom.css b/src/css/custom.css
index e329d47f..b5964db9 100644
--- a/src/css/custom.css
+++ b/src/css/custom.css
@@ -520,9 +520,8 @@ article p code {
/* Add "New" tag to some sidebar items. */
/* Commented out for now as there are no recent updates to highlight. */
-
-/* .menu a[href="/main/liquid-fuels"]:after,
-.menu a[href="/main/releases"]:after {
+/*
+.menu a[href="/main/direct-emissions"]:after {
-webkit-font-smoothing: initial;
border-radius: 4px;
border: 1px solid #bac0d4;
@@ -537,8 +536,7 @@ article p code {
text-transform: uppercase;
}
-.menu a.menu__link--active[href="/main/liquid-fuels"]:after,
-.menu a.menu__link--active[href="/main/releases"]:after {
+.menu a.menu__link--active[href="/main/direct-emissions"]:after {
color: #e8eeff;
border-color: #e8eeff;
} */
@@ -568,8 +566,7 @@ article p code {
border-color: #e8eeff;
} */
-/* Add "to be retired" tag to sidebar item. */
-
+/* Add "outdated" tag to sidebar item. */
.menu a[href="/main/scenario-tools/introduction"]:after,
.menu a[href="/main/factsheet"]:after {
-webkit-font-smoothing: initial;
@@ -592,6 +589,27 @@ article p code {
border-color: #e8eeff;
}
+/* Add "beta" tag to sidebar item. */
+.menu a[href="/main/direct-emissions"]:after {
+ -webkit-font-smoothing: initial;
+ border-radius: 4px;
+ border: 1px solid #bac0d4;
+ content: "beta";
+ color: #a0a6bb;
+ font-size: 11px;
+ font-weight: 400;
+ height: 1rem;
+ line-height: 1rem;
+ margin: 0 0 0 auto;
+ padding: 0 0.25rem;
+ text-transform: uppercase;
+}
+
+.menu a.menu__link--active[href="/main/direct-emissions"]:after {
+ color: #e8eeff;
+ border-color: #e8eeff;
+}
+
/* Images with an border, useful for small screenshots. */
.bordered-image {
diff --git a/static/img/docs/direct_emissions_co2_flows.png b/static/img/docs/direct_emissions_co2_flows.png
new file mode 100644
index 00000000..aea201ae
Binary files /dev/null and b/static/img/docs/direct_emissions_co2_flows.png differ
diff --git a/static/img/docs/direct_emissions_co2_flows_letters.png b/static/img/docs/direct_emissions_co2_flows_letters.png
new file mode 100644
index 00000000..51e892df
Binary files /dev/null and b/static/img/docs/direct_emissions_co2_flows_letters.png differ