Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Approach to split Germany into 3 zones #1216

Closed
alixunderplatz opened this issue Mar 15, 2018 · 9 comments
Closed

Approach to split Germany into 3 zones #1216

alixunderplatz opened this issue Mar 15, 2018 · 9 comments

Comments

@alixunderplatz
Copy link
Collaborator

alixunderplatz commented Mar 15, 2018

@corradio your reading recommendation on Slack has side effects^^

For some reason, I couldn't fall asleep. Then suddenly the idea of splitting DE and visualizing flows with available data got stuck in my mind again.

The missing key pieces were the exchanges between the German zones and the issue of TSO Amprion's zone being split into two seperate regions. This can be solved by doing the math with generation, given cross-border exchanges and zone load, as long as there is no better data available. That's a very promising approach which will lead to reasonable flows between the three zones automatically.

Before getting too euphorical that this approach will be accepted: I am fully aware you don't like assumptions based on or including load, but in this case, it is only for the sake of DE-internal exchange flows and not generation. ^^


So I had a look at the data on ENTSO-E and here we are:

I suggest splitting Germany into the following three zones based on the control areas:

  • 50Hertz Transmission alias 'DE-50HzT'
  • TransnetBW alias 'DE-TnBW'
  • Amprion & Tennet DE alias 'DE-AmpTen'

I already gave some details on the four zones in #989, incuding this image, where you can track the split:

  • yellow
  • red
  • purple & bue

image

First off, let's do the simple things: assigning the 16 adm_1 codes to the zones. We're lucky that two of the areas cover entire federal states - 50Hertz is former East Germany + Hamburg, TransnetBW is Baden-Württemberg. Amprion and Tennet cover the rest and even share some areas in some federal states, which is solved by simply uniting them.

{zoneName: 'DE-50HzT', type: 'administrations', administrations: ['DEU-1577', 'DEU-1578', 'DEU-1599', 'DEU-1600', 'DEU-1601', 'DEU-3487', 'DEU-3488']},
{zoneName: 'DE-TnBW', type: 'administrations', administrations: ['DEU-1573']},
{zoneName: 'DE-AmpTen', type: 'administrations', administrations: ['DEU-1572', 'DEU-1574', 'DEU-1575', 'DEU-1576', 'DEU-1579', 'DEU-1580', 'DEU-1581', 'DEU-1591']},

Let's summarize the international exchanges / interconnectors next:

  • DE-50HzT has interconnectors with DK-DK2, PL and CZ
  • DE-TnBW has interconnectors with AT, CH, FR
  • DE-AmpTen has interconnectors with AT, CZ, DK, FR, LU, NL, SE (BE coming soon / 2019?)

Two DE-internal exchange arrows will be required:

  • DE-50HzT <-> DE-AmpTen
  • DE-AmpTen <-> DE-TnBW

Splitting DE into these zones will also make power loop flows from DE-50HzT via CZ to DE-AmpTen and from FR through DE-TnBW to CH (-> IT) visible. The exchange arrow from DE-AmpTen (near Hamburg) to SE through the Baltic Sea will be a bit awkward because it is crossing the DE-50HzT to DK-DK2 cable. Maybe doubling the arrow could help here. Anyway, here is what it could look like:

image


Now we need to do the math to get the DE-internal exchanges. This requires generation and load in the control areas and also the international exchanges. It is a bit problematic that generation and load are given quarterhourly, but exchanges only as hourly values. This is how it would work:

DE-50HzT <-> DE-AmpTen

Main historical power flow is 50Hertz to Tennet, so DE-50HzT -> DE-AmpTen will be dominant most of the time, because eastern Germany is a powerhouse both in renewable terms as well as coal (unfortunately).

There used to be a web app named "Foyer TV" by 50Hertz, but they put it offline only a few weeks ago. I was following it nearly every day and power flows towards Tennet could reach 8-9 GW at high wind generation. This is what it looked like:

image

Since it is gone now, the only way left to get the internal exchange is calculating it from data given on ENTSO-E.

Therefore, the following calculation could be used:

  • take the sum of generation of DE-50HzT
  • plus incoming international power flows from DK-DK2, PL and CZ
  • minus the control area load on ENTSO-E
  • minus leaving power flows to DK-DK2, PL, and CZ

This will leave you with a "balance" value that needs to go or come from somewhere. If it is positive, it will have to leave in the direction of DE-AmpTen since this is the only exit. If it is negative, power is imported from DE-AmpTen (happening rarely).

DE-TnBW <-> DE-AmpTen
Same logic here in the calculations for the exchange:

  • take the sum of generation of DE-TnBW
  • plus incoming international power flows from FR, CH and AT
  • minus the control area load of DE-TnBW
  • minus leaving power flows to FR, CH and AT

So far, I had only calculated the exchanges for 50Hertz <-> Tennet for yesterday, and it looks quite good. Exchange is correlating very well with wind power, which is the main driver for power flows towards Tennet/Bavaria.
I'll provide some calculated data in the next days to visualize the DE-internal flows.


What are your thoughts, concerns and comments on this?

@corradio
Copy link
Member

Hi @alixunderplatz ,

Fascinating read! @brunolajoie and I did a similar approach to estimate flows when we split FR into regions a long time ago. We decided that the Electricity Map project, in order to keep its credibility, should as little maths as possible. I believe estimating flows using that method is unfortunately something we want to avoid.
However, how about we make a list of all the data we need (generation breakdown + exchanges), and tick off the ones we have? Then we can try to reach out to see who can provide us with the missing data.

@alixunderplatz
Copy link
Collaborator Author

Allright :)

Maybe the easiest solution is to contact "TSO Security Cooperation" right away https://www.tscnet.eu/
TSC is a common platform for the central European grid operators to adjust generation schedules, transmission capacities, etc. https://www.tscnet.eu/about-tsc/


Here is a list of the required data for the two easiest zones:

50Hertz

  • generation per type
  • exchanges with neighbouring countries
  • exchanges with TenneT

TransnetBW

  • generation per type
  • exchanges with neighbouring countries
  • exchanges with TenneT
  • exchanges with Amprion (total balance will do)

Everything that remains in the Amprion / Tennet areas is given, when DE-internal exchanges of the previous two zones are accessible.

  • generation per type
  • exchanges with neighbouring countries
  • exchanges with 50Hertz & TransnetBW

Feel free to update these lists!


Splitting DE into 4 (TenneT and Amprion seperated) or 5 zones (Amprion itself split in two seperate zones) will be quite more complicated because of geometries of the zones and generation data.


However, for the future, it might be an option to have cities Berlin (click here and here) and Hamburg as seperate zones, though their generation mix will be a bit tricky to handle.

@brunolajoie
Copy link
Contributor

Amazing investigation 🔍 ! @alixunderplatz, would you fancy try to contact the TSOs directly? We'll iterate from there!

@jarek
Copy link
Collaborator

jarek commented Mar 24, 2018

A little note about 50Hertz's "Foyer TV" thing: 50Hertz also has a info app http://www.50hertz.com/en/Media/-50Hertz-app, screenshots for which show the similar view of "live import and export". However the app no longer includes this view. (The app seems to be a webview wrapper over some status website, its URL and data could be found easily.) It might be worth writing a short email to Henrik Beuster who is listed on that website and on the Play Store app description - asking if that data is available elsewhere, or if it'll be back soon.

50Hertz also a network map http://www.50hertz.com/Netzlast/Karte/index.html which can show load on individual lines (click on the lines or stations connected to see the figures). However this info is delayed a day, the source is http://ws.50hertz.com/web02/api/netzlast/listrecords?callback=callback&jahr=2018&monat=3&stunde=23&tag=23 but as of 19:30 on 24.03.2018 it only has data up to 23:00 on 23.03.

@alixunderplatz
Copy link
Collaborator Author

I could call him next week. Never got to know him in person while I worked there, but that's definitely worth a try.

@jarek
Copy link
Collaborator

jarek commented May 27, 2018

I am still curious about this. @alixunderplatz, do you remember/know if there are major differences in carbon intensities in the zones? If the zones are all within 50 g intensity of each other, there is probably less motivation than if one zone was regularly 200 g cleaner.

I can help with programming on server-side to collect and compare data for this over time, if you want to collaborate!

@brunolajoie
Copy link
Contributor

I bet there will be large differences! Because north and south germany are poorly interconnected, and a lot of wind electricity transit via (BE/NL/FR/Swiss) (or Poland/Austria) instead of flowing to south germany!

@jarek
Copy link
Collaborator

jarek commented May 28, 2018

On that front: is the data on each individual German zones' international exchange (e.g. 50Hz's exchange with Czechia) currently available? I see TransnetBW publishes their international exchanges on their website (though annoyingly not the Amprion/Tennet ones), but Austria and Czechia border two of the other German zones each...

@corradio
Copy link
Member

corradio commented Jan 6, 2020

Closing due to inactivity. Thank you all for your inputs!

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

No branches or pull requests

4 participants