As I’m looking more into the Dessler 2011 and the disagreement with Dr. Spencer’s numbers, it’s clear that I’ll need to take a look at the ocean data. This post should just be a reference that I can link back to. Climate Explorer only seems to have OHC available for the entire 0-700m, but I’ll need it at different levels, so I whipped up some code that performs the global averaging at each level. Originally I tried to do this in R, but ultimately I went to Java since it seemed easier, likely because I’m more familiar with the language. The Java code (it’s pretty ugly), resulting temperature anomaly averages, and R script for the charts are available here. The “raw” data I use is available from NOAA’s NODC and is the tar ball for all Analyzed Anomalies.
To get the average temperature down to a particular depth, you simply need to perform a weighted average of all layer temperatures (as retrieved from my file) you are interested in, using the volume weights included in the file. To do a quick sanity check, I used the full 0-700m temperature and converted it Joules, using a simple calculation for both the total volume (.7 * surface area of earth * 700 meter) and specific heat of salt water (3.99 J/g/K, even though technically this will vary slightly with salinity and temperature).
The resulting plot matches up pretty well with the NOAA graph, and I also compared it against the the Climate Explorer data (which is in GJ/(Wm^2)), getting an r^2 value of around .998 (although mine showed about l.08 for the scaling factor as I recall, which is probably the result of slightly different values for the unit conversions?). Nonetheless, it should be close enough to answer the lingering issues, provided the 0-100m depths close enough as well.
Anyhow, below are the plots of HadCRUT anomalies, along with two different ocean depths:
The 0-700m anomaly has been scaled so as to show its variations along with the others. You’ll notice that while the 0-100m fluctuations generally match up well with those of the HadCRUT surface temperatures, the 0-700m has very little relationship (at least at lag 0). The corresponding regression values for 0-100m vs HadCRUT (r^2 = 0.61) and 0-700m vs HadCRUT (r^2=0.05) attest to this as well. I would ask that you keep this in mind for my follow-up post. Those of you familiar with the discrepancies between Dessler and Spencer’s number might see where I’m going with this.