Guest Post By Walter Dnes
On his website, Nick Stokes has set up an interesting global temperature anomaly visualization, based on NCEP/NCAR re-analysis data. The dry technical details are listed in this blog post. Based on his explanation, I’ve been able to closely duplicate his work to within +/-0.003 Kelvin degree, using different tools.
This post concentrates on using the NCEP/NCAR results to predict the prior month’s temperature anomalies for various global data sets, before they’re released. Here is a graph comparing NCEP/NCAR reanalysis anomalies with GISS, NCEI, UAHv6, RSS, and HadCRUT4 anomalies, from April 2015 to March 2016:
There seem to be 2 separate populations, exhibiting different behaviours. They are reminiscent of 2 portions of a broken hockey-stick. For the purposes of this post, the cut-off between the 2 populations will be set to NCEP/NCAR anomaly of +0.45. This is an arbitrary point in the middle of a large gap, and may be changed in future months as more data accumulates. A table of monthly values for NCEP/NCAR, and the major global temperature data sets follows, along with slope, y-intercept, and extrapolated April values. I’d prefer to use 12 months of data for the extrapolation, but there are only 6 months (i.e. October 2015 to March 2016) in the population with NCEP/NCAR anomaly > +0.45. That is what is used for this post.
WordPress does not natively support embedded spreadsheets, without using plugins. So we’ll have to pretend that the above table represents a spreadsheet, with the word “Month” in the upper left corner, i.e. cell A1. In that case, the slope and y-intercept of the HadCRUT4 data would be calculated as “=slope(C2:C7,$B2:$B7)” and “=intercept(C2:C7,$B2:$B7)” respectively. GISS slope and y-intercept would be “=slope(D2:D7,$B2:$B7)” and “=intercept(D2:D7,$B2:$B7)” respectively, etc, etc. Using the “$” prefix allows the formulas to be typed in to cells C9 and C10, and then the cell can be copied over horizontally for the other 4 data sets.
Given the slope and y-intercept, we can use a high-school math linear equation found here.
y = mx + b
- “y” is the forecast anomaly for a temperature data set
- “m” is the value of slope()
- “x” is the value we supply, i.e. the NCEP/NCAR index
- “b” is the value of intercept()
Continuing with the spreadsheet model, cell B12 would have the NCAR/NCEP value for the month we’re forecasting. Cell C12 would have the formula “=C9*$B12 + C10”. This cell can then be copied over horizontally for the next 4 cells.
There is one “sanity-check”, assuming a correlation. This month’s NCEP/NCAR anomaly is +0.645, which is between the values of December 2015 (+0.621) and January 2016 (+0.665). Consequently, one would expect the 5 other data sets to be somewhere in between their values for those 2 months. This is a “rule-of-thumb”, not an absolute guarantee.
- Some WordPress fonts can make the dollar sign “$” difficult to distinguish from uppercase s “S”. There are no uppercase s in the spreadsheet cell formulas listed above. if it looks like uppercase s, it’s actually a dollar-sign.
- The above forecasts are approximate, and anything within +/-0.1 is going to have to be considered “good enough”.
- The NCEP/NCAR re-analysis data runs a couple of days behind real-time. As of this posting, it has only been updated to April 28th. The values for April 29th and 30th have been assumed to be the same as April 28th, and the 30-day NCEP/NCAR anomaly has been extrapolated on that assumption.
- Based on a few months of testing, GISS seems to come in closest to the extrapolated values. UAH and RSS come a close 2nd and 3rd. NOAA/NCEI used to have a good correlation until March 2016. That month they zigged, up, when everybody else zagged, down. HadCRUT4 has the lowest correlation of the 5 data sets.