Elevated from a WUWT comment by Dr. Robert G. Brown, Duke University
Frank K. says: You are spot on with your assessment of ECIMs/GCMs. Unfortunately, those who believe in their ability to predict future climate really don’t want to talk about the differential equations, numerical methods or initial/boundary conditions which comprise these codes. That’s where the real problems are…
Well, let’s be careful how you state this. Those who believe in their ability to predict future climate who aren’t in the business don’t want to talk about all of this, and those who aren’t expert in predictive modeling and statistics in general in the business would prefer in many cases not to have a detailed discussion of the difficulty of properly validating a predictive model — a process which basically never ends as new data comes in.
However, most of the GCMs and ECIMs are well, and reasonably publicly, documented. It’s just that unless you have a Ph.D. in (say) physics, a knowledge of general mathematics and statistics and computer science and numerical computing that would suffice to earn you at least masters degree in each of those subjects if acquired in the context of an academic program, plus substantial subspecialization knowledge in the general fields of computational fluid dynamics and climate science, you don’t know enough to intelligently comment on the code itself. You can only comment on it as a black box, or comment on one tiny fragment of the code, or physics, or initialization, or methods, or the ode solvers, or the dynamical engines, or the averaging, or the spatiotemporal resolution, or…
Look, I actually have a Ph.D in theoretical physics. I’ve completed something like six graduate level math classes (mostly as an undergraduate, but a couple as a physics grad student). I’ve taught (and written a textbook on) graduate level electrodynamics, which is basically a thinly disguised course in elliptical and hyperbolic PDEs. I’ve written a book on large scale cluster computing that people still use when setting up compute clusters, and have several gigabytes worth of code in my personal subversion tree and cannot keep count of how many languages I either know well or have written at least one program in dating back to code written on paper tape. I’ve co-founded two companies on advanced predictive modelling on the basis of code I’ve written and a process for doing indirect Bayesian inference across privacy or other data boundaries that was for a long time patent pending before trying to defend a method patent grew too expensive and cumbersome to continue; the second company is still extant and making substantial progress towards perhaps one day making me rich. I’ve did advanced importance-sampling Monte Carlo simulation as my primary research for around 15 years before quitting that as well. I’ve learned a fair bit of climate science. I basically lack a detailed knowledge and experience of only computational fluid dynamics in the list above (and understand the concepts there pretty well, but that isn’t the same thing as direct experience) and I still have a hard time working through e.g. the CAM 3.1 documentation, and an even harder time working through the open source code, partly because the code is terribly organized and poorly internally documented to the point where just getting it to build correctly requires dedication and a week or two of effort.
Oh, and did I mention that I’m also an experienced systems/network programmer and administrator? So I actually understand the underlying tools REQUIRED for it to build pretty well…
If I have a hard time getting to where I can — for example — simply build an openly published code base and run it on a personal multicore system to watch the whole thing actually run through to a conclusion, let alone start to reorganize the code, replace underlying components such as its absurd lat/long gridding on the surface of a sphere with rescalable symmetric tesselations to make the code adaptive, isolate the various contributing physics subsystems so that they can be easily modified or replaced without affecting other parts of the computation, and so on, you can bet that there aren’t but a handful of people worldwide who are going to be able to do this and willing to do this without a paycheck and substantial support. How does one get the paycheck, the support, the access to supercomputing-scale resources to enable the process? By writing grants (and having enough time to do the work, in an environment capable of providing the required support in exchange for indirect cost money at fixed rates, with the implicit support of the department you work for) and getting grant money to do so.
And who controls who, of the tiny handful of people broadly enough competent in the list above to have a good chance of being able to manage the whole project on the basis of their own directly implemented knowledge and skills AND who has the time and indirect support etc, gets funded? Who reviews the grants?
Why, the very people you would be competing with, who all have a number of vested interests in there being an emergency, because without an emergency the US government might fund two or even three distinct efforts to write a functioning climate model, but they’d never fund forty or fifty such efforts. It is in nobody’s best interests in this group to admit outsiders — all of those groups have grad students they need to place, jobs they need to have materialize for the ones that won’t continue in research, and themselves depend on not antagonizing their friends and colleagues. As AR5 directly remarks — of the 36 or so named components of CMIP5, there aren’t anything LIKE 36 independent models — the models, data, methods, code are all variants of a mere handful of “memetic” code lines, split off on precisely the basis of grad student X starting his or her own version of the code they used in school as part of newly funded program at a new school or institution.
IMO, solving the problem the GCMs are trying to solve is a grand challenge problem in computer science. It isn’t at all surprising that the solutions so far don’t work very well. It would rather be surprising if they did. We don’t even have the data needed to intelligently initialize the models we have got, and those models almost certainly have a completely inadequate spatiotemporal resolution on an insanely stupid, non-rescalable gridding of a sphere. So the programs literally cannot be made to run at a finer resolution without basically rewriting the whole thing, and any such rewrite would only make the problem at the poles worse — quadrature on a spherical surface using a rectilinear lat/long grid is long known to be enormously difficult and to give rise to artifacts and nearly uncontrollable error estimates.
But until the people doing “statistics” on the output of the GCMs come to their senses and stop treating each GCM as if it is an independent and identically distributed sample drawn from a distribution of perfectly written GCM codes plus unknown but unbiased internal errors — which is precisely what AR5 does, as is explicitly acknowledged in section 9.2 in precisely two paragraphs hidden neatly in the middle that more or less add up to “all of the `confidence’ given the estimates listed at the beginning of chapter 9 is basically human opinion bullshit, not something that can be backed up by any sort of axiomatically correct statistical analysis” — the public will be safely protected from any “dangerous” knowledge of the ongoing failure of the GCMs to actually predict or hindcast anything at all particularly accurately outside of the reference interval.
Anybody who knows anything about modeling complex, dynamic, multivariate, non-linear systems knows full well that John von Neumann was absolutely right when he said:
Give me four parameters, and I can fit an elephant. Give me five, and I can wiggle its trunk.
Reblogged this on gottadobetterthanthis and commented:
Qualified? Yes, Dr. RGB is supremely qualified. And as has been said, his science-fu is good.
Jos says: “An example is this paper by Pennell and Reichler [2011]…”
Thanks for the link.
Roy Spencer says: May 7, 2014 at 3:54 am
“I exchanged a few emails with mathematician Chris Essex recently who claimed (I hope I’m translating this correctly) that climate models are doomed to failure because you can’t use finite difference approximations in long-time scale integrations without destroying the underlying physics. Mass and energy don’t get conserved.”
GCMs generally don’t use finite difference methods for the key dynamics of horizontal pressure-velocity. They use spectral methods, for speed mainly, but the conservation issues are different. For other dynamics they use either finite difference or finite volume. If conservation was a problem they would use finite volume with a conservative formulation.
GCMs are not more vulnerable to conservation loss than standard CFD. And that has been a standard engineering tool for a long while now.
As I suggested (on CA, IIRC) on seeing an ensemble with a coloured envelope of ‘confidence’ some years ago, a more appropriate population for its derivation would be all model runs by all participants, not a cherry picked subset.
Thank you, Dr Brown.
The treatment of error derivation can be a handy litmus test of the quality of the paper – and of its authors.
Nick Stokes says: “So there is generally no attempt to make the models predict from, say, 2014 conditions. They couldn’t predict our current run of La Nina’s, because they were not given information that would allow them to do so. Attempting to do so will introduce artefacts. They have ENSO behavior…”
“ENSO behavior” is well-phrased. In other words, climate models create noise in the tropical Pacific but that noise has no relationship with actual ENSO processes, because climate models cannot simulate ENSO processes.
Thanks, rgbatduke, it was well-written and understandable.
And thanks, Anthony, for promoting the comment to a post.
Thank you Dr Brown,
Very much enjoyed and have learned much from this comment.
Many years ago I was employed in a newsroom automation project for the Chicago Tribune during the course of which I acquired and used extensively a distribution of RATFOR and assorted UNIX-like tools from U. of Arizona to run on a DEC PDP-10. “RATFOR”, for those who believe programming started with java, is RATional FORtran — see Software Tooks, Brian W. Kernighan and P. J. Plauger.
Anyway during the course of this project I attended a RATFOR conference and heard various presentations on new tools, proposed extensions to the RATFOR preprocessor and even some suggested extensions to FORTRAN itself. After one such talk a participant from one of the big research labs (either Lawrence Berkeley or Lawrence Livermore) got up and told the speaker something like (I’m paraphrasing here):
I don’t recall if it was ever mentioned what these huge subroutines were used for. Wouldn’t it be a cheerful thought if they used in reactor safety design?
You description of CGM code sounds a lot like those old FORTRAN subroutines: so large and complex and worked on by dozens of people over a decade or more that nobody really understands exactly what they do any more.
All I can say is it’s a good thing we don’t use vendor-proprietary, trade secret computer software to record election votes .. oh, wait we do now in Georgia.
Nick Stokes says:
May 7, 2014 at 5:18 am
Roy Spencer says: May 7, 2014 at 3:54 am
“I exchanged a few emails with mathematician Chris Essex
————————
Christoper Essex in full swing on climate models, great fun to watch.
By the way: “However, the Bray and von Storch survey also reveals that very few of these scientists trust climate models — which form the basis of claims that human activity could have a dangerous effect on the global climate. Fewer than 3 or 4 percent said they “strongly agree” that computer models produce reliable predictions of future temperatures, precipitation, or other weather events. More scientists rated climate models “very poor” than “very good” on a long list of important matters, including the ability to model temperatures, precipitation, sea level, and extreme weather events.” http://pjmedia.com/blog/bast-understanding-the-global-warming-delusion-pjm-exclusive/
That seems to be the scientific consensus about climate models.
christopher
If the hypothetical “parking machines” were as reliable as the climate models, you’d have 9,700 broken machines and 300 working ones.
The term “good enough for government work” seems apt.
I always appreciate Dr. Brown’s perspective. He writes in a way that laymen like me can understand, without being condescending.
Roy Spencer referred above to models being doomed, but the real reasons they are doomed has its foundation in incorrect understanding of physics. There is no understanding among climatologists that, wheras Pierrehumbert wrote about “convective equilibrium,” there can only be one state of equilibrium according to the Second Law of Thermodynamics, and that state is thermodynamic equilibrium. The two are the same.
Think about it, Dr Spencer in relation to your incorrect assumption of isothermal conditions which is also inherent in the models. Likewise the models incorrectly apply Kirchhoff’s Law of Radiation to thin atmospheric layers. The absorbed solar radiation in the troposphere does not have a Planck function distribution, so Kirchhoff’s Law is inapplicable.
Also, because the models completely overlook the fact that the state of thermodynamic equilibrium (that is the same as “convective equilibrium”) has no net energy flows, and is isentropic without unbalanced energy potentials (as physics tells us) then they don’t recognize the fact that the resultant thermal profile has a non zero gradient. Water vapor and other radiating gases like carbon dioxide do not make that gradient steeper, as we know. It is already too steep for comfort, and so fortunately we have water vapor to lower the gradient, thus reducing the surface temperature.
:
Bob Tisdale says: May 7, 2014 at 5:21 am
“In other words, climate models create noise in the tropical Pacific but that noise has no relationship with actual ENSO processes, because climate models cannot simulate ENSO processes.”
No, they get the dynamics right. They will oscillate in the right way. But they don’t match the Earth’s phases. Even with all the knowledge we can assemble, we can’t predict ENSO.
It’s like you can make a bell, with all the right sound quality. But you can’t predict when it will ring.
Dr. Robert Brown
This is a brilliant piece and complements a talk I heard by Dr Essex on the same issue. He argued like you, that to model energy transfer properly you need to solve Navier-Stokes equations, and this would require a cellular grid with a resolution of c. 1 cubic mm. He also added that due to numerical instabilities solutions tend to diverge rather than converge. Now I’m not pretending to be an expert on these issues, and I may even sound confused, but I appreciate the issues and why they are such fundamental problems for those who claim GCM are based on fundamental physics. But even if we assume this claim to be completely true, the implementation of those fundamental physics in code is far from perfect.
…run at a finer resolution without basically rewriting the whole thing…
This is news to me. I heard a talk where the speaker, and perhaps I picked her up wrong, suggested that they can run their models at higher voluminous resolutions but at the expense of temporal scale (shorter time periods) due to limits in computer power; so that if she were correct then your statement doesn’t hold. My experience in this type of modelling would suggest, that if you’re correct, they’ve made a serious design error.
Dr Essex’s talk:
Richard Drake says: May 7, 2014 at 5:01 am
“The current GCMs don’t have the ability to scale the grid size and that’s insane.”
It’s not insane. It’s a hard physical limitation. A Courant condition on the speed of sound. Basically, sound waves are how dynamic pressure is transmitted. Timestepping programs relate properties in a cell to the properties in that and neighboring cells in the previous timestep. If pressure can cross more than one cell in a timestep (at speed of sound), there is total instability. So contracting grid size means contracting timestep in proportion, which blows up computing times.
cd says: May 7, 2014 at 5:52 am
“He argued like you, that to model energy transfer properly you need to solve Navier-Stokes equations, and this would require a cellular grid with a resolution of c. 1 cubic mm.”
You could say exactly the same of computational fluid dynamics, or numerical weather forecasting. They all work.
My opinion:
This is the reason you have the ‘blackadderthe4th’-like trolls. All they can do is parrot their mind-numbing Richard Alley Facetube videos, which reinforce their beliefs. Get down to brass tacks, the hard reality of number-crunching, and their eyes just glaze over.
I have a strong Math background, Physics background, and Geology background, and can follow most discussions up to a point. Bottom line is, as Dr. Brown so eloquently states, numerical models are worthless, and any “policy” based upon them will ultimately fail.
A well-written examination of the cold, hard, facts, Dr. Brown!
Mark H.
Mods: any chance for cross-post at Jo?
With the terrestrial climate system we have a single run of unique physical instance which is way too large to fit into the lab, so no one can perform controlled experiments on it. However, it is a member of a wide class, that of irreproducible* quasi stationary non equilibrium thermodynamic systems, which do have members one could perform experiments on with as many experimental runs as one wishes.
Therefore we should abandon climate modelling for a while and construct computational models of experimental setups of this kind, which can be validated using standard lab procedures.
Trouble is, of course, there is no general theory available for said class, which makes the endeavor risky, but also interesting at the same time. By the way, it also shows how fatuous it is to venture into climate with no proper preparations.
* A thermodynamic system is irreproducible if microstates belonging to the same macrostate can evolve into different macrostates in a short time, which is certainly the case with chaotic systems. It makes the very definition of entropy difficult, let alone rate of entropy production. And that’s the (theoretical) challenge.
Nick
You could say exactly the same of computational fluid dynamics, or numerical weather forecasting. They all work.
Well they start diverging from observations straight away (as to be expected), eventually after a relatively short period of time the divergence is so great that they’re next to useless. In short the rate of divergence tells you how good they are. Short-term atmospheric models are good 1-2 days, after which the uncertainty increases dramatically, by day 5 they’re no better than a guess.
For those who think that despite CFD, NWP etc the Navier-Stokes equations are basically inso;uble, here is something to explain:
[youtube http://www.youtube.com/watch?v=DEhtx0atcFM%5D
So, correct me if I’m wrong, but since there are a number of us around here who have a number of these skills (sadly, the computational fluid dynamics experience that Dr. Brown is lacking I also lack, but like Dr. Brown I have the necessary physics to understand them in principle but just lack the experience), don’t we just need to take the (some) actual code as a (very poor) template, turn it into a true Open Source project, and all start biting off chunks of it to wrestle with and poperly organize it, document it, and start also to establish and qualify (document and error bound) initilization conditions, boundary conditions, etc.?
It could take a couple of years and probably two or three out of 30 or 40 who jump in will do the lion’s share of the work, but at the end of the day wouldn’t we have code, and wouldn’t it be interesting to know what it said?
I’m already imagining a very modular approach where we can test and validate code against known problems. For instance, the differential equations which describe dynamics in the atmosphere (and ocean, and between the atmosphere and ocean) are identical to the equations which describe well known and well studied dynamics on smaller scales – so validation of the fluid dynamics code could be independently and reproducibly verfied. And, in addition, so relevant to one of Dr. Brown’s main themes, its predictive abilities and absolute predictive error could be analyzed as a function of SCALING to real world problems in order to inform how scaling/rescaling calculations on the sphere impact error.
Anyways – just a thought…
Nick Stokes:
I don’t think you’ve understood what I was driving at – and what I took Robert Brown to be driving at. I fully understand the blowing up of compute times as grid size and thus timesteps are reduced. But as Moore’s Law continues to hold (or something close) one might well wish to reduce both in a new generation of models and model runs. Not to be able to do this – and do it easily – is, in Brown’s words, insanely stupid. That’s why I characterised it as a software architecture problem.
I’m open to correction on what Dr Brown meant but that’s I took from his words.