What is the simplest possible CGCM ('climate model' with 3D fluid dynamics)?
I don't want the best possible match to observed climate. Such a thing serves little purpose, as I explain briefly below. I would like to see the simplest useful climate model with full 3D primitive equation dynamics, moist physics and radiative transfer. Such a thing would be very informative.
At PyCon 2007 in Dallas, just as I was moving to Texas, I had the pleasure of being a party to a hallway conversation with one of the keynote speakers, Robert "r0ml" Lefkowitz, who had just given an amazing keynote about source code as communication medium.
Now I grew up exposed to several alphabets, (Roman in English, French, Czech and Hungarian variants, Hebrew in Hebrew and Yiddish variants, musical notation, numbers) and have always considered arrays of symbols and what each symbology could represent a point of deep fascination, so he was talking to me.
In the hallway, I ended up explaining how there would probably never be an Einstein of climate, the system being too messy and contingent to allow for blazing reorganizing insights. r0ml suggested that there might, nevertheless, be a Mozart of climate modeling. Appealing to my grandiosity is generally successful, and so I have been unable to entirely shake the idea since.
I doubt that I am Mozart, but I would like to pave the way for him or her. In short, I would like to create a climate model that you would like to read.
Climate models are not devices intended to explain the past trajectory of global mean temperature or predict its future. Climate models are efforts to unify all knowledge about the atmosphere/ocean/cryosphere system. The basic equations and boundary conditions are put in; elaborate circulations with many close resemblances to the actual circulation come out. While there are free parameters in the models, they are far fewer than the degrees of freedom in the resulting dynamics. The fidelity of the models thus represents a real and striking success.
However, the sensitivity of the models (the simple relationship between greenhouse forcing and temperature) has only a handful of degrees of freedom. The tuning of the models has been informal. It is conceivable that the models have been inadvertently tuned to cluster about the sensitivity that other arguments indicate, but that's not necessarily a bad thing. The sensitivity is very likely in the neighborhood of 2.5 - 3 C / doubling. Perhaps in the absence of other evidence the spread would have been a bit larger, but it's difficult to see how it could have been dramatically different. Surely, no amount of further modeling is likely to say anything different, and any pretense that obtaining the global greenhouse sensitivity is the purpose of the effort has always been an oversimplification which should long ago have been abandoned.
Most effort at present is involved in making models more complex. This is in response to the intense desire for a closed climate/carbon system, as well as to addreess other geochemical and ecological questions. It is my opinion that these efforts are ill-advised in the extreme; they will have very limited intellectual or predictive value because they are vastly underconstrained. What's more, they will add a vast range of tunable parameters. The new Earth System Modles stand a good chance of becoming what current GCMs are accused of being, i.e., models which can be tuned to yield any desired result.
Models serve many purposes, in research, training and public communication. The lack of a model that is easily understood, modified and run is increasingly unnecessary and inappropriate. Such a model would be dramatically simpler than existing codes, and possibly somewhat lower in simulated days per floating point operation. Developing it would be diametrically opposite to contemporary trends. In addition to opening the field to investigation by amateurs, it would resolve some important questions in the course of its development. Specifically, in seeking the simplest coupled GCM, one identifies which phenomena are actually important under present day circumstances.
We should also seek to create in this context a model which is applicable to other observable and imaginable planets, thereby facilitating investigations into the theory of geophysical fluid dynamics, and allowing for the widest possible range of algorithms.
Efforts to increase model fidelity by increasing resolution are compatible with the approach of radical simplification. In fact, investigation of specific phenomenology is compatible as well. The objective should be a model that is not only actually readable and actually read, but reliably modifiable and actually modified, testable and tested, validatable and validated.
Efforts like PRISM and ESMF are well-intended but fail to move in the right direction. Contemporary software development techniques must be imported from the private sector.
The resource base for this could be as small as twenty person-years, say five developers, a manager and one support staff over three years. I doubt it could be a hobby, though the first step could be a hobbyist effort: I'd like to see a clean, readable implementation of the MIT "cubed sphere" grid to kick things off.
I'd be happy if someone else took this on. If you want me involved it requires some close variant of Python. It also requires some support, by which I mean money. I am not the sort of coder who can write scientific code all day and volunteer scientific code all night. That all grumbled, you actually really need this thing.
Yesterday's SciPy talk on Cython was very encouraging, by the way. Alternatively I understand there are Python bindings to PETSc, (the NSF proposal stresses that approach) but that might not serve the purpose of maximum accessibility.