The IPCC is being reviewed by the Interacademy Council (which represents dozens of national science academies). And they’re taking public comment. This might be a good chance to get some improvements. The comments form is at:

If you can’t think of anything, here’s what I wrote:

  • The IPCC needs to report more frequently. Interim reports, or even annual updates would be very useful.
  • More focus on possible tipping points. Especially estimates of sea-level rise from glacial melt, and estimates of non-linear responses to warming.
  • More transparency with the process – especially which representatives are making which changes to the finial release.
  • Stop being so conservative. Offer an your analysis, and be prepared to defend it when it gets attacked by the fossil fuel lobby and governments.
  • Work with science communicators. Create a lay-person’s version of the report.

There’s a pigeon nesting in the apple tree in my yard. The pigeon has already laid its eggs – two creamy pink ones. The apple tree hasn’t dropped it’s leaves yet – some are yellow, some are still green. It’s the 7th of July – the middle of winter.

Granted, both species are introduced, and the apple is some bastardised cross-breed grafted Frankenstein, each graft of which seems to bud, fruit and drop leaves at different times (which makes it very difficult to know when to prune it). But the image is pretty bizarre. I reckon the pigeon isn’t going to be happy when the rest of its cover is blown. Not that there are many predators in the suburbs.

Weird world.

This is in response to a discussion about population control and climate change on an e-list I’m on. In particular, it’s in response to a line by a mate, Jono:

it’s not the number of people that is important, but rather the power of the argument. Population control arguments need to be challenged wherever they occur, because they turn the climate movement into a war against human rights rather than for human rights.

Population control doesn’t have to infringe human rights. Some of the best ways of reducing the rate of population change are PRO-human rights: accessible education, equality in power relations between men and women, access to contraceptives, the aged pension.

Population is inseperable from environmental impact – if the population is low, but consumption per capita is very high, then you have a problem. If you have a really high population with small per-capita footprint, you still have a problem. At the moment, it’s obvious that the current global average per capita footprint is too high for the current population. The UN predicts 9 billion people by 2050, (150% of current population), which means that for us to have the same over all impact by then, we will need to have reduced our average percapita footprint to 2/3 of what it is now. To put this in perspective, current Australian GDP per capita is US$40-50,000, globally it’s about $10,000, so we’d have to reduce our footprints to about 15% of what it is now. That sounds doable, but that doesn’t take into account that we have to REDUCE our over-all impact, not keep it steady. (I realise I’m only talking about averages, but I think median figures would likely show even greater disparity).

There’s no reason why population control has to happen in the third world. It doesn’t matter where it happens. In fact, it’s probably better that it happens in the rich minority world, ’cause one less person here is heaps more impact reduction than the same person in the minority world. And that could potentially mean we have more room for refugees (not that population is the barrier now).

Ultimately, it’s about how you do it. Of course there’s plenty of fucked up ways to control populations. But the same can be said for any problem (Green Dictatorship, anyone?). We definitely shouldn’t be supporting any kind of punishment/penalties for people who feel the need to have more kids, but we should definitely encourage any positive measures that would help to slow down population rates, and oppose those that do the opposite (like Costello’s ” one for Mum, one for Dad, and one for the Country” – ugh… how would you feel to find out you were the one for the country?)

Seems to me that reducing populations and rates of change should definitely be a part of any broad climate campaign. We just have to make it abundantly clear how we mean to go about it – ethically and compassionately.

I’ve been starting to learn Octave, a maths programming language. Octave is similar to other packages that are often used to create nice graphs that you often see around the place, especially when it relates to climate change. This is a bit of a slap-dash tutorial on how to get some graphs happening with Octave. It probably assumes advanced high-school level maths.

If you wanna learn, I suggest you get QtOctave, which is damn nice, and in the Ubuntu repositories, and probably in most other distributions of linux (you can run Octave on windows – but if you really want to be this geeky, and are still on windows, you need to re-asses your values). QtOctave has a nice help-search function that lest you find most of what you need to know about functions, and installing it installs all the pre-requisites too, although depending on your distro, you might need some of the extra packages from octave-forge.

At the very bottom is an attachment with most of this code in it. I think most of this stuff will also work in Matlab, but you gotta pay for that…

Then read all of this excellent tutorial. That’s where I learned nearly everything for this tutorial, apart from the names of a few functions.

Crank out a graph!

Now you’re ready to go. Get yourself a copy of some temperature data to play with. I used NASA’s GISTEMP data. You can use any data you want, but I’ve attached a file that will do everything I’m talking about here, and includes octave-formatted GISTEMP data.

Ok, so assuming you’ve got your data in a matrix, you can then extract the relevant bits (Some of the variable names are different here to in the attachment, to save space):

% get the years from the first column
yr = GISTEMPdata(:,1);

(You did read that octave tutorial, right?)

% get the monthly averages
Temps =
% Average them, to get the yearly means (2 refers to the second dimension, ie. average rows, not columns)
AnnualTemps = mean (Temps, 2);

You can now hack out a simple graph:

plot(yr, AnnualTemps)


If you read tutorial, you’ll know how to adjust the axes, and add legends and titles, and all that jazz. I’m going to ignore that.

You’ll notice that the data range from -60 to 80. That’s because it’s a graph of temperature differences (anomalies) – which means that what matters isn’t the starting point, but rather, the relationships between the data. In this case, the -60 means -0.6DegC, and 80 means +0.8DegC (this is explained in the header of the GISTEMP file I linked to up top).

To change it to real values, to give it some human scale, we have to make the 1951-1980 average = 14DecC.

% Divide by 100, add 14, and subtract the average from the anomaly means
% 1951-1879 = 72, 1980 = 101
RealTemp = AnnualTemps / 100 + 14 - mean( mean( GISTEMPData(72:101,2:13) ) );


Cool, huh? Okay, let’s get a Trend line going.

Getting Trendy

So, basically, a trend line is a best-fit line. You can do this automatically with a couple of functions in Octave, but since we’re going for just a straight trend line at the moment, we can just use a fairly simple one: a first degree polynomial fit. (a first degree polynomial is a straight line at any angle, from any starting point).

Polynomials are those equations you did in high school maths, that looked like:

y = x2+3x+1.5

That one would give you a basic parabola, shifted down and to the left a bit (I think, I haven’t actually graphed it). High-degree polynomials (where x is raised to the power of 2 or more) aren’t particularly useful for finding trend lines – they can look pretty, but don’t really help much. But more on that later. Simple first order polynomials (straight lines) are a good way of getting an idea of an overall trend.

To get the equation for the line, we need to get all the values for the basic form of a first degree polynomial:

y = mx+b

to get m and b from the data, we can use the polyfit() function, with 1, for 1st degree:

EQ = polyfit ( yr , TempReal , 1 ) ;

which provides us with an array, like:

0.0061271   2.1103472

The first value is m, the second is b.  Now we apply y=mx+b:

TrendLine = EQ(1) .* yr + EQ(2)

Now you can graph the trenline, with the original data:

plot(yr, AnnualTemps, yr, TrendLine)


Looks ok to me. (I also note that even with the so-called “cooling since 1998/2000/2002/cherrypick”, 2008’s average temperature is almost 0.2DegC higher than the linear trend for the last 129 years..)

How Not To do Climate Stats

This is where the higher-degree polynomial equations come in. A high-degree polynomial can easily be made to fit a curve, but that doesn’t particularly mean anything, unless a high-degree polynomial cause can be hypothesised, that matches the trend. I don’t know of any that can.

All this was recently news, because the Australia published a piece of stupid masquerading as climate science.

Anyway, I want to show you how to do that same kind of stupid (albeit with 129 year data, not 30). You can try it with the last 30 if you like. Or with the last two. I don’t care, just don’t be surprised by the results, because they don’t mean anything.

So, we want a sixth-degree polynomial, that best fits the data we have. In other words, we want something like this:

y = rx6 + qx5 + px4 + ox3 + nx2 + mx + b

And we need to find r, q, p, o, n, m, and b. Again, we do it with polyfit(), this time with 6:

EQ = polyfit ( yr , TempReal , 6 ) ;
and we get something like:

1.3740e-16 -7.9135e-13 1.5165e-09 -9.6503e-07 -1.9859e-09 -2.5545e-12 -2.6291e-15

You might point out that these numbers are so small that they are ridiculous. To that, I’d reply: Good point.

Anyway, on with the stupidity, let’s whack those numbers into the above equation:

TempPoly6=EQ(1).*(yr.^6) + EQ(2).*(yr.^5) + EQ(3).*(yr.^4) + EQ(4).*(yr.^3) + EQ(5).*(yr.^2) + EQ(6).*(yr.^1) + EQ(7);

I hope that makes sense, it took me a while to get it.

Now we can graph it, along with the real data, and the linear trend line:

plot(yr, AnnualTemps, yr, TrendLine, yr, TempPoly6 );


Nice, huh? Now, any sane person would see without any stats education would see that an think: yep, that’s a pretty good match. Looks like a good fit to me.

But you already know it’s stupid, so you should be looking at it with even more critical eyes than usual. One of the best ways to be critical in a situation like this is to step back, and take a wide view. So let’s see how those trend lines look if we add another century on each end: 1700 to 2100.

to do this in Octave, you need to stretch the “years” component first, then just put it back into the same equations:

yr = [1700:2100]'

The ‘ is important, it makes the vector matrix vertical. Now you can just hit the up-key to access the same lines as before:

TrendLine = EQ(1) .* yr + EQ(2)

TempPoly6=EQ(1).*(yr.^6) + EQ(2).*(yr.^5) + EQ(3).*(yr.^4) + EQ(4).*(yr.^3) + EQ(5).*(yr.^2) + EQ(6).*(yr.^1) + EQ(7);

Then just run the last plot command again, (yr has changed length though, so go back to the GISSTEMPdata for the years for the original data:

plot(GISTEMPdata(:,1), AnnualTemps, yr, TrendLine, yr, TempPoly6 );


That’s right. By 2100, temperatures won’t be 2DegC warmer, nor 4… Nope, it’s gonna be 21 degrees centigrade – 7 degrees warmer. And the “medieval warm period”? Didn’t exist. Was actually an ice age.


I’m not a statistician, though I do hope to be doing stats at Uni this year. I’m reasonably sure this is all correct, though I haven’t used this kind of maths since high-school, more than half a decade ago. I learned what I now know in Octave in the last 2-3 days, so there might be better ways of doing this, I don’t know. I’d appreciate any corrections, if they’re needed, and feedback is always welcome.

I’d also appreciate any help on running a LOESS filter on the data. I don’t understand the maths except in the vaguest terms (moving polynomial average, or something?), but it seems like it applies a very useful smoothing, although it doesn’t provide any kind of future prediction the way a linear trend does (ie. in a very limited way).


gisstempdata.m – THIS IS A PLAIN TEXT FILE, NOT AN ODT. rename it to gisstempdata.m to use it in octave/matlab.

Until now, the technology hasn’t been available to obtain fine-scaled, precise measurements of CO2 in the atmosphere. But the launch next year of two carbon-detecting satellites, NASA’s Orbiting Carbon Observatory and the Japanese Greenhouse Gases Observing Satellite, should soon help to fill in this knowledge gap, which is critical to establishing a reliable carbon accounting system. – Amanda Leigh Mascarelli

There’s more info on the NASA project at, and on the Japanese project at

It amazes me that this isn’t getting more attention already. It’s going to mean a massive increase in our ability to account for carbon and other greenhouse gas emissions and uptakes. Seems to me that these projects should be WAY more exciting than the Large Hadron Collider, for example, since they will so directly effect the science around one of the most important and controversial issues of this… century? millenium?

It also strikes me that images extrapolated from the data could be strikingly beautiful – in a similar way to the “earth by night” photos. Obviously carbon concentrations won’t be so strictly confined as light sources, and the images will obviously be false colour (since CO2 is invisible). But other effects, like those of coriolis winds and ocean and forest carbon sinks would be great to see in action, especially with changes over the seasons.


Leigh, A. et al. (2008, December 18). What we’ve learned in 2008. Nature Reports Climate Change. Retrieved January 12, 2009, from


You argue that the major defining factor of population size is food limits. Australia (to give an example), currently has a birthrate less than 2 births per woman. We have an overall annual immigration, so our population is growing, but if we had no immigration, our population would be decreasing. Australia is a fairly affluent country: plenty of food, people are educated, well supported with social services, and generally feel secure. They don’t need the added security of a large family (I don’t claim that this is causal, but believe it may have some impact). This seems proof that it is at least possible to disconnect population growth from food supply (and then be able to decrease food supply due to decreased demand). You answered this in response to Q&A 122: “the country has traversed the “demographic trap” and gotten through the growth phase of the population dynamics”.

Obviously, as you have pointed out, there’s plenty of food in the world, and if it were (able to be) shared out equitably, then no-one would starve. This being so, wouldn’t the best course of action be, after figuring out the relevant system dynamics, to attempt to give those in the highest population growth areas the same security we in the affluent, and low-population growth, minority world have? This might include immediate food aid for a period or, preferably, some kind of “food asylum”, which might lead to an immediate population spike, but a combined approach of social support services and education, seems like a population growth control method that is more than equitable, just might work, and doesn’t seem like a “sci-fi fantasy”, as you label other birth control schemes.

As an aside, what do you think of permaculture? Seems like a way of at least starting to break the food lockup, and something that doesn’t rely on some kind of fascist revolution.

(This was originally posted on the guestbook)

I just finished reading Daniel Quinn’s Ishmael for the second time (I previously downloaded the audio-book, which was amazing, but I think the book is slightly better). If you haven’t read it, read it. I’d say it’d be life-changing for anyone wants to do something about the state of the environment but don’t know where to start. For the ones how have already started, it’s perhaps even more recommended. That said, the rest of this post won’t make sense unless you already have read the book.

Ishmael answers a lot of questions for me – primarily the one that goes “if this isn’t the right way, then what is?”. But of course the answer isn’t final, it isn’t an end point, it’s just an opening. It’s another method of looking at things, and realising how much could change. Which basically means that it brings up more questions than it answers. (more…)

Next Page »