Estimating Cloud Feedback From Observations

Guest Post by Willis Eschenbach

I had an idea a couple days ago about how to estimate cloud feedback from observations, and it appears to have panned out well. You tell me.

Figure 1. Month-to-month change in 5° gridcell actual temperature ∆T, versus gridcell change in net cloud forcing ∆F. Curved green lines are for illustration only, to highlight how many of the datapoints fall outside those lines in each of the four quadrants. Results have been area-weighted, giving a slightly smaller slope (-1.7 W/m2 per degree) than initally reported (- 1.9 W/m2 per degree). Data colors indicate the location of the gridcell, with the Northern hemisphere starting with blue at the far north, slowly changing to yellow and to red at the equator. From there, purple is southern tropic, through pink to green for the farthest south latitudes. Updated.

Cloud feedback is what effect the changing clouds have if the earth warms. Will the clouds act to increase a warming, or to diminish it? The actual value of the cloud feedback is one of the big unknowns in our current understanding of the climate.

The climate models used by the IPCC all say that as the earth warms, the clouds will act to increase that warming. They all have a strong positive cloud feedback. My thunderstorm and cloud thermostat hypothesis, on the other hand, requires that the cloud feedback be strongly negative, that clouds act to decrease the warming.

My idea involved the use of what are called “gridded monthly climatologies”. A monthly climatology is a long-term month-by-month average of some climate variable of interest. “Gridded” means that the values are given for each, say, 5° latitude by 5° longitude gridbox on the surface of the planet.

My thought was to obtain the monthly actual temperature gridded climatology. This is the real temperature “T” as measured, not the anomaly. In addition, I would need the gridded net cloud forcing “F” from the ERBE (Earth Radiation Budget Experiment) data. Net cloud forcing is the balance of how much solar energy the clouds reflect away from the earth on the one hand, and on the other, how much the same clouds increase the “greenhouse” downwelling longwave radiation (DLR). Net cloud forcing varies depending on the type, thickness, altitude, droplet size, and color of a given cloud. Both positive and negative cloud forcing are common. By convention, positive net cloud forcing (e.g. winter night-time cloud) is warming, while a negative net cloud forcing (e.g. thick afternoon cumulus) is cooling.

Remembering that a cloud feedback is a change in net forcing in reference to a change in temperature, I took the month to month differences of each of the two climatologies . I did this in a circular fashion, each month minus the previous month, starting from February minus January, around to January minus December. That gave me the change in temperature (∆T) and the change in forcing (∆F) for each of the twelve months.

The ERBE satellite only covers between the Arctic and Antarctic circles, the poles aren’t covered. So I trimmed the polar regions from the HadCRUT absolute temperature to match. Then, the HadCRUT3 absolute temperature data are on a 5° grid size, while the ERBE satellite data is on a 2.5° grid. Since the grid midpoints coincided, I was able to use simple averaging to “downsample” the satellite cloud forcing data to correspond with the larger temperature gridcell size.

The results of the investigation are shown in Figure 1. The globally averaged cloud feedback is on the order of -1.9 watts per square metre for every one degree of monthly warming.

This result, if confirmed, strongly supports my hypothesis that the clouds act as a very powerful brake on any warming. At typical Earth surface temperatures, the Stefan-Boltzmann equation gives about five watts per square metre (W/m2) of additional radiation  per degree. That is to say, to warm the surface by 1°C, the amount of incoming energy has to increase by about 5 W/m2. This, of course, means that if there were no feedbacks, a doubling of CO2 (+3.7 watts per square metre per the IPCC) would only cause about 3.7/5 or about three-quarters of a degree of warming. The models jack this three-quarters of a degree up to three degrees of warming by, among things, their large positive cloud feedback.

But this analysis says that the cloud feedback is strongly negative, not positive at all. As a result, a doubling of CO2 could easily cause less than eight-tenths of a degree of warming. If the cloud negative feedback is actually -1.9 W/m2 per degree as shown above, and it were the only feedback, a doubling of CO2 would only cause half a degree of warming …

If confirmed, I think that this is a significant result, so I put it up here for people to check my math and my logic. I’ve fooled myself with simple mistakes before …

Code for the procedures and data is appended below.

All the best,

w.

PS – please, no claims that the “greenhouse effect” is a myth or that DLR doesn’t exist or that DLR can’t transfer energy to the ocean. I’m beyond that, whether you are or not, and more to the point, there are plenty of other places to have that debate. This is a scientific thread with a specific subject, and if necessary I may snip such claims (and responses) to avoid thread drift. If so, I will indicate such excisions.

NOTE: The slope of the trend line in Figure 1 is now properly area-adjusted, making the following section andFigure 2 superfluous. .[UPDATE] I’ve gone back and forth about whether to area-average. The problem is that the gridcells are not the same size everywhere. The usual way to area-average is to multiply the data by the cosine of the mid latitude, so I have done that.

Figure 2 shows the area-adjusted version. Still a significant negative feedback from clouds, but smaller than in the non-adjusted version.

FIGURE 2 REMOVED

Figure 2. Area adjusted cloud feedback. Note the lower estimate of the cloud feedback, a bit smaller than my initial estimate. Color of the dots indicates latitude, ranging from blue at the furthest north through cyan to the equator, then in the southern hemisphere through yellow to red at the furthest south.

Note that we still see the same form in the four quadrants. It is still rare for a large temperature drop to be associated with anything but a rise in the cloud forcing.

I’m still not completely happy with this method of area-adjusting, because it adjusts the data itself. But I think it’s better than no area-adjusting at all. The best way would be to convert both of the datasets to equal-area cells … but that’s a large undertaking and I think the final result won’t be much different from this one.

[UPDATE] Here’s the two hemispheres:

Figure 3. Northern Hemisphere Cloud Feedback. Color of the dots indicates latitude, ranging from blue at the furthest north through yellow in the subtropics, to red at the equator.

Figure 4. Southern Hemisphere Cloud Feedback. Color of the dots indicates latitude, ranging from green at the furthest south through pink in the subtropics, to purple at the equator.

[UPDATE] To better inform the discussion, I have made up the following maps of the variables of interest, month by month. These are the monthly absolute temperatures T, the monthly net cloud forcings F, and the month by month changes (deltas) of those variables, ∆T and ∆F.

Figure 5. Absolute temperature (T)

Figure 6. Net Cloud Forcing (F)

Figure 7. Change in absolute temperature (∆T)

Figure 8. Change in net cloud forcing (∆F)

APPENDIX: R code to read and process the data (not including the updated charts). I've tried to keep wordpress from munging the code, but it likes to either put in or not put in carriage returns.

===================================

# data is read into a three dimentional array [longitude, latitude, month]

diffannual=function(x){# returns month(t+1) minus month(t)

x[,,c(2:12,1)]-x

}

# rotates the circle of months by n

rotannual=function(x,n){

if (n!=0) {

if (n>=0){

x[,,c((n+1):12,1:n)]

} else {

x[,,c((13+n):12,1:(12+n))]

}

} else

x

}

#_averages_2.5°_gridcells_into_5°_gridcells,_for_[long,lat,mon]_array

downsample=function(x){

dx=dim(x)

if (length(dx)==3){

reply=array(NA,c(dx[1]/2,dx[2]/2,dx[3]))

for (i in 1:dx[3]){

reply[,,i]=downsample2d(x[,,i])

}

} else {

reply=downsample2d(x)

}

reply

}

# averages 2.5° gridcells into 5° gridcells for [long, lat] 2D array

downsample2d=function(x){

width=ncol(x)

height=nrow(x)

smallforcing=matrix(NA,height/2,width/2)

for (i in seq(1,height-1,2)){

for (j in seq(1,width-1,2)){

smallforcing[(i+1)/2,(j+1)/2]=mean(c(x[i,j],x[i+1,j],x[i,j+1],x[i+1,j+1]),na.rm=T)

}

}

as.matrix(smallforcing)

}

# EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE End Functions

# LLLLLLLLLLLLLLLLLLLLLLLLLL LOAD DATA ----- gets the files from the web

# HadCRUT absolute temperature data

absurl="http://www.cru.uea.ac.uk/cru/data/temperature/absolute.nc"

download.file(absurl,"HadCRUT absolute.nc")

absnc=open.ncdf("HadCRUT absolute.nc")

download.file("http://badc.nerc.ac.uk/browse/badc/CDs/erbe/erbedata/erbs/mean5jan/data.txt","albedojan.txt")

download.file("http://badc.nerc.ac.uk/browse/badc/CDs/erbe/erbedata/erbs/mean5feb/data.txt","albedofeb.txt")

download.file("http://badc.nerc.ac.uk/browse/badc/CDs/erbe/erbedata/erbs/mean5mar/data.txt","albedomar.txt")

download.file("http://badc.nerc.ac.uk/browse/badc/CDs/erbe/erbedata/erbs/mean5apr/data.txt","albedoapr.txt")

download.file("http://badc.nerc.ac.uk/browse/badc/CDs/erbe/erbedata/erbs/mean5may/data.txt","albedomay.txt")

download.file("http://badc.nerc.ac.uk/browse/badc/CDs/erbe/erbedata/erbs/mean5jun/data.txt","albedojun.txt")

download.file("http://badc.nerc.ac.uk/browse/badc/CDs/erbe/erbedata/erbs/mean5jul/data.txt","albedojul.txt")

download.file("http://badc.nerc.ac.uk/browse/badc/CDs/erbe/erbedata/erbs/mean5aug/data.txt","albedoaug.txt")

download.file("http://badc.nerc.ac.uk/browse/badc/CDs/erbe/erbedata/erbs/mean5sep/data.txt","albedosep.txt")

download.file("http://badc.nerc.ac.uk/browse/badc/CDs/erbe/erbedata/erbs/mean5oct/data.txt","albedooct.txt")

download.file("http://badc.nerc.ac.uk/browse/badc/CDs/erbe/erbedata/erbs/mean5nov/data.txt","albedonov.txt")

download.file("http://badc.nerc.ac.uk/browse/badc/CDs/erbe/erbedata/erbs/mean5dec/data.txt","albedodec.txt")

albnames=c("albedojan.txt","albedofeb.txt","albedomar.txt","albedoapr.txt","albedomay.txt","albedojun.txt","albedojul.txt","albedoaug.txt","albedosep.txt","albedooct.txt","albedonov.txt","albedodec.txt")

# read data into array

forcingblock=array(NA,c(52,144,12))

for (i in 1:12){

erbelist=read.fwf(albnames[i],skip=19,widths=rep(7,13))

erbelist[erbelist==999.99]=NA

erbeout=erbelist[,13][which((erbelist[,1]>-65) & (erbelist[,1]

length(erbeout)

forcingblock[,,i]=matrix(erbeout,52,144,byrow=T)

}

# DOWNSAMPLE FORCING DATA TO MATCH TEMPERATURE DATA,

# and swap lat and long to match HadCRUT data

smallforcing=aperm(downsample(forcingblock),c(2,1,3))

smallforcing[1:72,,]=smallforcing[c(37:72,1:36),,]# adjust start point

# GET ABSOLUTE DATA, TRIM POLAR REGIONS

absblock= get.var.ncdf(absnc,"tem")

smallabs=absblock[,6:31,]

#dim(absblock)

# GET MONTH-TO-MONTH DIFFERENCES

dabs=diffannual(smallabs)

dforcing=diffannual(smallforcing)

dim(dforcing)

#SAVE DATA

save(forcingblock,smallforcing,smallabs,dabs,dforcing,file="erbe_cloud_forcing.tab")

# make cosine weight array

cosarray=array(NA,c(72,26,12))

cosmatrix=matrix(rep(cos(seq(-62.5,62.5,by=5)*2*3.14159/360),72),72,26,byrow=T)

cosmatrix=cosmatrix/mean(cosmatrix[1,])

cosarray[,,1:12]=cosmatrix

cosarray[,,2]

# GET CORRELATION, SLOPE, AND INTERCEPT

#cor(dabs,dforcing,use="pairwise.complete.obs")

module=lm(dforcing~dabs)

m=module$coefficients[2]

b=module$coefficients[1]

#Plot Results

par(mgp=c(2,1,0))

plot(dforcing~dabs,pch=".",main="Cloud Feedback, 65°N to 65°S", col="deepskyblue3",xlab="∆ Temperature (°C)",ylab="∆ Cloud Forcing (W/m2)")

lines(c(m*(-20:15)+b)~c(-20:15),col="blue",lwd=2)

textcolor="lightgoldenrod4"

text(-20,-60,"N = 18,444",adj=c(0,0),col= textcolor)

text(-20,-70,paste("Slope =",round(m,1),"W/m2 per degree C of warming"),adj=c(0,0),col= textcolor)

text(-20,-80,paste("p = ","2E-16"),adj=c(0,0),col= textcolor)

0 0 votes
Article Rating

Discover more from Watts Up With That?

Subscribe to get the latest posts sent to your email.

178 Comments
Inline Feedbacks
View all comments
Admin
October 8, 2011 4:22 pm

The only thing that comes to mind is this from William Briggs:
http://wmbriggs.com/blog/?p=195
Now I’m going to tell you the great truth of time series analysis. Ready? Unless the data is measured with error, you never, ever, for no reason, under no threat, SMOOTH the series! And if for some bizarre reason you do smooth it, you absolutely on pain of death do NOT use the smoothed series as input for other analyses!
Gridded data might qualify for pre-smoothed, though I don’t know what processes were involved in making the gridded data. Best to rule out that this isn’t some artifact of data processing.

Mike
October 8, 2011 4:33 pm

may I ask what’s the correlation coefficient?
[REPLY: The correlation is -0.33. – w.]

October 8, 2011 4:39 pm

“Everything must be made as simple as possible. But not simpler.” ~Albert Einstein

Doug in Seattle
October 8, 2011 4:41 pm

Looks like a random line drawn through an amorphous cloud of points.
This is the same problem I have Dressler, Lindzen & Choi, and Spenser & Braswell. There might be something there, but it sure is well hidden, if it is there. At the end of the day I am less certain of any relationship after all the smoothing and statistical gymnastics to tease something of value from the cloud, than I am with just the scatter plot cloud.

davidmhoffer
October 8, 2011 4:53 pm

Willis,
An interesting analysis that makes sense. One nit. OK two nits.
“That is to say, to warm the surface by 1°C, the amount of incoming energy has to increase by about 5 W/m2. This, of course, means that if there were no feedbacks, a doubling of CO2 (+3.7 watts per square metre per the IPCC) would only cause about 3.7/5 or about three-quarters of a degree of warming.”
These numbers confused the day lights out of me because SB Law shows a bit over 5 watts/m2 to raise the average surface temperature (15 degC) by one degree, but the IPCC meme is that CO2 doubling = 3.71 watts/m2 = + 1 degree. I had to go back to AR3 to figure out how they came up with it. The answer is that they calculate +1 degree against the “effective black body temperature” of the earth, which is about -20 degC. Given SB Law is P=5.67*10^-8*T^4 with P in watts/m2 and T in degrees K, the math comes out correctly. 3.71 watts/m2 to go from -20 degC to -19 degC and a bit over 5 watts/m2 to go from plus 15 to plus 16. Or, as I prefer to put it, CO2 doubling = 3.71 watts/m2 = +1 degree as seen from space = ~ 0.6 degC “on average”. There being no such thing as “average” when it comes to surface temperature, the change at -40 in winter at high latitudes is larger than 1 degree, and the change in temperature at +40 in the tropics is not only less than 1 degree its far less than the “average” of 0.6 too, more like 0.2. Of course that’s assuming that the 3.71 watt/m2 is uniform. I’ve never checked for myself, but logic suggests not.
The other nit is time constant. I haven’t really thought this through all the way. If the 5 time constants exceeds one month, then some of the cloud feedback shows up in the next month or perhaps the month after that…given that you’ve gone all the way around the calendar however doing a month over month analysis, I’d think the average for the year would be representative.

davidmhoffer
October 8, 2011 5:00 pm

should have said:
= ~ 0.6 degC “on average” at the surface.

MattN
October 8, 2011 5:02 pm

Don’t know what the r^2 is, but it looks like it sucks…

October 8, 2011 5:02 pm

Clouds reflect sunlight back into space. Whatever effect they have upon long-wave radiation is entirely secondary to the fact that they block the sun’s heat from reaching the surface of the planet. Here’s a simulation that shows the effect:
http://homeclimateanalysis.blogspot.com/2011/10/clouds-without-rain.html
So what am I missing here? Perhaps I have not read your earlier treatise closely enough. Kevan

October 8, 2011 5:07 pm

That’s why we invented mathematics, all right. Part of the problem that there are over eighteen thousand data points, so the underlying pattern is obscured. That doesn’t mean it’s not there, just that this particular visualization breaks down under the weight.
Perhaps a contour map of point density would help.

DocMartyn
October 8, 2011 5:09 pm

The ‘Ninja Claw Star’ plot you show is rather interesting, it looks like a bi-functional ‘cloud’.
I wonder if you could crop the central data points and then split the data points into two pairs; the very shallow (which your line describes) and an almost vertical one. Do the two sets of points suggest two types of clouds. .

R. de Haan
October 8, 2011 5:17 pm

[snip – way, way off topic – w.]

Ian H
October 8, 2011 5:32 pm

Try coloring datapoints belonging to gridcells >50% land a different color to those with >50% water. I suspect there may be at least two quite distinct patterns hiding in this mess. Clouds over land behave in a qualitatively different fashion from clouds over ocean.

Roh234
October 8, 2011 5:45 pm

Which program is the code?

ferd berple
October 8, 2011 6:03 pm

Steve at Climate Audit did some work on this recently, showing that monthly centering hides the true trend.
http://climateaudit.org/2011/09/28/monthly-centering-and-climate-sensitivity/
“In our recent discussion of Dessler v Spencer, UC raised monthly centering as an issue in respect to the regressions of TOA flux against temperature. Monthly centering is standard practice in this branch of climate science (e.g. Forster and Gregory 2006, Dessler 2010), where it is done without any commentary or justification. But such centering is not something that is lightly done in time series statistics. (Statisticians try to delay or avoid this sort of operation as much as possible.)
When you think about it, it’s not at all obvious that the data should be centered on each month. I agree with the direction that UC is pointing to – a proper statistical analysis should show the data and results without monthly centering to either verify that the operation of monthly centering doesn’t affect results or that its impact on results has a physical explanation (as opposed to being an artifact of the monthly centering operation.)”

Dishman
October 8, 2011 6:09 pm

I’ll echo Ian H above. Split the data set by land/water.
I think you’re on the right track, particularly regarding tropical thunderstorms.
I’ve got another piece to drop in later. That should happen in a couple months.

H.R.
October 8, 2011 6:26 pm

Willis Eschenbach says:
October 8, 2011 at 6:00 pm
“I’ve updated Figure 1 in the head post to highlight the differences in the four quadrants.”
That really helped a lot. Now you can see in the second and fourth quadrants how the data produces the slope. I agree with others above, it was hard to see in the first version you put up.
Thanks; good tweak.

Bill Illis
October 8, 2011 6:33 pm

This is an extremely important finding.
Nobody can really figure this out based on the data we have available. But I think Willis has done this in the appropriate way matching spatial changes.
The result is fully -2.9 watts/m2/K lower than the climate models have and would rewrite the theory if confirmed.
The total Feedbacks would then net out to -0.9 watts/m2/k versus the theory at +2.0 watts/m2/K.
Interesting that that this value is very close to what the missing energy is (given the calculations are that we are at +0.7K to date).
Trenberth even wrote a paper showing a mysterious negative “Radiative Feedback” for which there was no source. Maybe Willis found it. Note the -2.9 watts/m2/K differential is very close to Trenberth’s estimate.
http://img638.imageshack.us/img638/8098/trenberthnetradiation.jpg

davidmhoffer
October 8, 2011 6:34 pm

Easy for you to say … seriously, I need two things for that, a land/water mask, and 28 hours in a day …
KNMI lets you download monthly temps by land only and sea only for hadcrut. they also show a cloud cover for land only from CRU and a sea only from COADS. Would that help instead of building a land/sea mask?
On the 28 hours in a day, I can help there too, as I came across this problem some time ago. My solution was to begin also working nights.

1 2 3 8