EnergieID / entsoe-py

Python client for the ENTSO-E API (european network of transmission system operators for electricity)
MIT License
428 stars 188 forks source link

get_dayahead_prices returns 0 dah_price for dates in the future #288

Closed svaeyens closed 10 months ago

svaeyens commented 10 months ago

Recently, get_dayahead_prices returns "0" for the dah_price records in the future where the price is not known yet (at least for country='BE', haven't tested other countries yet).

2023-12-28 09:47:48,393 - INFO - get_entsoe_pricing.py:48 - Reading cached prices from pricing - 20210101 - 20231227.csv 2023-12-28 09:47:48,450 - INFO - get_entsoe_pricing.py:68 - Last cached date: 2023-12-27 22:00:00+00:00. Need to fetch prices from 2023-12-27 23:00:00+00:00 to 2023-12-31 00:00:00+01:00 2023-12-28 09:47:48,453 - INFO - get_entsoe_pricing.py:78 - Fetching day-ahead prices from 2023-12-27 23:00:00+00:00 to 2023-12-31 00:00:00+01:00 in BE from API 2023-12-28 09:47:48,453 - INFO - get_entsoe_pricing.py:93 - Fetching day-ahead prices from 2023-12-27 23:00:00+00:00 to 2023-12-31 00:00:00+00:00 2023-12-28 09:47:49,013 - INFO - get_entsoe_pricing.py:111 - Last timestamp retrieved: 2023-12-29 23:00:00+01:00

The data returned looks as follows (utc time):

... 2023-12-28 17:00:00+00:00,5.926 2023-12-28 18:00:00+00:00,5.035 2023-12-28 19:00:00+00:00,3.953 2023-12-28 20:00:00+00:00,2.63 2023-12-28 21:00:00+00:00,2.5 2023-12-28 22:00:00+00:00,0.042 2023-12-28 23:00:00+00:00,0.0 2023-12-29 00:00:00+00:00,0.0 2023-12-29 01:00:00+00:00,0.0 2023-12-29 02:00:00+00:00,0.0 2023-12-29 03:00:00+00:00,0.0 2023-12-29 04:00:00+00:00,0.0 2023-12-29 05:00:00+00:00,0.0 2023-12-29 06:00:00+00:00,0.0 2023-12-29 07:00:00+00:00,0.0 2023-12-29 08:00:00+00:00,0.0 2023-12-29 09:00:00+00:00,0.0 2023-12-29 10:00:00+00:00,0.0 2023-12-29 11:00:00+00:00,0.0 2023-12-29 12:00:00+00:00,0.0 2023-12-29 13:00:00+00:00,0.0 2023-12-29 14:00:00+00:00,0.0 2023-12-29 15:00:00+00:00,0.0 2023-12-29 16:00:00+00:00,0.0 2023-12-29 17:00:00+00:00,0.0 2023-12-29 18:00:00+00:00,0.0 2023-12-29 19:00:00+00:00,0.0 2023-12-29 20:00:00+00:00,0.0 2023-12-29 21:00:00+00:00,0.0 2023-12-29 22:00:00+00:00,0.0 (end of records)

Imho this wasn't the case a couple of weeks ago. get_dayahead_prices just returned the prices until they were available, it didn't return zeroes after that. This breaks some logic in my applications. I could remove the trailing zero records, but that's an ugly hack. You also can't rely on the fact that pricing for tomorrow 10pm utc will be available when it's after 12pm utc now, as sometimes entsoe publishes the day ahead prices a bit later than 12pm utc.

Anyone else noticed this behaviour?

fboerman commented 10 months ago

hi @svaeyens I ran into this myself as well on my dashboard, I checked and its also present on the GUI website so its not a package fault. It seems to only occur for belgium so I think Elia made a mistake here in their systems haha. I will contact them and entsoe to have it fixed. Thanks for filing the issue!

jimich commented 10 months ago

Indeed. Timer is set in D-2 and bot D-1 by mistake. i have send a mail to transparency colleague to change it (but it could take time because of Christmas)

jimich commented 10 months ago

It will be fixed for BD 31/12. (too late for 30/12 as it was already published)

Jean-Michel reghem (Elia)

fboerman commented 10 months ago

great thanks for the quick action @jimich !

svaeyens commented 10 months ago

Tx!