import ee # importieren der Google Earth Engine Schnittstelle (API)
import geemap # importieren des geemap Paketes für die Analysetools
import os # importieren des Pakets für den Export von Daten auf die lokale Festplatte
Gletscher
Beschreibung (Todo)
1 Gletscherrückgang mit Satelliten messen
1.1 Google Earth Engine und weitere Pakete importieren
Um in den Codezellen auf die Funktionen der Google Earth Engine (GEE) zugreifen zu können, werden diese in Form der entsprechenden Programmbibliothek importiert. Da der Zugriff in diesem Fall über ein Jupyter Notebook erfolgt, muss zusätzlich die Bibliothek geemap importiert werden. Diese fungiert als Bindeglied und Übersetzer, sodass der Computer z. B. versteht, dass in der übernächsten Codezeile mit geemap.Map() eine Karte erzeugt werden soll.
Bitte führe den Code mit den Importbefehlen in der folgenden Zelle aus, um die Pakete zu importieren. Dies muss jedes Mal als Erstes getan werden, nachdem der Kernel neugestartet wurde.
1.2 Gletschermelze in den Alpen untersuchen
Satellitenbilder helfen, Klimaveränderungen zu untersuchen, aber ihre Auswertung ist nicht einfach. Wetterphänomene wie Temperatur und Niederschlag ändern sich schnell und benötigen viele Daten über lange Zeiträume, um Durchschnittswerte zu ermitteln. Die Erdoberfläche hingegen verändert sich langsamer. Besonders Gletscher und Eis reagieren über längere Zeiträume auf steigende Temperaturen, indem sie sich langsam zurückziehen. Dies wirft die Frage auf, wo und wie die Erwärmung das Relief beeinflusst. Genau das wirst Du jetzt anhand des großen Aletschgletschers untersuchen.
Besonders eindrücklich sind Vergleichsfotos schmelzender Gletscher. Das Besondere am Eis ist, dass es sich nur relativ langsam verändert und dadurch quasi die Berechnung der Durchschnittswerte für die Klimaforschung übernimmt. Mit alten Postkarten, wie derjenigen vom Aletschgletscher in der Schweiz, können Gletscherentwicklungen über mehr als 100 Jahre hinweg zurückverfolgt werden. Statt Postkarten werden hier Satellitendaten von der NASA (USA) und dem Erdbeobachtungsprogramm COPERNICUS der Europäischen Union genutzt.
Also ab in die Alpen, Gletscher gucken!
1.2.1 Geländemodelle aus dem GEE-Katalog einladen
= geemap.Map(center=(46.46, 8.05), zoom=12)
my_map my_map
In der nächsten Zelle werden der Map zwei Digitale Geländemodelle (DGM) hinzugefügt. Geländemodelle beschreiben die Oberfläche der Erde, wobei jedes Pixel die Höhe des entsprechenden Ortes angibt. Beide Modelle wurden mithilfe von Radarsatelliten aufgenommen.
Das erste Modell ist das SRTM Höhenmodell aus dem Jahr 2000. Das zweite ist das Copernicus Höhenmodell GLO-30, das zwischen 2011 und 2015 von TerraSAR-X und TanDEM-X aufgenommen wurde. Beide Modelle werden für eine bessere Vergleichbarkeit mit denselben Visualisierungsparametern (Farbe und Kontrast) dargestellt.
# Darstellung für beide DGM definieren: Farbe und Kontrast
= {
vis_params 'min': 193, # tiefster Punkt der Schweiz: Lago Maggiore, 193m
'max': 4636, # höchster Punkt: Dufourspitze, 4636m
'palette': ['006633', 'E5FFCC', '662A00', 'D8D8D8', 'F5F5F5'], # hiermit könnten wir das DGM farblich darstellen
#'min': 2000, # tiefster Punkt der Schweiz: Langensee, 193m # Backup
#'max': 3000, # höchster Punkt: Dufourspitze, 4636m # Backup
}
# DGM als Bildvariable definieren
= ee.Image('USGS/SRTMGL1_003')
srtm # SRTM der Map hinzufügen
'SRTM DEM')
my_map.addLayer(srtm, vis_params,
# Copernicus DGM GLO-30 als Bildvariable definieren
= ee.ImageCollection('COPERNICUS/DEM/GLO30')
glo30Coll = glo30Coll.select('DEM').mean()
glo30 # und ebenfalls der Map hinzufügen
'Copernicus DEM GLO-30') my_map.addLayer(glo30, vis_params,
Die beiden Geländemodelle werden nun in Graustufen dargestellt. Dunkle Farben repräsentieren niedrige Pixelwerte, also tief liegende Gebiete, während helle Pixel höhere Gebiete anzeigen. Die Bergrücken erscheinen daher in Weiß.
Der Kontrast (min und max) ist jedoch im Code ungünstig gewählt: Die verfügbaren Helligkeitsstufen des Bildschirms decken nur den Bereich zwischen 2000 m und 3000 m Höhe ab. Alle Pixel außerhalb dieses Wertebereichs werden entweder schwarz oder weiß angezeigt, wodurch keine Unterscheidung der Höhenstufen möglich ist. Innerhalb dieses Wertebereichs stehen den Pixeln jedoch mehr Helligkeitsstufen zur Verfügung, was lokal zu einem erhöhten Kontrast führen kann und somit von Vorteil sein könnte.
Aufgabe: Passe die Variablen min und max an die in den Kommentaren genannten Höhenangaben an und führe die Codezelle erneut aus.
Der Kontrast wurde jetzt für die Schweiz optimiert: Der niedrigste Ort erhält die geringste Helligkeitsstufe, die der Bildschirm darstellen kann, und der höchste Ort erhält die höchste Helligkeitsstufe.
Aufgabe: Vergleiche die beiden Höhenmodelle durch das Ein- und Ausblenden der Layer miteinander. Achte auf die Farbe bzw. Helligkeit der Gletscher. Was fällt Dir auf und was könnte das bedeuten?
… richtig, die Pixel in den Tälern sind im Copernicus DEM etwas dunkler als im SRTM DEM. Dies bedeutet, dass sie im Jahr 2000 höher lagen als etwa 10 Jahre später. (Für die ExpertInnen: Dies ist nur deshalb vergleichbar, weil beide Modelle mit denselben Visualisierungsparametern dargestellt werden, gleiche Helligkeitsstufen also für gleiche Höhen stehen.)
Aufgabe: Entferne die Raute (#) vor der 5. Codezeile (‘palette’…) und führe die Zelle erneut aus. Überprüfe Deine Beobachtung noch einmal. Durch die Darstellung des Reliefs mit mehr Farben wird der Gletscherschwund noch deutlicher sichtbar.
1.2.2 Hillshades berechnen
Um den Höhenunterschied besser sichtbar zu machen, wird für jedes Höhenmodell ein Hillshade (Schummerung) erzeugt. Dabei scheint eine digitale Sonne aus Nordwesten über das Gelände und wirft Schatten, sodass Höhenunterschiede deutlicher hervortreten. Dies ähnelt dem Anblick aus einem Flugzeugfenster, wenn die Sonne knapp über dem Horizont steht.
= geemap.Map(center=(46.46, 8.05), zoom=12)
my_map = {
vis_params 'min': 193, # tiefster Punkt der Schweiz: Lago Maggiore, 193m
'max': 4636, # höchster Punkt: Dufourspitze, 4636m
}'SRTM DEM')
my_map.addLayer(srtm, vis_params, 'Copernicus DEM GLO-30')
my_map.addLayer(glo30, vis_params,
my_map
Das SRTM ist ein einzelnes Bild, das die gesamte Erde abdeckt und direkt zu einem Hillshade umgewandelt werden kann. Beim Copernicus DEM handelt es sich hingegen um eine ImageCollection, also eine Sammlung vieler nebeneinander liegender Bilder (sogenannte Kacheln, englisch tiles). Bevor das Hillshade erzeugt wird, müssen zunächst die beiden Kacheln ausgewählt werden, die das Gebiet um den Aletschgletscher abdecken.
# SRTM-Hillshade erzeugen und einladen
= ee.Terrain.hillshade(srtm)
SRTMhillshade 'SRTM-Hillshade')
my_map.addLayer(SRTMhillshade,{},
# Achtung, jetzt wird's code-technisch wild, aber funktioniert. Augen zu und durch.
= glo30Coll.toList(7000) # listet die ersten 7001 Images der Collection. Kachel Nr. N46E007 und N46E008 sind nötig.
glo30List = ee.Image(ee.List(glo30List).get(6968)).select('DEM') # Die liegen an Stelle 6968 und 6969.
glo30n46e007 = ee.Image(ee.List(glo30List).get(6969)).select('DEM') # Wir selektieren auch gleich das DEM-Band der Kacheln ...,
glo30n46e008 = ee.Terrain.hillshade(glo30n46e007) # berechnen die Hillshades ...
glo30n46e007hs = ee.Terrain.hillshade(glo30n46e008) # ... für beide Kacheln,
glo30n46e008hs = ee.ImageCollection([glo30n46e007hs, glo30n46e008hs]).mosaic() # ... fügen beide zusammen (mosaikieren)
glo30hsMosaic 'Copernicus-Hillshade') # ... und fügen das Hillshade der Map hinzu. my_map.addLayer(glo30hsMosaic,{},
Zunächst wird deutlich, dass die Qualität des Copernicus DGM GLO30 höher ist als die des SRTM. Sogar die Mittelmoränen der Gletscher – Ansammlungen von mitgeführtem Gestein – sind erkennbar. Dies zeigt den beeindruckenden technischen Fortschritt von 15 Jahren.
Aufgabe: Suche im Hillshade die charakteristischen Mittelmoränen (die Streifen). Vergleiche diese mit der oben erwähnten Postkarte. Versuche, sie zu zählen und die jeweiligen Moränen aus dem Hillshade denjenigen auf der Postkarte zuzuordnen. Wie viele Moränen kannst Du erkennen? Schreibe Deine Antwort in die nächste, leere Zelle und tausche Deine Ergebnisse mit anderen Schüler*innen aus.
Hier kannst Du deine Antwort notieren:
1.2.3 Rückzug der Eisrandlage messen
my_map
In den Hillshades wird deutlich sichtbar, wie der Gletscher im Tal liegt. Zum Vergleich der beiden Zeitschnitte werden die Hillshades ein- und ausgeblendet sowie die Transparenz mithilfe der Slider verstellt. So zeigt sich, wie die Gletscher schmelzen, die Täler „auslaufen“ und die Gletscherzungen kürzer werden.
Aufgabe: Zoome an das Ende des großen Aletschgletschers und schalte das SRTM Hillshade sichtbar. Wähle anschließend das Tool Draw a polyline auf der linken Seite des Kartenfensters und klicke ans Ende der Gletscherzunge. Blende danach das Copernicus Hillshade ein, bewege die Maus (ohne zu klicken) ans Ende der dort sichtbaren Gletscherzunge und lies die Länge der Linie ab. Schreibe Deine Antwort in die nächste, leere Zelle.
Da keine weiteren Punkte benötigt werden, kann das Zeichnen durch Deaktivieren des Tools mit Escape (Esc) abgebrochen werden.
Hier kannst Du deine Antwort notieren:
1.2.4 Abnahme der Höhe messen
= geemap.Map(center=(46.46, 8.05), zoom=12)
my_map = {
vis_params 'min': 193, # tiefster Punkt der Schweiz: Lago Maggiore, 193m
'max': 4636, # höchster Punkt: Dufourspitze, 4636m
}'SRTM DEM')
my_map.addLayer(srtm, vis_params, 'Copernicus DEM GLO-30')
my_map.addLayer(glo30, vis_params,
my_map
Um die Abnahme genauer zu beschreiben, werden die Pixelwerte der ursprünglichen Geländemodelle untersucht, da diese die Höhen der jeweiligen Stellen darstellen.
Aufgabe: Öffne den Inspector durch einen Klick auf den Schraubenschlüssel oben rechts im Kartenfenster.
Klicke in die Karte, um die Werte der übereinanderliegenden Pixel abzulesen. Klicke dabei an verschiedenen Stellen des Gletschers, beispielsweise im oberen Bereich und am Ende der Gletscherzunge. Auch ein Blick abseits des Eises kann interessant sein.
Das Beispiel in der Abbildung zeigt: Das SRTM DEM weist eine Höhe von 2154 m auf, während das Copernicus DEM nur 2116 m zeigt – ein Rückgang von etwa 38 m. Falls Du die Werte der Hillshades mit ausgelesen hast, beachte, dass diese für diese Analyse keine Aussagekraft haben und daher ignoriert werden können.
Um die Abnahme flächendeckend zu berechnen, wird ein Differenzmodell verwendet, das die Höhenveränderung zwischen den beiden Zeitschnitten darstellt. Dabei werden die sich überlagernden Pixel(-werte) jeweils voneinander subtrahiert, sodass deren Differenz erhalten wird. Diese entspricht der tatsächlichen Abnahme des Gletschers.
= geemap.Map(center=(46.46, 8.05), zoom=12)
my_map = {
vis_params 'min': 193, # tiefster Punkt der Schweiz: Lago Maggiore, 193m
'max': 4636, # höchster Punkt: Dufourspitze, 4636m
}'SRTM DEM')
my_map.addLayer(srtm, vis_params, 'Copernicus DEM GLO-30')
my_map.addLayer(glo30, vis_params, 'SRTM-Hillshade')
my_map.addLayer(SRTMhillshade,{},'Copernicus-Hillshade')
my_map.addLayer(glo30hsMosaic,{},
= glo30.subtract(srtm) # Vom SRTM-Geländemodell wird Pixel für Pixel das Copernicus-Geländemodell subtrahiert
differenzmodell # und das Ergebnis in eine neues Geländemodell geschrieben.
= { # Festlegen von Kontrast und Farbe
vis_paramsDiff 'min': 70, # niedrigster, von der Farbskala abgedeckter Pixelwert, niedrigere Werte sind alle weiß.
'max': -70, # höchster, von der Farbskala abgedeckter Pixelwert, höhere Werte sind alle rot.
'palette': ['green', 'white', 'red'], # Farben zur Darstellung des Differenzmodells bestimmen: [weiß, rosa, rot].
}'Differenzmodell', opacity = 0.75) # nur 75% Deckkraft, um das Hillshade durchscheinen zu lassen
my_map.addLayer(differenzmodell, vis_paramsDiff,
my_map
Im Differenzmodell kann nun mithilfe des Inspector-Tools die Höhenabnahme direkt abgelesen werden, ohne diese jedes Mal manuell berechnen zu müssen.
Bei einem Gletscher ist es besonders sinnvoll, die Veränderung der Höhe über den gesamten Verlauf zu untersuchen und in einem Diagramm darzustellen. Dies lässt sich über das Nutzerinterface umsetzen:
- Klickt auf den Schraubenschlüssel und gegebenenfalls auf das Blauweiße Plus (+).
- Geht in der vorletzten Zeile links auf Creating and plotting transects.
- Wählt die folgenden Einstellungen aus:
- Image: Differenzmodell
- Band: DEM
- Plot title: Höhenveränderung
- Xlabel: Länge
- Ylabel: Differenz
Anschließend wird das Tool Draw a polyline verwendet, um den Gletscherverlauf nachzuzeichnen. Die Pixelwerte entlang dieser Linie werden dann im Diagramm dargestellt. Beende das Zeichnen mit einem Klick auf den letzten Punkt und klicke danach auf Plot, um das Diagramm zu erzeugen.
Die beiden folgenden Zellen enthalten Screenshots, die zeigen, wie das Ergebnis aussehen könnte.
Im Diagramm wird der vertikale Verlust von Eismasse über die gesamte Länge des Gletschers deutlich sichtbar. Besonders im unteren Bereich ab etwa 14 km ist ein starker Rückgang erkennbar.
Aufgabe: Überlege, warum die Differenz ab einer Länge von etwa 18 km plötzlich wieder geringer wird. Trage Deine Vermutung in die nächste, leere Zelle ein.
Hier kannst Du deine Antwort notieren:
Übrigens: Das Deutsche Zentrum für Luft- und Raumfahrt (DLR) hat eine solche Analyse für die gesamten Alpen durchgeführt:
1.2.5 Weitere Anwendungen
Aufgabe: Die Google Earth Engine hat das Differenzmodell global berechnet. Wiederhole die Analyse für andere Gletscher in den Alpen und wirf auch einen Blick auf den Himalaya.
Aufgabe: Der Gletscherschwund ist eine Folge des Klimawandels. Mit dem Differenzmodell können jedoch auch Ursachen des Klimawandels untersucht werden. Untersuche die Gegend um Köln und die Gegend um Cottbus.
1.2.6 Welttag der Gletscher
Hast Du gewusst, dass der 21. März erstmals 2025 von den Vereinten Nationen zum Welttag der Gletscher ausgerufen wurde?
In Deutschland erhalten Flüsse wie Rhein, Donau, Isar und Lech einen Teil ihres Wassers aus dem Schmelzwasser der Alpen-Gletscher. Veränderungen der Gletscher beeinflussen nicht nur die Flüsse als Lebensraum, sondern auch die Schifffahrt sowie Industrien und Kraftwerke entlang der Flüsse erheblich. Weitere Informationen hierzu findest Du bei der deutschen Gesellschaft für die Vereinten Nationen e.V.
Wiederverwendung
Zitat
@online{2025,
author = {, IZG},
title = {Gletscher},
date = {2025-05-30},
url = {https://climate-data-entrepreneurial-club.netlify.app/modul_3/notebooks/03b_Gletscher.html},
langid = {de}
}