Tuesday I took up reconsidering the simplest climate model. This time, I'm trying to get rid of the annoying bit of having to know the planet's albedo (reflectivity) in order to find its temperature. Instead, to have some fundamental relationship between temperature and albedo, so that everything in the model is either a fundamental constant (the Stefan-Boltzmann constant), or a fundamental principle (black body radiation, this new albedo-temperature relationship). No great surprise that some readers have already caught on to some of the issues I wanted to talk about.
One, which I'll continue to defer for now, is the fact Arthur mentioned that what this model works with is the earth's blackbody temperature -- its temperature as seen by how much energy it releases to space -- rather than surface temperature. Since we all live somewhere towards the surface, surface temperature is the more interesting number. What the difference between what the model can give us and what we're truly interested in does is to suggest that an important theoretical issue is to develop an understanding of how planetary blackbody temperature relates to surface temperature. Or (scarier) to see if it does relate in any consistent way. But heads up that such a discussion will be coming. Finding these issues, and seeing why they're important, is one of the purposes of the ultra simple models like this.
More issues were brought up by Nick Barnes, who also provides Python code for running your own version (see his first comment for that link). I hope you've spent some time with either the spreadsheet or Nick's Python (use a 2.7 set-up, per Nick's comment on Tuesday) or do so now, as you read this post, and some more as you decide whether and how it makes sense. The spreadsheet is in OpenOffice format (.ods) but I've opened that with MS Excel previously. If you can't, please let me know.
Now, in saying 'issues', I don't mean that there's any terrible comment being made. Rather, it is the truth that even very simple models like this one have some subtleties that you should explore before drawing your conclusions about nature. I'll take up the more physical side of interpretation next, but first let's take a look at some of the technical issues.
One thing is, the standard deviation in the model (which tells us how fast albedo changes with temperature) doesn't change what answer we head towards, at least not if 'rate' is a small number. Experiment with this, don't take my word. In terms of the modelled planetary temperature, then, what it tells us is important is not the detailed structure of the function of albedo versus temperature, but the value of albedo at the extremes.
Second, the first guess temperature does matter -- if it's below a certain number (255 K) we get the cold solution, and if it's above, we get the warm solution. There's an unfortunate coincidence in my choice of numbers in the original model. Namely, an albedo of 0.3 (the minimum albedo in the model) produces a temperature of 255 K. But 255 K is also chosen to be the temperature at which the minimum albedo occurs. Try changing the 255 (T0) to some other number, say 245. What number is important to this business of dividing solutions to the cold or warm side? Is it T0, or the temperature at minimum albedo, both, neither? [Seriously, do the experiment. One route is to leave the albedo alone, which I recommend, and then change T0. Then make an x-y plot of your results. More elaborate is to change both albedo and T0 and make a shaded or contour plot of your final solutions.] Typical business -- after starting with an experiment, we see that there is more to experiment on, even in a model as simple as this.
Third, 'rate', which Nick Barnes questioned my reasons for having used such a small value, is necessary partly because of numerical analysis. Namely, computers don't do math the way we're taught in elementary school and high school. For instance, A + 1.0 can equal A, which in algebra by pencil is impossible -- it would require 1 = 0. (Try it; no problem for A = 1 or 10, but let A = 10,000,000 or 10,000,000,000 and see what happens.) Related numerical analysis concerns are part of why he'll (and you will) see different solutions in Python on his computer than I will in a spreadsheet on mine.
Also try the experiment of changing 'rate' from 1 to things that are very tiny but not zero. I used 0.01 most of the time, but you should be able to go as small as 0.0001 and still get usable answers even in the spreadsheet. Plot the answer you get against the value of 'rate' you try. For now, I'll just note that these issues in solving implicit equations are well-known to people writing climate models.
A different point about these considerations. At some point in a modeller's history, they need to spend some time learning how many ways they can fail to get the right answer on a computer, for reasons other than programming error. One of mine was discovering that 100,000 + 1 did not equal 100,001 on a certain computer. On that one, it equalled something like -34,465. After that experience, I got much more skeptical/careful about computer arithmetic.