File:Co2-temperature-plot.svg

From Wikipedia, the free encyclopedia

Jump to: navigation, search

Co2-temperature-plot.svg(SVG file, nominally 720 × 540 pixels, file size: 225 KB)


[edit] Summary

This figure shows historical CO2 (right axis) and reconstructed temperature (as a difference from the mean temperature for the last 100 years) records based on Antarctic ice cores, providing data for the last 800,000 years.

[edit] Licensing

This figure was produced by Leland McInnes using python and matplotlib and is licensed under the GFDL. All data is from publicly available sources.

[edit] Data Sources

  1. (red) EPICA Dome C temperature data: http://doi.pangaea.de/10.1594/PANGAEA.683655
  2. (dark blue) Vostok CO2 data: http://doi.pangaea.de/10.1594/PANGAEA.55501
  3. (steel blue) EPICA DomeC temperature data, 423-391 kybp: http://doi.pangaea.de/10.1594/PANGAEA.472482
  4. (pale blue) EPICA DomeC CO2 data, 650-413 kybp: http://doi.pangaea.de/10.1594/PANGAEA.472481
  5. (cyan) EPICA DomeC CO2 data, 800-650 kybp: http://doi.pangaea.de/10.1594/PANGAEA.710901
  6. Current CO2 level: http://en.wikipedia.org/wiki/Carbon_dioxide#Concentrations_of_CO2_in_atmosphere

[edit] Image Creation

The image was created with the following script, making use of the matplotlib library.

# -*- coding: utf-8 -*-
 
import numpy as np
import matplotlib.pylab as plt
from matplotlib.font_manager import FontProperties
 
def smooth(signal, window_size):
    extended_signal = signal[window_size:0:-1] + signal + signal[-1:-window_size:-1]
    s = np.array(extended_signal)
    w = np.hamming(window_size)
    y = np.convolve(w/w.sum(), s, mode="same")
    return y[window_size:-window_size+1]
 
 
temp_file = open("EDC_dD_temp_estim.csv")
data_rows = [x.split() for x in temp_file if not x.startswith("#") and len(x.split()) == 5]
temp_years = [float(x[1]) for x in data_rows]
raw_temp_vals = [float(x[3]) for x in data_rows]
temp_vals = list(smooth(raw_temp_vals[:4000], 50)) + list(smooth(raw_temp_vals[4000:6000], 10)) + raw_temp_vals[6000:]
 
co2_file1 = open("Vostok_CH4_CO2_age.csv")
data_rows = [x.split("\t") for x in co2_file1 if not x.startswith('"')]
co2_years1 = [float(x[0]) for x in data_rows if x[2] != "\n"]
co2_vals1 = [float(x[2].strip()) for x in data_rows if x[2] != "\n"]
 
co2_file2 = open("EDC_CO2_423-391_kyr_BP.csv")
data_rows = [x.split() for x in co2_file2 if not x.startswith('"')]
co2_years2 = [float(x[1]) for x in data_rows]
co2_vals2 = [float(x[2]) for x in data_rows]
 
co2_file3 = open("EDC_CO2_650-413_kyr_BP.csv")
data_rows = [x.split() for x in co2_file3 if not x.startswith('"')]
co2_years3 = [float(x[1]) for x in data_rows]
co2_vals3 = [float(x[2]) for x in data_rows]
 
co2_file4 = open("EDC99_CO2_bern.csv")
data_rows = [x.split() for x in co2_file4 if x.startswith("3")]
co2_years4 = [float(x[1]) for x in data_rows]
co2_vals4 = [float(x[2]) for x in data_rows]
 
plt.title("Temperature and CO$_2$ Records", size=28)
temp_ax = plt.axes()
temp_ax.yaxis.tick_left()
tline = plt.plot(temp_years, temp_vals, "red")
plt.ylabel(u"Temperature anomaly (°C)", size=16)
plt.xlabel("Thousands of Years Ago", size=16)
plt.xlim(800,0)
plt.ylim(-11,15)
co2_ax = plt.axes([0.125,0.1,0.775,0.8], frameon=False)
co2_ax.yaxis.tick_right()
co2_ax.yaxis.set_label_position("right")
plt.xticks([])
cline1 = plt.plot(co2_years1, co2_vals1, "#0000AA")
cline2 = plt.plot(co2_years2, co2_vals2, "#2288AA")
cline3 = plt.plot(co2_years3, co2_vals3, "#44AAFF")
cline4 = plt.plot(co2_years4, co2_vals4, "#88DDFF")
plt.ylabel("Atmospheric CO$_2$ (ppm)", size=16)
plt.xlim(800,0)
plt.ylim(160,420)
plt.annotate("Current CO$_2$ level", (2,386.36), (300,386.36), xycoords="data", arrowprops=dict(arrowstyle="->"))
plt.legend((tline, cline1, cline2, cline3, cline4), ("Temperature (EPICA Dome C)", "CO$_2$ (Vostok)", "CO$_2$ (EPICA Dome C)", "CO$_2$ (EPICA Dome C)", "CO$_2$ (EPICA Dome C)"), "upper left", prop=FontProperties(size=9), pad=0.1, handletextsep=0.005)
plt.savefig("py-co2-temp.svg")
plt.show()

[edit] Related images

File history

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

(latest | earliest) View (newer 50) (older 50) (20 | 50 | 100 | 250 | 500)
Date/TimeDimensionsUserComment
current20:50, 11 January 2009720×540 (225 KB)Leland McInnes (talk | contribs)
00:29, 14 January 20071,052×744 (40 KB)Leland McInnes (talk | contribs) ((reverse direction of time scale))
17:22, 4 November 20061,052×744 (40 KB)Leland McInnes (talk | contribs)
04:07, 4 November 20061,052×744 (42 KB)Leland McInnes (talk | contribs)
04:03, 4 November 20061,052×744 (42 KB)Leland McInnes (talk | contribs) (One last try at entering the title)
03:56, 4 November 20061,052×744 (39 KB)Leland McInnes (talk | contribs)
01:04, 4 November 20061,052×744 (39 KB)Leland McInnes (talk | contribs)
01:02, 4 November 20061,052×744 (39 KB)Leland McInnes (talk | contribs) (This figure shows apparent correlations between historical CO2 and temperature records based on Antarctic ice cores, providing data for the last 650,000 years. Note that deuterium levels differ between Vostok and EPICA ice cores and are therefore plotted )
(latest | earliest) View (newer 50) (older 50) (20 | 50 | 100 | 250 | 500)

The following pages on the English Wikipedia link to this file (pages on other projects are not listed):
Personal tools