In an effort to understand how the model works, I used an swf (flash) decompiler to recover the internal model and the seed (historical) data. Then I implemented an identical model in this OpenOffice spreedsheet. The purpose of this page is to present what I learned.
Spoiler: | This analysis demonstrates that the supplied data disproves the association between CO2 and temperature, assuming the default sensitivity of 3.0°C/doubling. However, additional analysis using my GHCN Temperature Plotter tool indicates a pretty good correlation if the sensitivity is reduced to 1.8°C/doubling. |
UCAR's Model
By the way, the NSTA (National Science Teachers Association) recomends this tools to help teach students in grades 6 thru 8 about "climate science".
The Equation
ΔT = A * log([CO2]/[CO20]) |
For log-base-2, the value of "A" is the number of degrees-C the temperature changes for a doubling of CO2. Their default value is 3°C
UCAR provides additional details on the associated activity page - select the Background and Extensions tab, scroll down to the Details of the Math Behind the Model section.
Reference issue
ΔF = 6.3 ln(C/C0) coefficient derived from Hansen et al (1988)Values derived from Hansen et al have been multiplied by 3.35 (Lacis, personal communication) to convert forcing as a temperature change to forcing as a change in net flux at the tropopause after allowing for stratospheric temperature change |
6.3/3.35 * log2(e) = 2.713°C/doublingwhich is close to 3 - the default UCAR model climate sensitivity when using a log of base 2 |
Plots
Blue | This is the temperature provided in the UCAR seed data |
Orange | This is the temperature computed using A=3°C - the model's default value |
Yellow | This is the temperature computed using A=1°C |
If the model was correct, then the computed temperature (the orange diamonds) should overlap the historical temperatures (the blue squares) in both plots. The fact that they aren't even close demonstrates, without a doubt, that CO2 does not affect the temperature in the way the model claims.
The fact that I used a different calibration point than the UCAR model (see next section) really has no effect. The shape of the computed temperature curve should still be the same - but with an offset in the vertical direction.
The Temperature vs CO2 plot could be interpreted to show that above 370 ppm, increased CO2 either has no effect, or might actually cause the temperature to decrease. However, I want another 20 years of data before claiming something that radical ... but it is what their data shows.
And this is the real problem - since the UCAR model starts in 1960, it shows a close correlation between the theory and the actual data. The complete lack of agreement is only visible when all the data is used! In my opinion, this would be cherry picking of the worst kind ... except that they did not bother to even show that much data on their plots. To be clear - their model tacks projected data on to historical data without showing any overlap between the historical and projected temperatures. (By overlap I mean showing both the historical and modeled data for the same time period on the same plot.) The graphs above show the overlap .. and lack of agreement.
(To be fair, if I had not found such a blatant discrepancy I probably would not have produced this page. I was analyzing the model so that I could use the base formula in another program. The plots were made just to test the accuracy of the model. I expected poor agreement - but nothing this dramatic.)
Notes
this._temperature = this._baselineTemperature + this._climateSensitivity * Math.LOG2E * Math.log(this._co2Concentration / this._baselineCO2Concentration); |
public class World extends Object |
this._climateSensitivity = 3; // 3°C per doubling CO2 public function set climateSensitivity(param1:Number) : void { this._climateSensitivity = param1; } private var _baselineTemperature:Number = 14.4008; private var _baselineCO2Concentration:Number = 369.41; |
GHCN Temperature Plotter
I found that the best fit uses a base year of 1975 (the UCAR model uses 2000, the spreadsheet uses 1800) and the doubling is actually about 1.8°C - significantly below Hansen's (presumed) value of 2.713°C/doubling and the UCAR model's default of 3°C/doubling.
In the UCAR model, the base year is not important since they do not show both the model results and the historical data for each year - they just tack the model results on to the end of the historical data. As a result, there is no way for anyone to make a judgment on the validity of their model. In my opinion, .. well, I don't think much of their model.
Seed Data
|
co2Emissions | Gt - "10" probably means "unknown" |
---|---|
co2Concentration | ppm (parts per million) |
temperature | °C |
Conclusions
The other interpretation is that the supplied historical data is wrong - very wrong.
Either way, after a failure of this magnitude, all UCAR interactive models must be considered suspect. Use caution.
Author: Robert Clemenzi