Klimawandel: Wir analysieren die Temperatur in verschiedenen Städten in den letzten 100 Jahren

Hallo Habr.

Nur faule Leute reden nicht über den Klimawandel. Durch die zufällige Suche nach einem guten Standort mit historischen Daten wurde es interessant zu überprüfen, wie sich die Temperatur im Laufe der Jahre wirklich verändert hat. Für den Test werden wir Daten aus mehreren Städten nehmen und sie mit Pandas und Matplotlib analysieren. Gleichzeitig werden wir in Moskau oder St. Petersburg herausfinden, ob die Tscheljabinsker Fröste so stark sind und wo es wärmer ist.



Fand auch einige interessantere Muster. Wer möchte die Details wissen, bitte unter der Katze.

Datenerfassung


Ich werde hier keinen Link zur Website bereitstellen. Geben Sie einfach "Wetter- und Klima-Annalen" von Google ein. Es wird der erste sein. Die Daten selbst werden als HTML-Tabelle angezeigt:



Es sieht wunderschön aus, ist aber für die Analyse nicht sehr praktisch. Wir werden die Daten nach CSV kopieren . Dafür habe ich eine kostenlose Erweiterung für Chrome namens Copytables verwendet . Sie können bereits weiter damit arbeiten. Wenn alles richtig gemacht ist, sollten Sie eine Datei mit folgendem Formular erhalten:

Year,Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dev,Avg 2003,-7.3,-8.6,-2.7,4.7,15.5,12.8,20.6,16.9,11.3,5.6,1.1,-2.1,5.7 2004,-6.5,-7.0,1.3,4.6,11.4,15.3,19.0,18.4,12.1,5.9,-1.6,-2.9,5.8 2005,-3.0,-8.9,-6.0,7.1,14.8,16.5,19.3,17.6,13.1,6.0,1.4,-4.1,6.2 

Laden Sie nun die Daten in den Pandas-Datenrahmen. Wir werden uns die Daten von 1900 ansehen.

 import pandas as pd import matplotlib.pyplot as plt import matplotlib.dates as mdates from matplotlib.ticker import FormatStrFormatter, LinearLocator, FuncFormatter df = pd.read_csv("moscow.csv", sep=',', encoding='utf-8') df = df[(df['Year'] >= 1900)] plt.rcParams["figure.figsize"] = (8, 5) fig, ax = plt.subplots() def neg_tick(x, pos): return '%.1f' % (-x if x else 0) plt.bar(df['Year'].values, -df['Jan'].values, label=f'{cityname} - January Temperature, C') plt.plot(df['Year'].values, -df['Jan'].rolling(window=20, min_periods=1).mean(), 'r-') ax.yaxis.set_major_formatter(FuncFormatter(neg_tick)) plt.legend(loc='best') plt.tight_layout() plt.show() 

Hier gibt es eine Besonderheit: Ich verwende das "invertierte" Diagramm für negative Temperaturen, für das ich die FuncFormatter-Klasse und die neg_tick-Funktion verwenden musste.

Mit dem Code ist alles, wie Sie sehen können, nichts Kompliziertes. Nun wollen wir sehen, was passiert. Zum Vergleich habe ich mehrere Städte genommen - Moskau, St. Petersburg und Amsterdam. Andere Städte können Sie selbst beobachten.

Moskau und Petersburg


Ich zeige die Daten in einem Diagramm an, weil Gleichzeitig war es interessant, die Temperaturen in Moskau mit denen in St. Petersburg zu vergleichen.

Nehmen Sie für Wintertemperatur Januar. Das Bild war bereits auf KDPV, aber aus Gründen der Integrität werde ich es wieder bringen.

Winter, Januar:



Sommer, Juni:



In Moskau ist das Klima tatsächlich kontinentaler - es ist im Winter kälter und im Sommer heißer. Ein weiterer interessanter Höhepunkt, der in der Grafik zu sehen ist - wirklich kalte Winter 1941-1945 - ist deutlich unterdurchschnittlich. Beschwerden der Deutschen über den "allgemeinen Winter" hatten ihre eigenen Gründe.

Insgesamt sind die Ergebnisse interessant. Die Durchschnittstemperaturen ändern sich zwar in die positive Richtung, aber die Winter sind um die 80er Jahre milder geworden, und die Sommer sind um die 50er Jahre wärmer geworden. Ich weiß es nicht.

Interessant ist auch, wie selektiv das menschliche Gedächtnis ist. Meine Kindheit war in den 80ern, und ich erinnere mich an die frostigen Winter unter -20, als ich in Filzstiefeln und Ohrenklappen ging und so weiter. Es stellt sich heraus, dass in den 80ern die Fröste im Januar nicht so sehr waren, wie es mir schien, aber anscheinend wurden die kältesten Tage mehr in Erinnerung behalten.

Übrigens wurde es interessant zu überprüfen, wie schwere Erkältungen in Tscheljabinsk Witzen entsprechen:



Ja, der Unterschied in der Durchschnittstemperatur beträgt fast das Zweifache. In Moskau beträgt die durchschnittliche Januar-Temperatur -6, in Tscheljabinsk -12. Wenn in Moskau die Durchschnittstemperatur plötzlich auf -20 sinkt ... laut Statistik war dies jedoch das letzte Mal im Jahr 1942. Wie viel war damals in Tscheljabinsk unbekannt, keine Daten.

Betrachten wir nun europäische Städte.

Amsterdam


In Amsterdam ist das Klima ziemlich warm, obwohl der Trend insgesamt anhält. Interessante "Emissionen" negativer Temperaturen.

Winter, Januar:



Es ist lustig, dass die durchschnittliche Januar-Temperatur von -7 in 1963 m die Holländer so sehr beeindruckte, dass sie sogar ins lokale Kino gelangte .

Auch die Sommertemperaturen ändern sich.

Sommer, Juni:



Interessanterweise haben sich die Winter in Amsterdam nicht so stark verändert wie in Moskau und St. Petersburg, und der Einfluss des Meeres dürfte sich auswirken. Zum Vergleich sehen Sie eine kontinentale Stadt, zum Beispiel Prag :



Interessanterweise stieg die Temperatur bis in die 40er Jahre, dann sanken die Durchschnittswerte. Was sich geändert hat, weiß ich nicht. Und dies ist keine lokale Klimaanomalie, der gleiche Effekt war in Salzburg :



Wie in den Kommentaren vorgeschlagen, zeigen die Grafiken interessante Spitzen negativer Temperaturen mit einem Zeitraum von ~ 20 Jahren. Was es ist, weiß ich nicht.

Fazit


Eigentlich bin ich kein Meteorologe, daher wird es keine Schlussfolgerungen geben. Der Klimawandel ist definitiv da, es ist unmöglich, ihn zu leugnen, und die Durchschnittstemperaturen sind tatsächlich gestiegen. Es wäre auch interessant, die Daten auf dem Diagramm der CO2-Konzentration in der Atmosphäre für diese 100 Jahre oder auf einigen anderen Ereignissen, beispielsweise auf dem Diagramm der Sonnenaktivität, zu überlagern. Sehr interessant ist auch der Rückgang der Durchschnittstemperatur nach 1940 - ist es wirklich ein Kriegsfaktor (obwohl ich mir hier nicht sicher bin) oder gab es andere Ereignisse, wie den Ausbruch großer Vulkane.

Wer möchte, kann selbst weiter experimentieren.

Source: https://habr.com/ru/post/de469259/


All Articles