Energy data
Here we list energy open data:
Germany
Trading Hub Europe
THE, Germany: Daily gas consumption
Bundesnetzagentur
BNetzA, Germany: Daily briefings about gas imports, storage, and consumption
Month | 2021 | 2022 | Diff. | Diff. |
---|---|---|---|---|
TWh | TWh | TWh | % | |
Jan | 142.3 | 129 | -13.3 | -9.3 % |
Feb | 121.2 | 106 | -15.2 | -12.5 % |
Mar | 109.7 | 92.5 | -17.2 | -15.7 % |
Apr | 95.9 | 82.0 | -13.9 | -14.5 % |
May | 68.2 | 51.0 | -17.2 | -25.2 % |
Jun | 46.1 | 39.6 | -6.5 | -14.1 % |
Jul | 40.4 | 39.1 | -1.3 | -3.2 % |
Aug | 38.8 | |||
Sep | 45.3 | |||
Oct | 73.2 | |||
Nov | 109.7 | |||
Dec | 125.6 | |||
TOTAL | 1016.4 | -84.6 |
BDEW
- BDEW, Germany: Monatlicher Erdgasverbrauch in Deutschland 2022 - Vorjahresvergleich, retrieved 12 July 2022
Eurostat
- Eurostat, EU: Supply, transformation and consumption of gas, retrieved 30 March 2022
- Eurostat, EU: Imports of natural gas by partner country - monthly data, retrieved 4 April 2022
- Eurostat, GERMANY: Imports of natural gas by partner country - monthly data, retrieved 4 July 2022
- Eurostat, GERMANY: Exports of natural gas by partner country - monthly data, retrieved 4 July 2022
EU
Gas storage inventory
- AGSI, EU: Gas in storage (current + historical data)
- Uniper, Uniper: Gas storage dashboard
- storengy, Gas storage portal
Data not in AGSI summary:
- Enercity, Gasspeicher Hannover
- TEAG, UGS Allmenhausen
- Enovos, Gasspeicher Frankenthal
Bruegel
- Bruegel, EU: Natural gas imports (plots), retrieved 12 July 2022
ENTSOG gas data
- ENTSOG API manual ENTSOG (2018), ENTSOG Transparency Platform API User Manual (PDF)
- ENTSOG. “ENTSOG - TP User Manual_v_4.5.Pdf,” 2021. https://www.entsog.eu/sites/default/files/2021-07/ENTSOG%20-%20TP%20User%20Manual_v_4.5.pdf.
ENTSOG example query to get physical flows on 01 March 2022:
Some analyses (experimental, feedback welcome):
ENTSOG data as relational database
(Experimental, physical flow data from 01 Jan 2021 to 05 Aug 2022, where flow value is not null)
Postgres access: psql -h embargo.energy -U embargo entsog
; password: 9mTc_9hPjk}&D27/F,VHC8qG
Some fields:
Table operator:
- adjacentcountry: non-TSO country (includes non-EU countries such as RU, MK, NO)
- crossborderpointtype, examples: 'In-country EU', 'Cross-Border EU|EU', 'Cross-Border EU|Non-EU', 'Cross-Border Non-EU|Non-EU', 'In-country Non-EU'
- directionkey, examples: 'exit', 'entry'
- eurelationship, examples: 'within EU', 'between EU and Non-EU', 'Non-EU'
- hasdata, examples: 'True', 'False'
- id, examples: '5DE-TSO-0014VTP-00045exitDE-TSO-0010', '5DE-TSO-0002VTP-00012exitDE-TSO-0007'
- isdoublereporting, examples: 'None', 'False', 'True'
- ispipeinpipe, examples: 'False', 'True'
- isvirtualizedcommercially, examples: 'False', 'True'
- isvirtualizedoperationally, examples: 'False', 'True'
- lastupdatedatetime, examples: '2022-07-05T19:07:06+02:00'
- operatorkey, examples: 'UK-TSO-0001', 'NL-TSO-0001', 'DE-TSO-0005'
- operatorlabel, examples: 'National Grid Gas', 'GTS', 'Gasunie Deutschland '
- pointkey, examples: 'VTP-00045', 'VTP-00011', 'VTP-00012'
- pointlabel, examples: 'THE VTP (DE)', 'VHP GASPOOL', 'VHP NetConnectGermany', 'Wallbach'
- pointtype, examples: 'Trading Point', 'Cross-Border Transmission IP within EU', 'Storage point', 'Distribution Point', 'Cross-Border Transmission IP between EU and Non-EU (import)', 'Cross-Border Transmission IP between EU and Non-EU'
- tsobalancingzone, examples: 'DE THE BZ', '', 'UK', 'Netherlands', 'TRF',
- tsocountry: country of TSO (includes non-EU countries such as RU, MK, NO)
- virtualreverseflow, examples: 'No', 'Yes'
Table: flows
- bookingplatformkey, examples: , 'PRISMA', 'RBP', 'GSA', 'None'
- directionkey, examples: 'exit', 'entry'
- flowstatus, examples: 'Provisional', 'Confirmed'
- id, examples: '1Physical Flowday2020-12-312021-01-01CZ-TSO-0001ITP-00535exitkWh/d', '1Physical Flowday2020-12-312021-01-01CZ-TSO-0001ITP-00537entrykWh/d', '1Physical Flowday2020-12-312021-01-01CZ-TSO-0001ITP-00537exitkWh/d'
- idpointtype, examples: '0', '6', '17', '1', '18', '5', '15', '14', '3', '2'
- indicator, examples: 'Physical Flow'
- itemremarks, examples: 'None', 'Physical Flow Remark', 'No comment', 'According to Annex 1 Chapter 3 of Regulation CE n. 715/2009, physical flow data are published in aggregate. Capacity information per point are available at www.snamretegas.it at the following path: Business & Services/Thermal year/Transportation capacity.'
- lastupdatedatetime, examples: '2021-12-24T15:35:23+01:00', '2022-04-28T02:05:53+02:00', '2021-08-24T07:55:09+02:00', '2022-05-25T08:59:09+02:00', '2022-03-17T07:54:09+01:00', '2021-03-31T07:53:09+02:00', '2022-01-26T10:47:08+01:00'
- operatorkey, examples: 'UK-TSO-0001', 'DE-TSO-0009', 'NL-TSO-0001', 'GR-TSO-0001', 'DE-TSO-0005', 'BE-TSO-0001', 'PL-TSO-0002', 'DE-TSO-0001', 'CZ-TSO-0001', 'IT-TSO-0001'
- operatorlabel, examples: 'National Grid Gas', 'Open Grid Europe', 'GTS', 'DESFA', 'Gasunie Deutschland ', 'Fluxys Belgium', 'GAZ-SYSTEM', 'GASCADE Gastransport', 'NET4GAS', 'Snam Rete Gas'
- periodfrom, examples: '2021-04-20 06:00:00', '2021-09-23 06:00:00', '2021-09-24 06:00:00', '2021-09-25 06:00:00', '2021-09-26 06:00:00', '2021-09-27 06:00:00', '2021-09-28 06:00:00', '2021-09-29 06:00:00', '2021-04-08 06:00:00'
- periodto, examples: '2021-04-21 06:00:00', '2021-09-24 06:00:00', '2021-09-25 06:00:00', '2021-09-26 06:00:00', '2021-09-27 06:00:00', '2021-09-28 06:00:00', '2021-09-29 06:00:00', '2021-09-30 06:00:00', '2021-04-09 06:00:00'
- periodtype, examples: 'day'
- pointkey, examples: 'ITP-00535', 'ITP-00019', 'ITP-00537', 'ITP-00538', 'ITP-00015', 'ITP-00027', 'ITP-00049', 'ITP-00051', 'ITP-00061', 'ITP-00076'
- pointlabel, examples: 'Deutschneudorf EUGAL Brandov ', 'Überackern ABG (AT) / Überackern (DE)', 'Balassagyarmat (HU) / Velké Zlievce (SK)', 'Bunde (DE) / Oude Statenzijl (H) (NL) (GASCADE)', 'Cieszyn (PL) / Český Těšín (CZ)'
- pointtype, examples: 'Cross-Border Transmission IP within EU', 'Storage point', 'Distribution Point', 'Cross-Border Transmission IP between EU and Non-EU (import)', 'Aggregated Point - Final Consumers'
- tsoeiccode, examples: '21X-GB-A-A0A0A-7', '21X-DE-C-A0A0A-T', '21X-NL-A-A0A0A-Z', '21X-GR-A-A0A0A-G', '21X-DE-D-A0A0A-K', '21X-BE-A-A0A0A-Y', '21X-PL-A-A0A0A-B', '21X-DE-H-A0A0A-L', '21X000000001304L', '21X-IT-A-A0A0A-7'
- tsoitemidentifier, examples: '21Z0000000004839', '21Z000000000002E', '21Z0000000004863', '21Z000000000489Y', '21Z0000000000074', '21Z0000000000228', '21Z000000000044Z', '21Z000000000056S', '21Z000000000061Z', '21Z000000000074Q'
- unit, examples: 'kWh/d'
- value, examples: '0', '9048000', '1', '168000', '1000', '7', '2', '6', '39730478', '278'
Some tentative examples:
Give out consumption (apparently underestimation)
select left(operatorkey,2), date_trunc('month', periodto), round(sum(value)) from flows where pointkey in (select pointKey from operator where pointtype = 'Aggregated Point - Final Consumers') and flowstatus = 'Confirmed' group by left(operatorkey,2), date_trunc('month', periodto) order by left(operatorkey,2), date_trunc('month', periodto);
Sort by distribution points
select pointlabel, operatorlabel, sum(value) from flows where pointkey in (select pointKey from operator where pointtype = 'Aggregated Point - Final Consumers') and periodto > '2022-07-01' and periodto <= '2022-08-01' and left(operatorkey,2) = 'DE' group by operatorlabel, pointlabel order by operatorlabel ;
German cross-border transmissions
select left(operatorkey,2), date_trunc('month', periodto), round(sum(value)) from flows where pointkey in (select pointKey from operator where pointtype like 'Cross-Border Transmission IP%' and tsoCountry = 'DE' and isPipeInPipe = 'False') group by left(operatorkey,2), date_trunc('month', periodto) order by left(operatorkey,2), date_trunc('month', periodto);
Python scripts: git clone https://git.embargo.energy/entsog.git
EU: Energy prices
- European Commission, EU: Energy price dashboard - historical data, retrieved 23 July 2022