File:5 9 16 Andrea TempSpiralEdHawkins.gif

Page contents not supported in other languages.
This is a file from the Wikimedia Commons
From Wikipedia, the free encyclopedia

Original file(743 × 791 pixels, file size: 1.79 MB, MIME type: image/gif, looped, 170 frames, 29 s)

This file has been superseded by Global temperature change spiral 2020 100MPx.gif. It is recommended to use the other file. Please note that deleting superseded images requires consent.

Reason to use the other file: "updated to year 2020"
new file

Summary

Description
English: Climate spiral: A spiral graph represents global temperature change (1850 to 2018); Data from the HadCRUT4 dataset http://www.metoffice.gov.uk/hadobs/hadcrut4/
Date
Source Spiralling global temperatures Climate Log Book
Author Ed Hawkins, a climate scientist in the National Centre for Atmospheric Science at the University of Reading.
Other versions
full size Global warming spiral 2018.gif

Source code

A static version of this can be created with the following code:

Python Matplotlib source code
#!/usr/bin/python3
# -*- coding: utf8 -*-

import calendar
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import os
from math import *

plt.rc('mathtext', default='regular')

data_filename = "HadCRUT.4.6.0.0.monthly_ns_avg.txt"

if not os.path.isfile(data_filename):
    print("need raw data from https://www.metoffice.gov.uk/hadobs/hadcrut4/index.html")
    exit()

year_month_T = []
with open(data_filename, "r") as df:
    for l in df.readlines():
        l = l.strip().split()
        year_month_T.append([int(l[0].split("/")[0]), int(l[0].split("/")[1]), float(l[1])])

years, months, T = [np.array(i) for i in zip(*year_month_T)]
T_baseline = np.mean(T[np.logical_and(years >= 1850, years <= 1900)])
T -= T_baseline
angles = -(months-1) / 12. * 2 * pi
points = np.vstack((angles, T)).T
n = len(points)

fig = plt.figure(figsize=(5, 5.4))
fig.patch.set_facecolor('#333333')
cmap = plt.cm.get_cmap('viridis')
ax = fig.add_axes([0.07, 0.07, 0.86, 0.8], projection="polar", axisbg="k")
ax.set_theta_zero_location("N")
r0, r1 = -1., 2.3
ax.set_ylim(r0, r1)

ax.add_artist(mpl.patches.Arc((0, 0), 2*(0-r0), 2*(0-r0), transform=ax.transData._b,
    theta1=90+20, theta2=90-20, color="white", lw=1.8))
ax.add_artist(mpl.patches.Arc((0, 0), 2*(1.5-r0), 2*(1.5-r0), transform=ax.transData._b,
    theta1=90+10, theta2=90-10, color="red", lw=1.8))
ax.add_artist(mpl.patches.Arc((0, 0), 2*(2-r0), 2*(2-r0), transform=ax.transData._b,
    theta1=90+8, theta2=90-8, color="red", lw=1.8))
ax.text(0, 0.0, r"$0^\circ C$", color="white",
    ha='center', va="center", fontsize=10, zorder=-1)
ax.text(0, 1.5, r"$1.5^\circ C$", color="red",
    ha='center', va="center", fontsize=10, zorder=-1)
ax.text(0, 2.0, r"$2.0^\circ C$", color="red",
    ha='center', va="center", fontsize=10, zorder=-1)

# note: replotting each time is slow, could be faster if figure was kept.
for i, (start, stop) in enumerate(zip(points[:iframe], points[1:iframe+1])):
    x, y = zip(start, stop)
    ax.plot(x, y, color=cmap(i /n))

ax.get_yaxis().set_visible(False)
ax.set_xticks(np.radians(np.arange(0, -360, -30)))
ax.set_xticklabels([calendar.month_abbr[i+1] for i in range(12)], color="#cccccc")
for i, tick in enumerate(ax.get_xticklabels()):
    tick.set_rotation(-30 * i)
ax.grid(False)

fig.suptitle(u"Global temperature change (%s\u2013%s)" % (min(years), max(years)),
    color="white")
fig.text(0.96, 0.02, 'HadCRUT4', ha='right', va='bottom', color="white", fontsize=8)
#ax.text(0, r0, str(years[iframe]), color="white", ha='center', va="center", fontsize=12)

plt.savefig("Temperature_spiral_HadCRUT4.svg",
    facecolor=fig.get_facecolor(), edgecolor="none")

Licensing

w:en:Creative Commons
attribution
This file is licensed under the Creative Commons Attribution 3.0 Unported license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

9 May 2016

image/gif

1f567bfe1a2f37676b0dfc69c713505ca343b231

1,880,557 byte

28.8 second

791 pixel

743 pixel

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current21:30, 1 March 2020Thumbnail for version as of 21:30, 1 March 2020743 × 791 (1.79 MB)Bürgerentscheidoriginal file now resized with lanczos3.
21:39, 15 May 2016Thumbnail for version as of 21:39, 15 May 2016720 × 775 (2.83 MB)Fred BauderUser created page with UploadWizard
The following pages on the English Wikipedia use this file (pages on other projects are not listed):

Global file usage

The following other wikis use this file: