Zum Inhalt springen

Datei:Global warming hiatus.gif

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
Aus Wikivoyage

Global_warming_hiatus.gif(509 × 370 Pixel, Dateigröße: 500 KB, MIME-Typ: image/gif, Endlosschleife, 42 Bilder, 18 s)

Diese Datei stammt aus Wikimedia Commons und kann von anderen Projekten verwendet werden. Die Beschreibung von deren Dateibeschreibungsseite wird unten angezeigt.


Beschreibung

Beschreibung
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 German version File:Vermeindlicher Stillstand der globalen Erwaermung.gif
GIF‑Erstellung
InfoField
 
Dieser Plot wurde mit Matplotlib erstellt.
Quelltext
InfoField

Python code

# This source code is public domain

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.1)

# Frame-Parameter:
#   t: Frame duration
#   trans1: transition 0 to 1 towards full time frame
#   trans2: transition 0 to 1 towards full data set
#   showTrend: Trend (0: None, 1: Zoom, 2: full history, 3: full time frame)

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('Global Warming Hiatus')
    plt.xlabel('Year')
    plt.ylabel('Relative Global Temperature (°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 = 'Global_warming_hiatus.gif'
imageio.mimsave(fileOut, images, duration=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

Ergänze eine einzeilige Erklärung, was diese Datei darstellt.
Apparent stagnation of global warming

In dieser Datei abgebildete Objekte

Motiv

image/gif

Dateiversionen

Klicke auf einen Zeitpunkt, um diese Version zu laden.

Version vomVorschaubildMaßeBenutzerKommentar
aktuell22:52, 17. Apr. 2023Vorschaubild der Version vom 22:52, 17. Apr. 2023509 × 370 (500 KB)PhysikingerShorter red line
20:36, 13. Apr. 2023Vorschaubild der Version vom 20:36, 13. Apr. 2023509 × 370 (511 KB)PhysikingerExtrapolation, Timing
23:01, 12. Apr. 2023Vorschaubild der Version vom 23:01, 12. Apr. 2023509 × 370 (510 KB)PhysikingerUpdate 2022, single zoom transition
14:37, 7. Sep. 2021Vorschaubild der Version vom 14:37, 7. Sep. 2021509 × 370 (511 KB)PhysikingerSmaller file size
00:09, 7. Sep. 2021Vorschaubild der Version vom 00:09, 7. Sep. 2021509 × 370 (617 KB)PhysikingerFixed label, less colors
21:01, 1. Sep. 2021Vorschaubild der Version vom 21:01, 1. Sep. 2021509 × 370 (884 KB)PhysikingerUploaded own work with UploadWizard

Keine Seiten verwenden diese Datei.

Globale Dateiverwendung

Die nachfolgenden anderen Wikis verwenden diese Datei: