Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
2eb4185
Add first setup of HT node
kndehaan Jul 30, 2026
8767fb5
Add edges for the hydrogen-ccgt-chp and position the node.
robindesmit-quintel Jul 30, 2026
554011b
Add and update nodes for the sliders of hydrogen CCGT CHP.
robindesmit-quintel Jul 31, 2026
422953c
Add Mechanical Turk queries for direct emissions
kndehaan Jul 16, 2026
bbdc4ae
Add 1990 emissions to emissions.csv files
kndehaan Jun 9, 2026
0d88359
Bump Atlas to quintel/atlas@5504fac
kndehaan Jul 7, 2026
8fb01b0
Add ipcc emission queries
kndehaan Jul 15, 2026
f6fc12d
Update refinery process node use to non_energetic
kndehaan Jul 17, 2026
f7031d5
Folder restructure of etm sector and ipcc category queries
kndehaan Jul 17, 2026
2075430
Rename queries
kndehaan Jul 20, 2026
5decdcf
CO2 and other GHG queries for IPCC categories
kndehaan Jul 20, 2026
7ee2d83
Add totals queries for ipcc total ghg, co2 and other ghg
kndehaan Jul 20, 2026
9468d1a
Mechanical turk queries IPCC emissions
kndehaan Jul 20, 2026
6dad386
Expand totals queries for IPCC emissions 1990
kndehaan Jul 20, 2026
5cccdf8
Add IPCC categories to data export
kndehaan Jul 20, 2026
dbac142
Refine config examples to match expectations of serializer for direct…
louispt1 Jul 21, 2026
bef17da
Updated IPCC chart and queries based on comments
jort-wolda Jul 22, 2026
6dd1799
Reduce descriptive text complexity of data export
kndehaan Jul 22, 2026
580cedf
Minor fixes
kndehaan Jul 22, 2026
a363c6f
Minor indentation changes
mabijkerk Aug 5, 2026
53285e3
Rename folder
kndehaan Aug 6, 2026
76d46a9
Fix GQL
kndehaan Aug 6, 2026
947e634
New inputs for buildings
jort-wolda Jul 29, 2026
31564e7
Omit unused insulation-related values from demolished input
kndehaan Jul 30, 2026
d0e5dcf
Update input names
kndehaan Aug 3, 2026
b204263
New input keys for households
jort-wolda Aug 3, 2026
6f52c17
Changed names of household_number demolished and new inputs
jort-wolda Aug 5, 2026
397b3db
Add two alternative approaches to demolished residences
kndehaan Aug 5, 2026
37ec6c0
Some small changes:
jort-wolda Aug 6, 2026
80d03f4
Updated descriptions
jort-wolda Aug 10, 2026
9f6cc19
Changed inputs for demolished to absolute numbers
jort-wolda Aug 11, 2026
4366665
Step value for insulation inputs from 1.0 to 0.1
jort-wolda Aug 11, 2026
089c80c
Omit buildings-related input changes
kndehaan Aug 13, 2026
d3ea139
Change insulation sliders to positive values
kndehaan Aug 13, 2026
1beee1c
Various improvements
kndehaan Aug 13, 2026
9df99ed
Restore accidentally removed inhabitants input
kndehaan Aug 13, 2026
86260bb
Minor improvements
kndehaan Aug 13, 2026
edd0c98
GQL improvements
kndehaan Aug 14, 2026
744f7c6
Add new sliders for nr of buildings, insulation and behaviour
kndehaan Aug 4, 2026
72ab45e
Update docs URL in docs string of insulation costs queries
kndehaan Aug 4, 2026
258aed3
Queries for nr. of buildigns figure
jort-wolda Aug 7, 2026
2223f80
Fix typo
mabijkerk Aug 12, 2026
a3937b5
Style changes to buildings inputs
mabijkerk Aug 12, 2026
fdf259d
Insulation sliders from 0 to 100 instead of 0 to -100
jort-wolda Aug 14, 2026
694cf05
Adjust household batteries number of units for quintel/etsource#3473
mabijkerk Aug 20, 2026
296f262
Add reference to households batteries in behaviour input
mabijkerk Aug 20, 2026
a304b47
Update description to show impact of weather set
mabijkerk Aug 20, 2026
c488faa
Simplify households battery query
mabijkerk Aug 20, 2026
d8c6a76
Update reference to correct input key
mabijkerk Aug 20, 2026
75fd0e3
Change spacing for clarity
mabijkerk Aug 20, 2026
c736a67
Revert "Merge pull request #3470 from quintel/simplified-heat-sliders"
aaccensi Aug 20, 2026
62b0aeb
Remove duplicate input for biodiesel share in rail mix (#3478)
mabijkerk Aug 21, 2026
0aaa688
Move primary emissions sliders to dedicated folder
kndehaan Aug 19, 2026
5207c4d
Add first direct emissions input
kndehaan Aug 19, 2026
65504bc
Updated priority of bunkers allocated percentage inputs
kndehaan Aug 20, 2026
07f3a68
Add international transport inputs
kndehaan Aug 20, 2026
dd1a8f0
Sliders for static emissions
robindesmit-quintel Aug 20, 2026
8e2f152
Sliders for static emissions lulucf
robindesmit-quintel Aug 20, 2026
6fb1ae3
Update LULUCF co2 slider to update all relevant nodes
kndehaan Aug 20, 2026
db1123e
Update direct emission inputs
mabijkerk Aug 21, 2026
2fd16da
Update max value description
mabijkerk Aug 21, 2026
518af82
Update comment for bunker inputs
mabijkerk Aug 21, 2026
8969150
First part of changing charts with hydrogen CCGT CHP.
robindesmit-quintel Aug 6, 2026
90b1373
Add queries for hydrogen ggct chp for economic performance table.
robindesmit-quintel Aug 27, 2026
cabfe48
Add query for installed production capacity in the collections.
robindesmit-quintel Aug 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
77 changes: 47 additions & 30 deletions config/direct_emissions_csv.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,85 +3,102 @@
# Row selection (the export membership rule)
# -------------------------------------------
# `rows.require` names a column of `config/sector_mapping.csv`. A (sector_label, use) pair from that
# mapping is exported iff its cell in that column has a value ("-" and blank both count as "no
# value"). `rows.order_by` names a column whose raw display value orders those pairs (ascending; a
# pair with a blank/"-" cell there sorts last; ties keep mapping-file order) — the column need not
# appear in `schema:`. Each exported pair expands into one row per energy or molecule node whose own
# `sector_label` and `use` attributes match the pair (never derived from group or config names) AND
# which belongs to the node's `:direct_emissions` group, sorted by node key. A pair with zero such nodes
# legally yields zero rows. A future export (e.g. a costs export) can reuse this mechanism by
# mapping is exported if its cell in that column has a value ("-" and blank both count as "no
# value").
# `rows.order_by` names a column whose raw display value orders those pairs (ascending) — the column
# need not appear in `schema:`.
# Each exported pair expands into one row per energy or molecule node whose own
# `sector_label` and `use` attributes match the pair AND which belongs to the node's `:direct_emissions`
# group, sorted by node key.
# A future export (e.g. a costs export) can reuse this mechanism by
# declaring a different `require` column; rows for it stay out of this export by carrying "-" in
# `emissions_sector`.
#
# Column types
# ------------
# - node_attribute: Evaluates `value` (a node_api method/expression) on each expanded node, with an
# - node_attribute: Evaluates `value` (a node_api method/expression) on each expanded node, with an
# optional `transform` applied to the result.
# - sector_mapping: Renders the raw display value (never a normalized slug) of the named
# sector_mapping column for the row's pair. A "-"/blank mapping cell renders as
# an empty CSV cell.
# - sector_mapping: Renders the raw display value of the named sector_mapping column for the
#. row's pair. A "-"/blank mapping cell renders as "-".
# This is display only: a "-" cell stays unqueryable, and a "-" in the
# `rows.require` column still excludes the pair from the export (see above).
#
# Schema
# ------
# `name` is the CSV header, and the columns below appear in the exported order.
#
# Row identifiers, looked up from the sector mapping (not hand-typed):
# - Sector sector_mapping: emissions_sector
# - Subsector sector_mapping: emissions_subsector
# - Sector sector_mapping: emissions_sector
# - Subsector sector_mapping: emissions_subsector
# - IPCC CRT code sector_mapping: ipcc_crt_code
# - IPCC CRT category sector_mapping: ipcc_crt_category
# - IPCC CRT subcategory 1st order sector_mapping: ipcc_crt_subcategory_1st_order
# - IPCC CRT subcategory 2nd order sector_mapping: ipcc_crt_subcategory_2nd_order
# - IPCC CRT subcategory 3rd order sector_mapping: ipcc_crt_subcategory_3rd_order
#
# Auto-generated node attributes:
# - Key Unique node key
# - GHG Greenhouse gas type (CO2 or Other GHG), derived via ghg_carrier method
#
# Emission method columns.
# - CO2_production Direct reporting CO2 production
# - CO2_capture Direct reporting captured CO2
# - Other_GHG_emissions Direct reporting other GHG emissions
# - Total_GHG_emissions Direct reporting total GHG emissions
# - CO2 production [kton CO2-eq] Direct reporting CO2 production
# - CO2 capture [kton CO2-eq] Direct reporting captured CO2
# - Other GHG emissions [kton CO2-eq] Direct reporting other GHG emissions
# - Total GHG emissions [kton CO2-eq] Direct reporting total GHG emissions
# A transform is applied to each: emission values are given in kg, transformed to kton (× 1e-6)
# and rounded to 6 decimal places.
#
# Modellers may append further classification columns later by adding a `sector_mapping` entry here
# — any column of `config/sector_mapping.csv` may be surfaced, in any order, under any header label.
# — any column of `config/sector_mapping.csv` may be surfaced, in any order, under any header.
# For example:
# - name: Use
# label: "Use"
# type: sector_mapping
# value: use
# - name: IPCC_CRT_code_agg
# label: "IPCC CRT code (aggregated)"
# - name: "IPCC CRT code (aggregated)"
# type: sector_mapping
# value: ipcc_crt_code_agg


schema:
- name: Sector
type: sector_mapping
value: emissions_sector
- name: Subsector
type: sector_mapping
value: emissions_subsector
- name: "IPCC CRT code"
type: sector_mapping
value: ipcc_crt_code
- name: "IPCC CRT category"
type: sector_mapping
value: ipcc_crt_category
- name: "IPCC CRT subcategory 1st order"
type: sector_mapping
value: ipcc_crt_subcategory_1st_order
- name: "IPCC CRT subcategory 2nd order"
type: sector_mapping
value: ipcc_crt_subcategory_2nd_order
- name: "IPCC CRT subcategory 3rd order"
type: sector_mapping
value: ipcc_crt_subcategory_3rd_order
- name: Key
type: node_attribute
value: key
- name: GHG
type: node_attribute
value: ghg_carrier
- name: CO2_production
label: "CO2 production [kton CO2-eq]"
- name: "CO2 production [kton CO2-eq]"
type: node_attribute
value: direct_reporting_emissions_co2_production
transform: "(value * 1e-6).round(6)"
- name: CO2_capture
label: "CO2 capture [kton CO2-eq]"
- name: "CO2 capture [kton CO2-eq]"
type: node_attribute
value: direct_reporting_emissions_co2_capture
transform: "(value * 1e-6).round(6)"
- name: Other_GHG_emissions
label: "Other GHG emissions [kton CO2-eq]"
- name: "Other GHG emissions [kton CO2-eq]"
type: node_attribute
value: direct_reporting_emissions_other_ghg_emissions
transform: "(value * 1e-6).round(6)"
- name: Total_GHG_emissions
label: "Total GHG emissions [kton CO2-eq]"
- name: "Total GHG emissions [kton CO2-eq]"
type: node_attribute
value: direct_reporting_emissions_total_ghg_emissions
transform: "(value * 1e-6).round(6)"
Expand Down
12 changes: 9 additions & 3 deletions config/energy_node_positions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -542,12 +542,18 @@ energy_chemical_refineries_transformation_external_coupling_node:
energy_chp_coal_gas:
x: 3920
"y": 11100
energy_chp_combined_cycle_ht_network_gas:
energy_chp_combined_cycle_ht_hydrogen:
x: 6360
"y": 7460
energy_chp_combined_cycle_mt_network_gas:
energy_chp_combined_cycle_ht_network_gas:
x: 6360
"y": 7400
energy_chp_combined_cycle_mt_hydrogen:
x: 6360
"y": 6140
energy_chp_combined_cycle_mt_network_gas:
x: 6360
"y": 6080
energy_chp_local_engine_ht_biogas:
x: 6060
"y": 7700
Expand Down Expand Up @@ -604,7 +610,7 @@ energy_chp_ultra_supercritical_cofiring_mt_coal:
"y": 6320
energy_chp_ultra_supercritical_ht_coal:
x: 6360
"y": 7400
"y": 7340
energy_chp_ultra_supercritical_ht_lignite:
x: 6360
"y": 7760
Expand Down
2 changes: 1 addition & 1 deletion config/sector_mapping.csv
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
sector_label,use,emissions_sector,emissions_subsector,ipcc_crt_code_agg,ipcc_crt_code,ipcc_crt_category,crt_subcategory_1st_order,ipcc_crt_subcategory_2nd_order,ipcc_crt_subcategory_3rd_order
sector_label,use,emissions_sector,emissions_subsector,ipcc_crt_code_agg,ipcc_crt_code,ipcc_crt_category,ipcc_crt_subcategory_1st_order,ipcc_crt_subcategory_2nd_order,ipcc_crt_subcategory_3rd_order
energy_electricity_and_heat_production,energetic,Energy,Electricity and heat production,1.A.1,1.A.1.a,Energy,Fuel combustion activities,Energy industries,Public electricity and heat production
industry_refineries,energetic,Industry,Refineries,1.A.1,1.A.1.b,Energy,Fuel combustion activities,Energy industries,Petroleum refining
energy_fuels_production,energetic,Energy,Fuels production,1.A.1,1.A.1.c,Energy,Fuel combustion activities,Energy industries,Manufacture of solid fuels and other energy industries
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
- unit = MT
- query =
DIVIDE(
SUM(
PRODUCT(
DIVIDE(INPUT_VALUE(bunkers_allocated_percentage_shipping), 100.0),
EMISSIONS(emissions_subsector, "International navigation", co2, 1990)
),
PRODUCT(
DIVIDE(INPUT_VALUE(bunkers_allocated_percentage_aviation), 100.0),
EMISSIONS(emissions_subsector, "International aviation", co2, 1990)
)
),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
- unit = MT
- query =
DIVIDE(
SUM(
PRODUCT(
DIVIDE(INPUT_VALUE(bunkers_allocated_percentage_shipping), 100.0),
EMISSIONS(emissions_subsector, "International navigation", other_ghg, 1990)
),
PRODUCT(
DIVIDE(INPUT_VALUE(bunkers_allocated_percentage_aviation), 100.0),
EMISSIONS(emissions_subsector, "International aviation", other_ghg, 1990)
)
),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "1.A.1", co2, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "1.A.2", co2, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "1.A.3", co2, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "1.A.4.a", co2, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "1.A.4.b", co2, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "1.A.4.c", co2, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "1.A.5", co2, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "1.B", co2, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "1.C", co2, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
- unit = MT
- query =
DIVIDE(
SUM(
PRODUCT(
DIVIDE(INPUT_VALUE(bunkers_allocated_percentage_aviation), 100.0),
EMISSIONS(ipcc_crt_code, "1.D.1.a", co2, 1990)
),
PRODUCT(
DIVIDE(INPUT_VALUE(bunkers_allocated_percentage_shipping), 100.0),
EMISSIONS(ipcc_crt_code, "1.D.1.b", co2, 1990)
)
),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "2", co2, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "3", co2, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Uses the query for ETM sector LULUCF, which exactly matches IPCC category 5 LULUCF.
# This is done since using the IPCC columns of the mapping file in a query could not distinguish
# between emissions and removals for CO2.

- unit = MT
- query = Q(direct_emissions_lulucf_co2_1990)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "5", co2, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "ind_CO2", co2, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "1.A.1", other_ghg, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "1.A.2", other_ghg, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "1.A.3", other_ghg, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "1.A.4.a", other_ghg, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "1.A.4.b", other_ghg, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "1.A.4.c", other_ghg, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "1.A.5", other_ghg, 1990),
THOUSANDS
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- unit = MT
- query =
DIVIDE(
EMISSIONS(ipcc_crt_code_agg, "1.B", other_ghg, 1990),
THOUSANDS
)
Loading