> Yes, Humlum et al use “DIFF12” to mean “the mean of a quantity for 12 months, minus the mean for the preceding 12 month period”. In the paper I sent you, you can see - at the bottom of Figure 2 - a graph of DIFF12 for sea surface temperatures, global air temperatures, and carbon dioxide concentration. It’s very interesting because the temperature DIFF12’s change before the carbon dioxide DIFF12’s do.

Sorry but this explanation is not enough for me:

"the mean of a quantity for 12 months, minus the mean for the preceding 12 month period" sounds to me as to get one value either for each year or for each measured value. Are the measured values equidistant in time? Like if I measure every month i a quantity "q_i" then this could be (leaving out the first and last year) something like

\$Diff12(q_i)=1/12*Sum_{j=0}^11 q_{i+j}-q_{i-j}\$

???

But on a first glance it doesnt look to me that the green curve in fig 1 (of the real climate article) produces a green curve as in fig 2. (of the real climate article) with such a formula....but then it is not clear wether the green curve in fig 2 of the real climate article is Diff12 of the co2 concentrations. They write:

> Fig. 2: Reproduction of the lower panel of Fig 2 in Humlum et al (2012). Also shown is a 'DIFF12' for the Keeling curve (light green). Some of the strongest El Ninos are shown with grey hatching.

what is the "lower panel" ? Are these the two temperatures? (in fig 1 red and blue??) if yes where is the argument about the co2?

Moreover I see in the images smooth curves, so is there some interpolation in between? I briefly looked into the paper, but I couldnt find a formula.
So I briefly looked at the r-code at http://www.realclimate.org/images//HSS2012.txt

which says for diff12:

~~~~
diff12 <- function(x,wfl=NULL) {
yymm <- attr(x,'yymm')
yy <- trunc(yymm)
mm <- round(12*(yymm-yy) + 0.5)
if (!is.null(wfl)) x <- filter(x,rep(1,wfl)/wfl)
years <- as.numeric(row.names(table(yy)))
fullyr <- as.numeric(table(yy))
#print(years)
years <- years[is.element(fullyr,12)]
complete <- is.element(yy,years)
mm <- mm[complete]
yy <- yy[complete]
x <- x[complete]
#print(table(mm))
#print(years)
#print(fullyr)
n <- length(years)-1
diff12 <- matrix(rep(NA,n*12),12,n)
for (m in 1:12) {
ii <- is.element(mm, m)
#print(c(m,length(ii),sum(ii),length(diff12[m,]),length(diff(x[ii]))))
diff12[m,] <- diff(x[ii])
}
diff12 <- c(diff12)
attr(diff12,'yymm') <- yy[-(1:12)] + (mm[-(1:12)]-0.5)/12
invisible(diff12)
}
~~~~

so there is some rounding going on, but I don't understand the r-code syntax and and I do not understand all the variables, like what is NA?:

~~~~
# Remove entries not yet filled in - set to NA.
remove.sst <- (sst == 0) & (attr(sst,'yymm') >2000)
sst[remove.sst] <- NA
remove.t2m <- (t2m == 0) & (attr(t2m,'yymm') >2000)
t2m[remove.t2m] <- NA
~~~~

As said I don't understand the r-code syntax and I currently don't feel like learning it. If you understand what it does and whats going on here then please let everybody know.

> But the RealClimate article explains what is going on.

Sorry but as said I have also problems to understand the real climate article.

Did you see that there is a project page on that issue? You may eventually explain there your findings.

Sorry I have no idea why the comment is invalid XML.