Datei:Vermeintlicher Stillstand der globalen Erwärmung.gif

Vermeintlicher_Stillstand_der_globalen_Erwärmung.gif (509 × 370 Pixel, Dateigröße: 319 KB, MIME-Typ: image/gif, 38 Bilder, 18 s)

Diese Datei und die Informationen unter dem roten Trennstrich werden aus dem zentralen Medienarchiv Wikimedia Commons eingebunden.

Zur Beschreibungsseite auf Commons


Beschreibung

Beschreibung
Deutsch: Durch Selektieren bzw. Rosinenpicken von Daten scheint der Trend der globalen Erwärmung fälschlicherweise anzuhalten, wie im Zeitraum von 1998 bis 2012, was in Wirklichkeit eine zufällige entgegengesetzte Schwankung ist.
English: By selecting or cherry-picking data, the trend of global warming appears to mistakenly stop, as in the period from 1998 to 2012, which is actually a random contrary fluctuation.
Datum
Quelle Eigenes Werk
Urheber Physikinger
Andere Versionen english version: File:Global_warming_hiatus.gif
GIF‑Erstellung
InfoField
 
Dieser Plot wurde mit Matplotlib erstellt.
Quelltext
InfoField

Python code

import numpy
import matplotlib.pyplot as plt
import imageio

year_T = {
    # https://data.giss.nasa.gov/gistemp/tabledata_v4/GLB.Ts dSST.txt
    # GLOBAL Land-Ocean Temperature Index in 0.01 degrees Celsius   base period: 1951-1980
    # sources:  GHCN-v4 1880-07/2021   SST: ERSST v5 1880-07/2021
    # using elimination of outliers and homogeneity adjustment
    # Divide by 100 to get changes in degrees Celsius (deg-C).
    # Year  J-D (annual mean Temperature Jan to Dec)
    1880: -16, 1881:  -8, 1882: -11, 1883: -17, 1884: -28,
    1885: -33, 1886: -31, 1887: -36, 1888: -17, 1889: -10,
    1890: -35, 1891: -22, 1892: -27, 1893: -31, 1894: -30,
    1895: -22, 1896: -11, 1897: -11, 1898: -27, 1899: -17,
    1900:  -8, 1901: -15, 1902: -28, 1903: -37, 1904: -47,
    1905: -26, 1906: -22, 1907: -38, 1908: -43, 1909: -48,
    1910: -43, 1911: -44, 1912: -36, 1913: -34, 1914: -15,
    1915: -14, 1916: -36, 1917: -46, 1918: -30, 1919: -28,
    1920: -27, 1921: -19, 1922: -29, 1923: -27, 1924: -27,
    1925: -22, 1926: -11, 1927: -22, 1928: -20, 1929: -36,
    1930: -16, 1931:  -9, 1932: -16, 1933: -29, 1934: -13,
    1935: -20, 1936: -15, 1937:  -3, 1938:   0, 1939:  -2,
    1940:  13, 1941:  19, 1942:   7, 1943:   9, 1944:  20,
    1945:   9, 1946:  -7, 1947:  -3, 1948: -11, 1949: -11,
    1950: -17, 1951:  -7, 1952:   1, 1953:   8, 1954: -13,
    1955: -14, 1956: -19, 1957:   5, 1958:   6, 1959:   3,
    1960:  -3, 1961:   6, 1962:   3, 1963:   5, 1964: -20,
    1965: -11, 1966:  -6, 1967:  -2, 1968:  -8, 1969:   5,
    1970:   3, 1971:  -8, 1972:   1, 1973:  16, 1974:  -7,
    1975:  -1, 1976: -10, 1977:  18, 1978:   7, 1979:  16,
    1980:  26, 1981:  32, 1982:  14, 1983:  31, 1984:  16,
    1985:  12, 1986:  18, 1987:  32, 1988:  39, 1989:  27,
    1990:  45, 1991:  40, 1992:  22, 1993:  23, 1994:  31,
    1995:  45, 1996:  33, 1997:  46, 1998:  61, 1999:  38,
    2000:  39, 2001:  53, 2002:  63, 2003:  62, 2004:  53,
    2005:  67, 2006:  63, 2007:  66, 2008:  54, 2009:  65,
    2010:  72, 2011:  61, 2012:  65, 2013:  67, 2014:  74,
    2015:  90, 2016: 101, 2017:  92, 2018:  85, 2019:  97,
    2020: 102, 2021:  85, 2022:  89, 2023: 117   
    }

x, y = (numpy.array(list(x()), dtype='d') for x in (year_T.keys, year_T.values))
y = y / 100

xMinFocus, xMaxFocus = 1998, 2012
i0 = x.tolist().index(xMinFocus)
i1 = x.tolist().index(xMaxFocus)   1

nPoly = 4
phi = numpy.array([x**i for i in range(nPoly)])
A = phi @ phi.T
b = phi @ y
c = numpy.linalg.solve(A, b)
yPoly = c @ phi

phiHist = phi[:,:i1]
A = phiHist @ phiHist.T
b = phiHist @ y[:i1]
c = numpy.linalg.solve(A, b)
yPolyHist = c @ phi

nPoly = 3
phiF = phi[:nPoly,i0:i1]
A = phiF @ phiF.T
b = phiF @ y[i0:i1]
c = numpy.linalg.solve(A, b)
yPolyFocus = c @ phi[:nPoly]
yMinTotal, yMaxTotal = numpy.min(y) - 0.02, numpy.max(y)   0.02
xMinTotal, xMaxTotal = numpy.min(x), numpy.max(x)
yMinFocus, yMaxFocus = numpy.min(y[i0:i1]) - 0.02, numpy.max(y[i0:i1])   0.02
plt.xlim(xMinFocus-0.1, xMaxFocus 0.5)

# Frame-Parameter:
#   t: Frame-Dauer
#   trans1: Übergang 0 bis 1 vom Zoom bis zum vollen Zeitraum
#   trans2: Übergang 0 bis 1 vom reduzierten bis zum vollen Datensatz
#   showTrend: Trend (0: None, 1: Ausschnitt, 2: gesamte Historie, 3: gesamter Zeitraum)

parameters = [ # (t, trans1, trans2, showTrend)
    (1, 0.0, 0.0, 0),
    (4, 0.0, 0.0, 1),
    *[(0.1, t**2, 0.0, 1) for t in numpy.linspace(0,1,25)],
    (1.0, 1.0, 0.0, 1),
    (0.5, 1.0, 0.0, 0),
    (1, 1.0, 0.0, 2),
    *[(0.1, 1.0, t,2) for t in numpy.linspace(0,1,10)],
    (0.5, 1.0, 1.0, 2),
    (6, 1.0, 1.0, 3),
    ]

images = []
duration = []
for t, trans1, trans2, showTrend in parameters:
    duration.append(t)
    zoom = 4*(1-trans1)   1*trans1
    fig = plt.figure(figsize=(5.1,3.7), dpi=100)
    plt.rc('axes', titlesize=14, labelsize=12)
    plt.rc('xtick', labelsize=11)
    plt.rc('ytick', labelsize=11)
    plt.rc('legend', fontsize=16)
    if showTrend == 1: plt.plot(x[i0-15:], yPolyFocus[i0-15:], 'r--', label='Trend')
    if showTrend == 2: plt.plot(x, yPolyHist, 'b--', label='Trend')
    if showTrend == 3: plt.plot(x, yPoly, 'b--', label='Trend')
    iMax = int(i1   trans2*(len(x)-i1))
    plt.plot(x[:iMax], y[:iMax], 'C0.-', alpha=0.8, linewidth=0.8*zoom, markersize=6*zoom)
    plt.plot(x[i0:i1], y[i0:i1], 'C3.-', linewidth=0.805*zoom, markersize=6.05*zoom)
    plt.grid(True, alpha=0.7)
    yMax = yMaxFocus   trans1*(yMaxTotal-yMaxFocus)
    xMax = xMaxFocus   trans1*(xMaxTotal-xMaxFocus)
    xMin = xMinFocus*(1-trans1)   xMinTotal*trans1
    plt.xlim(xMin-0.1, xMax 0.1 1*trans1)
    plt.ylim(yMinFocus*(1-trans1)   yMinTotal*trans1, yMaxFocus*(1-trans1)   yMax*trans1 0.03*trans1)
    plt.text(0.02, 0.89, '%i - %i'%(xMin, x[iMax-1]), transform=plt.gca().transAxes, fontsize=20)
    plt.title('Vermeintlicher Stillstand der Erwärmung')
    plt.xlabel('Jahr')
    plt.ylabel('Relative globale Temperatur (°C)')
    plt.gca().yaxis.set_label_coords(-0.13, 0.5)
    if showTrend: leg = plt.legend(frameon=False, loc='lower right')
    fig.subplots_adjust(
        top=0.9,
        bottom=0.13,
        left=0.15,
        right=0.95,
        hspace=0.2,
        wspace=0.2
    )
    fig.canvas.draw()
    s, (width, height) = fig.canvas.print_to_buffer()
    images.append(numpy.array(list(s), numpy.uint8).reshape((height, width, 4)))
    fig.clf()
    plt.close('all')

# Save GIF animation
fileOut = 'Vermeintlicher_Stillstand_der_globalen_Erwaermung.gif'
imageio.mimsave(fileOut, images, 'GIF', duration=[i*1000 for i in duration])

# Optimize GIF size
from pygifsicle import optimize
optimize(fileOut, colors=20)

Lizenz

Ich, der Urheber dieses Werkes, veröffentliche es unter der folgenden Lizenz:
Creative Commons CC-Zero Diese Datei wird unter der Creative-Commons-Lizenz CC0 1.0 Verzicht auf das Copyright zur Verfügung gestellt.
Die Person, die das Werk mit diesem Dokument verbunden hat, übergibt dieses weltweit der Gemeinfreiheit, indem sie alle Urheberrechte und damit verbundenen weiteren Rechte – im Rahmen der jeweils geltenden gesetzlichen Bestimmungen – aufgibt. Das Werk kann – selbst für kommerzielle Zwecke – kopiert, modifiziert und weiterverteilt werden, ohne hierfür um Erlaubnis bitten zu müssen.

Kurzbeschreibungen

Vermeintlicher Stillstand der globalen Erwaermung

In dieser Datei abgebildete Objekte

Motiv

Einige Werte ohne einen Wikidata-Eintrag

image/gif

Dateiversionen

Klicke auf einen Zeitpunkt, um diese Version zu laden.

Version vomVorschaubildMaßeBenutzerKommentar
aktuell22:31, 8. Jul. 2024Vorschaubild der Version vom 22:31, 8. Jul. 2024509 × 370 (319 KB)PhysikingerTypo
23:10, 30. Jan. 2024Vorschaubild der Version vom 23:10, 30. Jan. 2024509 × 370 (541 KB)PhysikingerUpdate 2023
21:47, 17. Apr. 2023Vorschaubild der Version vom 21:47, 17. Apr. 2023509 × 370 (533 KB)PhysikingerShorter red line
19:32, 13. Apr. 2023Vorschaubild der Version vom 19:32, 13. Apr. 2023509 × 370 (532 KB)PhysikingerExtrapolation, Timing
21:54, 12. Apr. 2023Vorschaubild der Version vom 21:54, 12. Apr. 2023509 × 370 (523 KB)PhysikingerUpdate 2022, single zoom transition
13:45, 7. Sep. 2021Vorschaubild der Version vom 13:45, 7. Sep. 2021509 × 370 (518 KB)PhysikingerRemove additional frame
13:35, 7. Sep. 2021Vorschaubild der Version vom 13:35, 7. Sep. 2021509 × 370 (532 KB)PhysikingerSmaller file size
23:05, 6. Sep. 2021Vorschaubild der Version vom 23:05, 6. Sep. 2021509 × 370 (643 KB)PhysikingerFixed label, less colors
21:40, 31. Aug. 2021Vorschaubild der Version vom 21:40, 31. Aug. 2021509 × 370 (892 KB)PhysikingerLarger font
15:30, 28. Aug. 2021Vorschaubild der Version vom 15:30, 28. Aug. 2021509 × 370 (856 KB)PhysikingerUploaded own work with UploadWizard