Hamburg Für Wetter- und Klimaprognosen spielen Computersimulationen eine zentrale Rolle. Sie sind meist sehr rechenaufwendig, weil sie die komplexe Realität abbilden. Je feinere Details die Simulationen liefern sollen, desto mehr müssen Computer leisten. Mit meinen Kollegen vom KlimaCampus entwickle ich Methoden, die solche Berechnungen effizienter machen – zum Beispiel für die Ausbreitung von sogenannten Aerosolen.

Diese Schwebeteilchen werden unter anderem bei Vulkanausbrüchen freigesetzt, oder sie kommen als Schadstoffe aus Industrie und Verkehr in der Luft vor. Sie fördern die Wolkenbildung und beeinflussen dadurch Wetter und Klima. Uns interessiert deshalb, wohin der Wind die Aerosole transportiert. Um dies herauszufinden, verwenden wir als Modell ein dreidimensionales Rechengitter, das sich aus einzelnen Zellen zusammensetzt.

Je kleiner diese Zellen, umso genauer können wir die Konzentration der Aerosole an einem bestimmten Ort vorhersagen. Wenn wir das Modell also höher auflösen, müssen wir mehr kleine Zellen betrachten: Halbieren wir zum Beispiel alle Kantenlängen von Würfelzellen, muss der Computer mindestens achtmal länger rechnen. Damit steigen jedoch auch Stromverbrauch und Kosten. Deshalb ist es sinnvoll, das Gitter nur dort zu verfeinern, wo tatsächlich Aerosole vorkommen. Bei einem Vulkanausbruch zum Beispiel können wir die Quelle der Partikel gut lokalisieren.

Für die Ausbreitung der Aerosole berechnen wir zuerst die Konzentration innerhalb der einzelnen Zellen und danach den Austausch mit den angrenzenden Zellen. Mein Ziel ist es, Zeit und Kosten zu sparen. Das Problem: Ein Computer kann nur mit Daten im sogenannten Cache-Speicher arbeiten, der sich am Prozessor befindet – also dort, wo auch gerechnet wird. Seine Speicherkapazität ist jedoch relativ klein. Wenn der Computer größere Datenmengen verarbeiten soll, muss er deshalb auf Arbeitsspeicher oder Festplatte zugreifen, um die Daten in den Cache zu laden. Das kostet Zeit, da der Computer währenddessen nicht rechnen kann.

Deshalb nutzen wir einen Trick: Statt einzelner, verstreuter Daten lädt der Computer Datenblöcke in den Cache. Unser Ziel ist es, möglichst viele Daten in einem Block zu sammeln. Dabei versuchen wir, die Nachbarschaft der Gitterzellen durch geschickte Sortierung auf dem Speicher abzubilden. Der Computer lädt die vorsortierten Daten in den Cache – und muss somit seltener den Umweg über Arbeitsspeicher und Festplatte nehmen.

Die Aerosolkonzentration lässt sich dabei mit einem Fliesenmosaik vergleichen, der Computer mit einem Fliesenleger. Dort, wo dieser kleine Mosaiksteine legt, erscheinen feine Details. Nimmt er große Steine, wird das Bild gröber, aber auch schneller fertig. Mit meiner Methode sortiere ich die Steine für den Fliesenleger vor. Er kann das Mosaik nämlich viel schneller zusammensetzen, wenn er die Fliesen jeweils zusammen mit den angrenzenden Nachbarsteinen erhält. So beschleunigt das Vorsortieren die Simulationen deutlich, ohne die eigentliche Rechenmethode zu verändern.