Skip to content

Comments

Change DK-DK1 and DK-DK2 parser to use energinet instead of ENTSOE#8656

Open
silkeholmebonnen wants to merge 2 commits intomasterfrom
silkebonnen/gmm-1507-change-dk-parser-to-use-energinet-instead-of-entsoe
Open

Change DK-DK1 and DK-DK2 parser to use energinet instead of ENTSOE#8656
silkeholmebonnen wants to merge 2 commits intomasterfrom
silkebonnen/gmm-1507-change-dk-parser-to-use-energinet-instead-of-entsoe

Conversation

@silkeholmebonnen
Copy link
Contributor

@silkeholmebonnen silkeholmebonnen commented Feb 17, 2026

Issue

GMM-1507

Description

This PR changes the DK-DK1 and DK-DK2 parser to use energinet hourly values instead of ENTSOE. The reason for this is that ENTSOE currently does not have accurate values, and for DK-DK2 ENTSOE has a ~4 week delay on wind offshore, which makes up approximately 50% of DK-DK2's total production.

Preview

Double check

  • I have tested my parser changes locally with uv run test_parser "zone_key"
  • I have run pnpx prettier@2 --write . and uv run format in the top level directory to format my changes.

@silkeholmebonnen silkeholmebonnen requested a review from a team as a code owner February 17, 2026 13:34
@github-actions github-actions bot added python Pull requests that update Python code zone config Pull request or issue for zone configurations labels Feb 17, 2026
@VIKTORVAV99
Copy link
Member

It does look like it fixes the wind issue but it also looks like almost all coal are now biomass and there is lower gas and oil production + a marginal change in solar.

New Parser:

 {'correctedModes': [],
  'datetime': datetime.datetime(2026, 2, 17, 12, 0, tzinfo=zoneinfo.ZoneInfo(key='UTC')),
  'production': {'biomass': 725.750951,
                 'coal': 0.005718,
                 'gas': 105.70942,
                 'hydro': 0.0,
                 'oil': 7.822502,
                 'solar': 151.76184,
                 'wind': 290.031814},
  'source': 'energinet.dk',
  'sourceType': <EventSourceType.measured: 'measured'>,
  'storage': {},
  'zoneKey': 'DK-DK2'}

Old Parser:

 {'correctedModes': [],
  'datetime': datetime.datetime(2026, 2, 17, 12, 0, tzinfo=datetime.timezone.utc),
  'production': {'biomass': 483.57, 'coal': 218.89, 'gas': 124.6, 'oil': 37.69, 'solar': 160.45, 'wind': 114.06},
  'source': 'entsoe.eu',
  'sourceType': <EventSourceType.measured: 'measured'>,
  'storage': {},
  'zoneKey': 'DK-DK2'},
 {'correctedModes': [],
  'datetime': datetime.datetime(2026, 2, 17, 12, 15, tzinfo=datetime.timezone.utc),
  'production': {'biomass': 481.43, 'coal': 207.38, 'gas': 117.71, 'oil': 35.5, 'solar': 152.29, 'wind': 115.48},
  'source': 'entsoe.eu',
  'sourceType': <EventSourceType.measured: 'measured'>,
  'storage': {},
  'zoneKey': 'DK-DK2'},
 {'correctedModes': [],
  'datetime': datetime.datetime(2026, 2, 17, 12, 30, tzinfo=datetime.timezone.utc),
  'production': {'biomass': 480.32, 'coal': 202.18, 'gas': 115.45, 'oil': 34.77, 'solar': 150.17, 'wind': 113.29},
  'source': 'entsoe.eu',
  'sourceType': <EventSourceType.measured: 'measured'>,
  'storage': {},
  'zoneKey': 'DK-DK2'},
 {'correctedModes': [],
  'datetime': datetime.datetime(2026, 2, 17, 12, 45, tzinfo=datetime.timezone.utc),
  'production': {'biomass': 476.24, 'coal': 200.0, 'gas': 114.13, 'oil': 34.34, 'solar': 144.95, 'wind': 107.62},
  'source': 'entsoe.eu',
  'sourceType': <EventSourceType.measured: 'measured'>,
  'storage': {},
  'zoneKey': 'DK-DK2'}

If our goal is forecast performance I'm not sure this is "better" as more stuff changes here and our external solar and wind forecasts for DK-DK2 from energidataservice.dk looks pretty good.

So honestly don't know if this is better or worse.

@silkeholmebonnen
Copy link
Contributor Author

It does look like it fixes the wind issue but it also looks like almost all coal are now biomass and there is lower gas and oil production + a marginal change in solar.

If our goal is forecast performance I'm not sure this is "better" as more stuff changes here and our external solar and wind forecasts for DK-DK2 from energidataservice.dk looks pretty good.

So honestly don't know if this is better or worse.

I trust the data coming straight from energinet more than what is reported through entsoe. And the wind issue is a pretty big issue when it is often around 50% of production.

Regarding the forecast, I suspect that it might be because it has been trained when we had both onshore and offshore wind power available. But as you can see in the picture below this means that the gap is quite big from what we say is in the grid right now (because we dont include wind offshore), to what we forecast (which might include both).

image

@VIKTORVAV99
Copy link
Member

I don't think we can say that just because it's coming from energinets platform it's more accurate as it's energinet that is reporting to ENTSO-E as well.

Had it just been a few mw differences they could just be rounding things differently and such but with this big of a change we need to be able to explain why if we change. Not just internally but also externally as it will have a big impact on the carbon emissions.

The wind issue is a problem but I don't want to replace it with another one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

python Pull requests that update Python code zone config Pull request or issue for zone configurations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants