DIY climate science: The Instrumental Temperature Record

Key points

The motto of the UK's Royal Society is "Nullius in verba", often translated as "Take nobody's word for it" with the implication that scientific views must be based in evidence, not authority. In this spirit, one way to test the claims of climate science is to do it yourself (DIY). There are only three scientific questions which need to be answered to determine whether climate change is a real issue:

  1. Is it warming?
  2. Why is it warming?
  3. What will happen in future?

The rest is window dressing. The first two questions can be addressed using the instrumental temperature record. The in situ record (based on thermometer readings) provides observations of air temperature over land and sea surface temperature which can be used to reconstruct a temperature record for much of the Earth's surface back to the 19th century. This gives a direct indication of whether the Earth is warming.

The instumental temperature record

The question of why the Earth is warming may also be addressed. Warming can arise from any combination of variations in solar irradiance, albedo, and the greenhouse effect. Greenhouse-induced warming has a number of 'fingerprints' which distinguish it from the other causes, primarily stratospheric cooling (which can't be observed from the surface temperature record) but also several others (which can): The poles warming faster than the tropics, winters warming faster than summers, and nights warming faster than days (although the latter is confounded by aerosol effects).

Data can be obtained from a number of sources, including the Global Historical Climatology Network (GHCN), the Climatic Research Unit (CRU), Berkeley Earth Surface Temperature (BEST) and the International Surface Temperature Initiative (ISTI) for land temperature datasets, and the International Comprehensive Ocean-Atmosphere Data Set (ICOADS) for sea surface temperatures which is turned into geographical records including HadSST2/3, ERSST, and OISST.

Calculating a temperature record from this source data is not a very demanding task, and has been undertaken by many amateurs including Caerbannog, Nick Stokes, Steve Mosher, Zeke Hausfather, Nick Barnes and others, as well as the 'official' records from Hadley/CRU, NASA, NCDC and BEST. Calculating a record for yourself gives greater insight into the data quality, coverage and possible sources of bias. However not everyone is a programmer, so I have created a version of the calculation which can be performed in some recent web browsers (tested in Chrome 17+, Firefox 15+, Safari 6).

Rather than designing the calculation to give what I consider to be the best estimate of global surface temperature anomaly (like for example TempLS), I have made the calculation as flexible as possible so that you can experiment with different approaches. You can choose from different datasets for land and sea surface temperatures and change calculation options stepwise to switch between a HadCRUT-like and GISTEMP-like calculation. Geographical coverage is plotted along with every temperature plot, and the results can be filtered by season or latitude.

With this software you can test for yourself claims about the robustness of the data, impact of coverage, data adjustments, urbanisation, 15 year trends and greenhouse warming fingerprints. You can also add it to your own website (subject to the standard Skeptical Science license conditions), and use it as a basis for developing your own software.

Getting Started

The simplest calculation you can do is to reproduce the CRUTEM land temperature record. You will need a modern browser with good Javascript support (Firefox 15+, Chrome 17+ and Safari 6 work, as may some earlier versions, but not Internet Explorer). Launch the tool using the button below.

Temperature Record Calculator

First you need to download the CRU station data using the first link on the page. Next uncompress the data (use software such as 7z on Windows or built-in tools on Mac or Linux).

Now scroll down and click the 'Browse' button next to 'Land station data'. Select the temperature data file that you just extracted.

Finally, click 'Calculate'. The calculation will take a few seconds, then you will be shown the results. Controls further down the page modify the display and allow data to be saved or compared. There are a number of controls which determine the calculation to be performed; these are described in the next section.


Input data:

To generate a temperature record you need data. You may use land-based weather station data and/or ocean based sea surface temperature (SST) data. To get a global index you will need both. The data files are large and need to be downloaded to your computer from the data provider before you perform a temperature reconstruction.


There are a range of controls you can use to perform different calculations. Some of these allow you to select between HadCRUT-like or GISTEMP-like methods, although in practice the station area of influence is the one which makes most of the difference. The controls are as follows:

When you have set the controls as desired, click ‘Calculate’. The calculation will take a few seconds to minutes, depending on the data and options selected. The progress of the calculation is reported in the status bar above the controls.

When the calculation has completed, the results will be displayed in the form of a temperature graph and a coverage graph.

The graphical display

When a calculation completes the results will be presented graphically. You can switch between the input and output displays using the buttons at the right of the status bar.

Coverage mapBy default the temperature series is shown as a 60 month moving average - this period may be adjusted. Global temperatures are displayed by default, however land and ocean temperatures may also be shown.

Below the temperature graph there are 5 small maps showing average data coverage over quintiles of the time range.

At the bottom is a plot of coverage with time. When land and ocean graphs are enabled this will also show land and ocean coverage as a fraction of the total land or ocean area.

Graph controls

The graph controls allow you to control some elements of data presentation which do not require a new calculation.

Graph controls

You change the moving average period, display land and ocean temperatures in addition to the global mean, and calculate a trend for part of the period. To add a trend to the graph, enter start and end dates into the two boxes. These are given as fractional years, thus for example to include all the data to the end of 2012, you would enter 2013 in the 'to' box.

To save a graph left-click on it. This will open a new browser window showing just the graph. Right-click this copy and select Save-as. (Firefox allows the graph to be saved directly).

Experiment log

The experiment log shows up to five previous experiments (from the current session only). Each experiment is given a title which gives a (cryptic) description of the experiment.

Experiment log

You can select which experiment is shown in the graph window using the first column of radio buttons. A second column of radio buttons allows a second set of data to be superimposed in a lighter color.

The ‘CSV’ buttons allow a tab delimited spreadsheet (.csv) file to be downloaded containing the results of a calculation. The columns are year, month, fractional year, global temperature, land temperature, ocean temperature, global coverage, land coverage, ocean coverage. You can save this file or open it in a spreadsheet program.

The 'Del' buttons allow you to delete failed experiments to make space for more results.

What can you do with it?

There are many obvious experiments you can perform with this software, only some of which I have tried. Here are some suggestions, but you can probably come up with more.

Advanced calculations

There are some more advanced calculations which may be performed by using the GHCN data and editing the inventory file to control which stations are used in the calculation. Any station which is missing from the inventory file will not be used. Therefore by creating a copy of the inventory file with a reduced station list you can examine the effects of using different subsets of stations. Manipulating the inventory file by hand is time consuming, so I have provided useful commands which can be used to perform these manipulations automatically from a Mac or Linux command-line.

Browser compatibility

The following table indicates browsers which are known to work with the software:

  Chrome Firefox Safari Opera Explorer
Not working  ?  ?  ?  1-12 1-8
Partially working  ? 10  ?  -  ?
Fully working 17-20 15-16  6  -  ?

What now?

Go and do some science. Please post interesting results, bugs and browser compatibility notes in the comments below (although please be clear about the settings you are using). You can also use the tool to test claims you encounter elsewhere concerning the instrumental record. You probably don't want to cite the results in a peer-reviewed publication, but they may be useful for preliminary trials.

Posted by Kevin C on Thursday, 6 December, 2012

Creative Commons License The Skeptical Science website by Skeptical Science is licensed under a Creative Commons Attribution 3.0 Unported License.