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
Paul Westhaver
October 8, 2011 6:37 pm

With 18,000 data points, it looks as if any dependent variable is perpendicular to this data set.
I see absolutely no correlation. If there is a relationship in there, it is hiding pretty good.
What the heck is cloud forcing? I understand the units W/m^2… but not the variable.

Paul Westhaver
October 8, 2011 6:40 pm

Look at the “outliers”.
100W/m^2 with NO TEMP change… I’d like to explain that!… How can you have -100 W/m^2 and no temp change?

Dave Springer
October 8, 2011 6:41 pm

R^2 = 0.11 means there’s no significant pattern.
In other words nothing to see here. Move along now.

Philip Bradley
October 8, 2011 6:43 pm

Maybe I am missing something here, but I have difficulty seeing how a month on month temperature change can cause a month on month change in cloud forcing.
I’d expect the cloud forcing to be a direct function of temperature. Warmer = more clouds = increase in the cloud forcing. What matters is the temperature, not whether the temperature has increased/decreased.
So I’d expect to see a similar (or larger) effect if cloud forcing were plotted against monthly temperature.

kim
October 8, 2011 6:57 pm

I’m so old I remember being mocked at Climate Audit when I suggested that we knew neither the magnitude nor the sign of the water vapor feedback.
===============

Doug in Seattle
October 8, 2011 7:01 pm

Playing the math card, eh Willis?
BTW, the updated figure is much better.

davidmhoffer
October 8, 2011 7:23 pm

Willisl
Anomalies only, not absolute temperatures, AFAIK. Also no data on the net cloud forcing, just albedo>>>
Select monthly observations, there are several sections under “Land”. The last one (just before the Tmin and Tmax data sets) is CRU Land TS 3.1 1901 to 2009 in absolute temps. I thought there was an equivelant for SST, but I was wrong. There is however MOHMAT which has marine air temps from 1856 to 2007 in absolute temps. The need to correlate to net forcing slipped my mind, sorry. They do have Tmin and Tmax however…would it be of value to correlate cloud cover to those? I’d think that Tmax in particular would lead increase in cloud cover (tropics in particular) but one the cloud cover reached a certain point, Tmax increases would start dropping off? Would be better still to do that same cut at the data but break it up by night versus day.

ferd berple
October 8, 2011 7:27 pm
edbarbar
October 8, 2011 7:27 pm

Not that I believe much in models, but couldn’t you model an earth with clouds of different kinds, in 100% fashion with some of the IPCC assumptions? That is, a model of the earth with 100% “A” – “D” type clouds, to see what the effect is?
Yes, a lot of work, but in the end you would start to get a handle on how clouds effect earth. These could give you the areas to look at: which clouds are most important to temperature change. You could then run different cloud assumptions through the IPCC models of the earth, and see how these different cloud assumptions change earth’s temperature. If there are reasonable assumptions that lead to negative feedback, then it’s up to the modelers to prove their assumptions.

Chuck L
October 8, 2011 7:28 pm
Dave Springer
October 8, 2011 7:29 pm

@Willis
[SNIP – off topic. I don’t censor criticism. I censor off-topic posts, as I said I would. – w.]
Censoring criticism is not very scientific so if you don’t want an angry Marine dogging your ass about it for the foreseeable future I suggest you not resort to censoring your critics.

Maus
October 8, 2011 7:35 pm

Willis:
“I’m not sure how I could “rule out that this isn’t some artifact of data processing”, which was kinda why I’m putting it out here, for people to poke holes in it … ”
Seed your grids with noise and see what pops out the other end.
On Briggs: If you’re going to go about averaging things all about the place then you’ve two options. Use the currently accepted methodologies or justify the worth of your own bespoke methodology. If your take on being a data masseuse is the accepted practice of the Gridder Gang then roll with it. Your results are valid for the methodology, within the methodology, and that’s all that needs be said about it.
If you’re going bespoke then it’s your onus to tell us why your custom treatment is better than the one accepted by the field. Note well that it’s a mere trifle if the currently accepted methodology is known to be so gobsmackingly wrong as to claim that the sun rises daily by erupting from the Earth’s crust somewhere just south of Billings, Montana. It is largely political, but that’s science when you get statistics deeply involved and measurements are difficult to make. If you don’t know which your method is, or why and under what conditions it’s valid, then you need take a step back.
For example:
1. Why use a simple mean() rather than the average of the variance weighted by Euclidian distance? (I don’t know R, it may be doing that for all I can tell. In which case, why that?)
2. Why use month-to-month differences rather than a single static baseline. (Including seasonal differences in insolation as necessary.)
“I don’t know” is not a valid answer. “Trenberth/Mann does it,” is.
Apologies in advance if I come over harsh in this.

Steve Keohane
October 8, 2011 7:41 pm

Very cool if it holds up Willis. Not only does there appear to be negative feedback when it is warm, but positive feedback when it is cold.

Dr A Burns
October 8, 2011 7:42 pm

“The climate models used by the IPCC all say that as the earth warms, the clouds will act to increase that warming.”
Is this correct ? I was under the impression that the claim was that increasing CO2, increases humidity rather than cloud cover, which increases warming.

MattN
October 8, 2011 7:42 pm

I see R^2 value has been added to the chart now. .11 is not a good correlation at all…

R Barker
October 8, 2011 7:51 pm

Are there any issues with the polar regions or are the cloud effects there “settled”?

October 8, 2011 8:11 pm

If I understand what you are doing Willis. if you have a 2.5 grid of delta cloud forcing and a ( after downsampling) a 2.5 grid of delta T, you really might consider the fact tat your different data points might benefit from scaling due to spherical geom. or use an equal area dataset for both.
Not sure, but that might effect the spread of your data.. the information from a2.5 grid at the equator should have more weight than the same information from high or low lat? head scratching

mt
October 8, 2011 8:22 pm

Just to be certain, this result is a comparison of the HadCrut 1961-90 average monthly temperatures against the 1985-89 monthly average cloud forcing?

Jim D
October 8, 2011 8:33 pm

Looks like about 1% of the points are contributing to this correlation, so this may be a small area of the surface, and therefore the forcing should be divided by a corresponding amount. Can the correlation be applied as if it is global?

R. Craigen
October 8, 2011 8:36 pm

What? You mean this regression, or something like it, has NEVER been done before with the raw data? What the #$% have the tens of thousands of so-called “climate researchers” been doing with the tens of billions of dollars pouring into that industry? I have a hard time believing that such an obvious preliminary back-of-the-envelope calculation has not been done and does not form the default assumption about cloud feedback in the same way as radiative physics provides us with a default value for the expected warming effect of any change in CO2 concentration.
I’m glad you’re out there, Willis. But don’t you feel a bit like the child in The Emperor’s New Clothes — this really is a pretty simpleminded experiment, which one would think anyone would carry out before making assertions about cloud feedback.

October 8, 2011 8:40 pm

Elegantly done, with no obvious holes. I would like to suggest a different dot coloring scheme from the land/water one others above have suggested, and much easier to code. Can you color the dots by latitude, say from red at the equator to blue at the Arctic circle and green at the Antarctic circle? I expect this scheme to illuminate your tropical cloud thermostat theory, and could also contrast the mostly water southern temperate latitudes with the northern temperate latitudes that have a much larger proportion of land.

Philip Bradley
October 8, 2011 8:42 pm

Very cool if it holds up Willis. Not only does there appear to be negative feedback when it is warm, but positive feedback when it is cold.
Agreed. That would be a very significant discovery.
The Spencer post linked above, seems to show there are significant forcings internal to the climate system. And Spencer seems to think they operate via clouds. Something I’ve thought for a while because there is too much variability in the climate to be caused by the accepted forcings. This variability gets hand waved away as noise.
Which means clouds aren’t exclusively a feedback.