Testing A Constructal Local weather Mannequin • Watts Up With That?

Guest Post by Willis Eschenbach


A simple constructal model of the operation of the climate system was created by Dr. Adrian Bejan and several others. It posits that the climate system can be modeled very accurately by considering the climate as a giant heat engine turning solar power into mechanical motion. Further, it says that following the constructal law, the heat engine constantly evolves to maximize the heat flow from the tropics to the poles. In this analysis, I examine the inner workings of the model, implement a couple of improvements, and test it against the CERES satellite dataset. Sorry, no spoilers.


The Constructal Law, formulated by Professor Adrian Bejan in 1996, is a fundamental principle in physics and engineering that describes the natural tendency of all flow systems, whether inanimate or animate, to evolve and organize in a way that maximizes the flow of matter, energy, or information. This law recognizes that patterns and structures in nature, such as river networks, tree branches, and biological organisms, emerge and evolve to enhance their efficiency in the movement of resources. The constructal law explains things like the endlessly meandering nature of rivers seen in the image above. My previous posts on the Constructal Law are here.

In essence, the Constructal Law states that the design and development of flow systems, whether the branching of blood vessels in the human body, the structure of transportation networks, or even the layout of technology and information networks, are governed by the imperative to reduce flow resistance and facilitate the transfer of resources.

The Constructal Law, as applied to climate, says that natural climate systems, such as atmospheric and oceanic circulation patterns, evolve and organize in a way that maximizes the efficiency of heat and energy flow on Earth. This principle emphasizes that climate systems, like other flow systems, tend to develop structures and patterns that reduce flow resistance and promote the transfer of heat and energy.

In a series of three papers, “Thermodynamic optimization of global circulation and climate“, ” Constructal theory of global circulation and climate“, and “Climate change, in the framework of the constructal law“, Adrian Bejan and his co-authors show that the climate can be modeled as a heat engine. Following the Constructal Law, this climate heat engine evolves to maximize its mechanical power output. The authors say:

“In conclusion, the maximization of the mechanical power output is equivalent to the maximization of the heat current from the hot region to the cold region.”

I got to re-reading the final of those three papers the other day, and I realized that I could set up their model on my computer. Let me start with an overview of their model.

Figure 1. The conceptual model.

The top part shows the warm (tropical) and cold (poleward) areas of the global climate heat engine. These areas are marked AH and AL. for “Area High” and “Area Low” temperatures. They each have a corresponding temperature TH (temperature high) and TL (temperature low).

The lower part of the diagram shows the various heat currents. The far left downward pointing arrow is heat from the sun to the hot zone. The next arrow, pointing up, is heat radiated from the hot zone to space.

Then we have the horizontal arrow “q”, the heat current from the hot zone to the cold zone.

Finally, in the cold zone on the right, we have a downward-pointing solar arrow showing heat from the sun to the cold zone, and an upward-pointing radiation arrow showing heat radiated to space.

In short, the hot zone gets heat from the sun. Some is radiated back to space. The rest, the flow “q”, is transported to the cold zone. There, the flow “q” gets radiated back to space along with the heat that the cold zone gets from the sun.

And most important, the Constructal Law says that the system will constantly reorganize itself to maximize the heat flow “q”.

Next, here’s the math of the model, from the third of the papers linked above. Recall from Figure 1 above that “x” is the area fraction, the fraction of the globe occupied by the hot zone.

Daunting … so let me translate for those who like math. For those who don’t, no worries—just skip down to where it says “THEIR MODEL RESULTS“.

And for the three folks still reading this section, ignore equation (26) for now. Next, in the above set of equations, rho (ρ) is the albedo, and gamma (γ) is the “greenhouse factor”, the fraction of upwelling surface longwave radiation that is absorbed by the atmosphere. And at steady-state, the left-hand side of equations 24 and 25 is zero—there is no change of temperature with time.

With those as prologue, the first equation (23) describes the hot zone. It says that the hot zone gets heat from the sun. Some is radiated back to space. The rest, the flow “q”, is transported to the cold zone. So “q” is equal to hot zone solar heat input minus hot zone radiation to space. In short, it’s just a mathematical description of the bottom left part of Figure 1 above. Simple

The second equation (24) describes the cold zone. It says the cold zone gets heat from the sun, plus the flow “q” from the hot zone, and radiates it all to space. So “q” is equal to the cold zone output to space minus the cold zone solar input. This equation is a mathematical description of the bottom right-hand part of Figure 1 above.

The third equation (25) says that the flow “q” is equal to some constant “C” times the 3/2 power of the difference in temperature between the hot and cold zones.

The final equation (27) specifies that “q” is maximized.

There are four unknowns in the equations—temperatures of the hot and cold zones “TH” and “TL“, the heat flow “q”, and the area fraction “x”. Now, my math-fu is not strong enough to solve those four equations to determine the four unknowns. And unfortunately, the authors of the paper didn’t include the solution. Grrrr.

However, I’m a determined fellow. After some reflection, I realized that I could use a double optimization process to get the answers.

I wanted to determine the value of x (the size of the hot zone) which gives the largest value for “q”, the heat flow from the hot zone to the cold zone. But I only had three equations with four unknowns.

So I divided the problem up by assuming that I knew what “x” was. Using that, I could then use an optimization program to give me the values of TH, TL, and q for any given value of x.

And with that, I could use a second optimization program to give me the value of x that maximized q, the heat flow from the hot zone to the cold zone. See the Appendix below for the R code.


Here is their report of the first of their calculations. Using their same numbers, I get the same results that they show below.

Using their values, I was able to reproduce their results very accurately.


However, there are a couple of issues with their values. First, as they note, their value for “x” puts the limits of the hot zone at about 57°N/S. But that’s not the case in the real world. Here’s the real-world data regarding the heat flow “q”.

Figure 2. How much heat is moved from the tropics to the poles (positive values), and how much heat is absorbed in the polar regions (negative values). The hot zone is the red to yellow part bordered by the black/white lines. The cold zone is shown in green to blue, outside the black/white lines.

You can see the similarity of this graphic with the model shown in Figure 1 above. However, in the real world, the hot zone fraction “x” is about 0.55 of the total surface. This corresponds with a hot zone extending to about 34°N/S. So that was the first problem—the hot zone extends to about 34°N/S, not 57°N/S.

The second problem is that their equation gives far too cold a result for the cold zone. They say it averages 258.4K, which is -14.75°C. But in the real world, the cold zone poleward of 57°N/S actually has an average temperature of about – 3°C, far from the minus 14°C they claim.


So of course, being the eternal tinkerer, I had to see whether I could improve their model. The first thing I noticed was that they are using the same albedo and the same greenhouse factor for both the cold and hot zones. But in the real world, both the albedo and the greenhouse factor are very different for the two areas. As a result, their model is giving inaccurate results

Using individual albedo and greenhouse factors for the two areas made the model far more accurate. But there was still a problem. The hot temperatures it calculated were too hot and the cold temperatures were too cold to match the real world. Looking at the equations, I realized that this inter-temperature distance is controlled by the constant “C” in Equation (25). This is the “conductance”, a measure of how much heat flow is generated by a given temperature difference between the hot and cold zones. The value they were using for “C” was far too small, which meant it required a much greater temperature difference to get the same flow, resulting in a hot zone that’s too hot and a cold zone that’s too cold.

Once the factor “C” was increased, the results looked very good.


With that model up and running on my computer, I figured that I could test whether in fact, the climate system actually does operate as a gigantic heat engine that is continually evolving to maximize the tropical-polar heat flow. Here was my plan.

The constructal model says that given the albedo and greenhouse factors, for each value of “x” (the area of the hot zone) there will be a preferred temperature for the hot and cold zones. Further, the model says that the average final temperatures will be the ones that maximize “q”, the heat flow from the hot zone to the cold zone. I realized we could test those claims using the CERES data.

For each year, the average top of atmosphere net radiation CERES data gives us the observed value of “x” in the constructal model. As mentioned above, x is the fraction of the globe that is exporting heat on average. The CERES data also gives us the information needed to calculate rho (ρ), which is the albedo, and gamma (γ) which is the “greenhouse factor”.

The model says that if we know the albedo ρ, the greenhouse factor γ, and the hot zone area x, given those physical constraints the resulting hot and cold temperatures will be the ones that maximize the heat flow “q” from the hot zone to the cold zone.

Here is the performance of the constructal model. Recall that it has only one tuned parameter, C, that regulates how easily the heat flows from the hot zone to the cold zone. I’ll get back in a bit to why I think their value for C (.181) is far too low. In the meantime, these are the actual (blue/cyan) and modeled (red/orange) temperatures for the hot and cold zones of the planet.

Figure 3. Modeled and actual temperatures of the world’s hot and cold zones

I found this result to be most encouraging. Those model temperatures are calculated based solely on maximizing the heat “q” flowing from the hot zone to the cold zone, subject to the physical constraints of the albedo and the greenhouse factor. And although the conductance C is tuned, all that tunes is the temperature difference between the hot and cold zones. It does not tune the temperatures themselves. There was no guarantee that tuning the conductance would match the absolute temperatures of the hot and cold zones … but in the event, the match is excellent. I would say that that is very convincing evidence that the constructal model accurately portrays how the climate flow system actually works.


But wait, as they say on TV, there’s more. Here are closeups of the actual and modeled variations in the yearly average temperatures of the hot and cold zones.

Figure 4. Modeled and actual annual average temperatures of the world’s hot and cold zones.

Not perfect, but not bad either. So not only does the constructal model give good long-term average temperatures. It also does a decent job of replicating the year-by-year variations in temperature.

And it’s doing all that using nothing more than the hot zone area “x”, the albedo “rho”, and the greenhouse factor “gamma” to calculate the temperatures that maximize “q”.

That’s very clear evidence that in the real world, various physical processes constantly evolve and act to increase the flow of heat from the tropics to the polar regions.


Further evidence that the model is an accurate representation of how the climate heat engine really works is visible in both the size and the stability of the area of the hot zone. The model calculates the average of x, the hot zone fraction of the surface, as being 0.564. The actual CERES 22-year average value for x is 0.556. That’s less than a hundredth difference. Once again, the model is accurate.

Regarding stability, remember that x, the hot zone area fraction, is calculated by the model as the hot zone area that maximizes the heat flow “q”. Bear in mind that the hot zone fraction could vary from ~0.1 to ~0.9. And there’s no reason to assume ex-ante that it would remain stable over time.

However, under the constructal model, since the underlying constraints (annual average albedo and greenhouse fraction) are relatively stable we’d expect the hot zone fraction “x” to be pretty stable as well. In any case, here’s the actual record of the CERES data for “x”, the hot area fraction, along with the constructal model output of the same variable.

Figure 5. The “x” fraction, the amount of the earth’s surface that makes up the hot zone.

Clearly, the model is doing an excellent job of representing the real world.

In Figure 5, as in Figs. 3 and 4 above, it’s important to remember that the output (e.g. the modeled x fraction in Fig. 5 above) is not calculated directly from the input. In Figure 5, for example, the x fraction shown in red is not directly calculated from the albedo and greenhouse fraction figures.

Instead, it is the result of a maximization procedure. The x fraction shown in red in Figure 5 is the value of x that, given the physical constraints of albedo and greenhouse fraction, gives the greatest flow “q” from the hot zone to the cold zone.


For temperatures, I’ve used the CERES surface upwelling longwave data converted using the Stefan-Boltzmann constant and monthly gridded emissivity values. I’ve checked the results and they are extremely similar to both the Berkeley Earth and the HadCRUT datasets. I use it because it is energy-balanced with the rest of the CERES energy flows.


I mentioned above that I’d explain why I think their value for “C”, the “conductance”, is too low. This conductance is a measure of how much heat flows between the two zones for some given temperature difference between the zones. In their model, they’ve modeled the heat transport via the atmosphere. And they’ve modeled the atmospheric heat transport as being driven by the buoyancy of the warmer, lighter tropical air.

And that is good as far as it goes. But it leaves out a couple of things. One is a main power source driving the Hadley cell circulation—the perennial line of thunderstorms along the inter-tropical convergence zone (ITCZ). These drive air vertically from the surface up to the upper troposphere, and occasionally even into the stratosphere. These thunderstorms turbocharge the Hadley cell circulation, allowing it to move much more heat polewards than if it were driven solely by the general tropical-extratropical temperature differences as the authors’ analysis assumes. Here’s a map of where the thunderstorms live.

Figure 6. The altitude of the cloud tops, day/night. High altitude cloud tops are the sign of the tropical thunderstorms driving deep tropical convection. The Inter-Tropical Convergence Zone (ITCZ), where the two atmospheric hemispheres converge, is marked by the band of thunderstorms around the world at 5°-10° north of the equator.

The second reason that I think their conductance value is too small is that a large amount of heat is physically moved polewards by the ocean currents. The Agulhas Current in the Indian Ocean and the Gulf Stream in the Atlantic Ocean are constantly transporting warm tropical waters polewards.

In the Pacific, the El Nino/La Nina pumping action periodically strips off the warm top layer of vast areas of the tropical Pacific Ocean and moves that warm water first eastwards and then towards both poles.

Because their model doesn’t include either thunderstorms or ocean currents, their estimate of the conductance is an order of magnitude too small.


This constructal model points out some interesting things about climate sensitivity.

First, sensitivity is a function of changes in rho (albedo) and gamma (greenhouse fraction). But not a direct function. It is the result of physical processes that maximize “q” given the constraints of rho and gamma.

Next, the sensitivity is slightly different depending on whether the changes in albedo and greenhouse fraction are occurring in the hot zone, the cold zone, or both.

Finally, assuming that there is a uniform pole-to-pole increase of 3.7 W/m2 in downwelling radiation from changes in either albedo or greenhouse fraction, the constructal model shows a temperature increase of ~1.1°C. (3.7 W/m2 is the amount of radiation increase predicted to occur from a doubling of CO2.)


The CERES data shows that the constructal model of the climate system is very consistent with real-world observations. This model views the climate system as a heat engine that, following the constructal law, constantly acts and evolves to maximize the flow of heat from the warm zone of the planet to the cold zone.

This simple three-equation constructal climate model, given only information about the earth’s hot zone area and the albedo and greenhouse fractions in the earth’s hot and cold zones, is able to calculate the absolute temperatures of the earth’s hot and cold zones to within a degree or so … a result that I found quite surprising.

Anyhow, that’s what I did with my weekend. And meanwhile, back in the real world, the past climate is being rewritten so fast that we literally don’t know what will happen yesterday …

Best to all,



Here is the R code for the optimization programs. Read the linked paper for the full description of their method.

First, the inner optimization program that calculates TH, TL, and q when given x.


















Next, the outer optimization program that calls the inner program.


control=list(fnscale = -1,reltol=1e-10),



Next, some support functions:

surfaream = 5.100656e+14 #earth surface area in sq. m.

qtoq= function(q) q*((5.67e-8)*392.8^4*surfaream)

tunscale=function(tscale) tscale*392.8

xtolat=function(x) degrees(asin(x))

And to get the final output:








Like this:

Like Loading…

Comments are closed.