File:Co2-temperature-plot.svg
[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.
| I, the creator of this work, hereby grant the permission to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. Subject to disclaimers. |
| This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License. This licensing tag was added to this file as part of the GFDL licensing update. |
[edit] Data Sources
- (red) EPICA Dome C temperature data: doi:10.1594/PANGAEA.683655
- (dark blue) Vostok CO2 data: doi:10.1594/PANGAEA.55501
- (steel blue) EPICA DomeC temperature data, 423-391 kybp: doi:10.1594/PANGAEA.472482
- (pale blue) EPICA DomeC CO2 data, 650-413 kybp: doi:10.1594/PANGAEA.472481
- (cyan) EPICA DomeC CO2 data, 800-650 kybp: doi:10.1594/PANGAEA.710901
- 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
-
Expanded record of CO2 from the last 50 years at Mauna Loa
-
Solar variation and greenhouse gases during 420,000 years.
-
Recent global CO2 emissions, logarithmic scale.
| This is a candidate to be copied to Wikimedia Commons. Freely licensed or public domain media are more accessible to other Wikimedia projects if placed on Commons. Any user may perform this move—please see Moving images to the Commons for more information.
If this image has been copied to Commons replace this tag with {{NowCommons|1=Image name on commons}} Copy to Commons: via CommonsHelper · via CommonsHelper 2 |
|||
|
|||
| This file has been identified as a priority candidate in the January 2012 Move to Commons Drive. You can help with moving these files by joining the drive and using CommonsHelper to transfer this file to Commons.
Please remember to remove this template after moving. |
File history
Click on a date/time to view the file as it appeared at that time.
| Date/Time | Thumbnail | Dimensions | User | Comment | |
|---|---|---|---|---|---|
| current | 20:50, 11 January 2009 | 720 × 540 (225 KB) | Leland McInnes (talk | contribs) | ||
| 00:29, 14 January 2007 | 1,052 × 744 (40 KB) | Leland McInnes (talk | contribs) | ((reverse direction of time scale)) | ||
| 17:22, 4 November 2006 | 1,052 × 744 (40 KB) | Leland McInnes (talk | contribs) | |||
| 04:07, 4 November 2006 | 1,052 × 744 (42 KB) | Leland McInnes (talk | contribs) | |||
| 04:03, 4 November 2006 | 1,052 × 744 (42 KB) | Leland McInnes (talk | contribs) | (One last try at entering the title) | ||
| 03:56, 4 November 2006 | 1,052 × 744 (39 KB) | Leland McInnes (talk | contribs) | |||
| 01:04, 4 November 2006 | 1,052 × 744 (39 KB) | Leland McInnes (talk | contribs) | |||
| 01:02, 4 November 2006 | 1,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 ) |
- Edit this file using an external application See the setup instructions for more information.