First, we have to be clear what we mean by a climate model. Wikipedia offers a quick intro to types of climate model. For example:
- zero dimension models, essentially just a set of equations for the earth’s radiation balance
- 1-dimensional models – for example where you take latitude into account, as the angle of the sun’s rays matter)
- EMICS – earth-system models of intermediate complexity
- GCMs – General Circulation Models (a.k.a Global Climate Models), which model the atmosphere in four dimensions (3D+time), by dividing it into a grid of cubes, and solving the equations of fluid motion for each cube at each time step. While the core of a GCM is usually the atmosphere model, GCMs can be coupled to three dimensional ocean models, or run uncoupled, so that you can have A-GCMs (atmosphere only), and AO-GCMs (atmosphere and ocean). Ocean models are just called ocean models 🙂
- Earth System Models – Take a GCM, and couple it to models of other earth system processes: sea ice, land ice, atmospheric chemistry, the carbon cycle, human activities such as energy consumption and economics, and so on.
Current research tends to focus on Earth System Models, but for the last round of the IPCC assessment, AO-GCMs were used to generate most of the forecast runs. Here are the 23 AO-GCMs used in the IPCC AR4 assessment, with whatever info I could find about availability of each model :
- BCC-CM1 (Beijing Climate Center, China). The only mention of source code I can find is a link to an email address for the atmosphere model. I’ll fire off a message (Response: “it’s not ready for release yet”).
- BCCR-BCM 2.0 (Bjerknes Centre, Norway). I can’t find any info about the model in the BCCR website, but I did find a 2003 paper describing the development of the model.
- CCSM3 (NCAR, USA). Model source code is available for download, if you register.
- CGCM3 (Canadian Centre for Climate Modeling and Analysis, Canada). Source code not publicly available.
- CNRM-CM3 (Meteo-France). Not much information on the GCM, but the source code for the NEMO ocean model is available if you register.
- CSIRO-MK3.0 (Commonwealth Scientific and Industrial Research Organisation, Australia). Can’t find any info about the model at CSIRO’s website, apart from this report on the model development. [update: The MK3.0 isn’t publicly available, but a lower resolution version, the Mk3L is – see comments below]
- ECHAM5/MPI-OM (Max Planck Institute, Germany). The source code for the models is available if you sign the licence agreement.
- ECHO-G (University of Bonn, Germany and Korea Meteorological Administration, Korea). Here’s a technical report describing ECHO-G, but I can’t find much else.
- FGOALS-g1.0 (LASG/Institute of Atmospheric Physics, China). Not sure about availability, as most of the documentation is in Chinese.
- GFDL-CM2.x (GFDL, USA). Source code for AM2.1 (atmosphere only) is available if you register, as is the MOM ocean model.
- GISS-AOM, EH, and ER (NASA Goddard Institute for Space Studies, USA). Source code for various configurations of GISS-AOM is available. You can also browse the source code for the latest model, ModelE, either using the f90toHTML tool, or directly in its repository.
- INM-CM3.0 (Institute for Numerical Mathematics, Russia). Can’t find much about this model at all.
- IPSL-CM4 (Institut Pierre Simon Laplace, France). Here we hit the jackpot: open web access to the subversion repository and Trac database.
- MIROC3.2 (U Tokyo and JAMSTEC, Japan). I found documentation for MIROC, but not much else.
- MRI-CGCM2 (Meteorological Research Institute, Japan). No info about model availability.
- PCM (NCAR, USA). Unlike the CCSM above, the code for PCM doesn’t appear to be available.
- UKMO-HadCM3 and HadGEM1 (Met Office Hadley Centre, UK). Last, but definitely not least. The Met Office models are built from a shared code base, known as the Unified Model. Documentation is available, but the source code is only distributed to collaborators under a restricted licence.
Now, if you were paying attention, you’ll have noticed that that wasn’t 23 bullet points. Some labs contributed runs from more than one version of their model(s), so it does add up somehow.
Short summary: easiest source code to access: (1) IPSL (includes Trac access!), (2) CCSM and (3) ModelE.
Future work: take a look at the additional models that took part in the Coupled Model Inter-comparison Project (CMIP-3), and see if any of them are also available.
Update: RealClimate has started compiling a fuller list of available codes and datasets.
More on the CSIRO mk 3 model:
This CSIRO page explains that the Mk3 model has been handed over to the
Tasmanian Partnership for Advanced Computing. The link on that website is broken, but surfing the TPAC website, I came across a link to a form to request access to the model source here. In order to complete the request you need to be a member of the Australian Earth System Science Network (ARCNESS). It’s apparently free to join and open to anyone.
[Note: See more info in comment 6. The Mk3L is publicly available, but is different from the model used in IPCC AR4 – Steve]
Here’s a great page from Max Planck Institute’s Modelling and Data group that summarises the various model sources that they distribute. This includes the ECHAM and ECHO-G models.
Here’s another. The WRF is an atmosphere model used for both weather forecasting and climate research, developed at NCAR. It’s entirely public domain: http://www.mmm.ucar.edu/wrf/users/downloads.html
…and the code is used as a demo for the f90tohtml code browser: http://12characters.net/wrfbrowser/
Wonderful resource. I hope someone creates a simulation game – something everyone could play with…and it could connect to real data.
I want to update data and run my own simulators.
[The closest thing that I know of is the Java Climate Model, JCM. You can download and run it, and play with the settings. But it’s still tricky to use unless you already understand quite a bit about climate modeling. I’m hoping one of my students will design a simpler interface for it, aimed at kids and educators – Steve]
And another: The MITgcm source code is available from their CVS repository at http://mitgcm.org/source_code.html
Pingback: CRUde Hack, everybody loves a charade « Greenfyre’s
Pingback: Software Quality in Climate Research | Serendipity
Pingback: Do “Many eyes make all bugs shallow”? | Serendipity
Pingback: Climate Science and Software Quality | Serendipity
The publicly-available version of the CSIRO model is known as Mk3L (the “L” stands for “low-resolution”). This is a fast, portable, stripped-down version of the model, which I designed primarily for research into past climate change. It’s a great tool, but it’s not the same model which was used in the IPCC AR4 report.
For more information about Mk3L, feel free to check out the wiki:
Unfortunately, Mk3.0, which is the version used in AR4, is not publicly available.
Pingback: How long have we known? | Serendipity
Pingback: Do try this at home | Serendipity
Pingback: Tracking down the uncertainties in weather and climate prediction | Serendipity
Pingback: Who needs climate data? | Serendipity
Pingback: Open Questions about Open Source for Open Science | Serendipity
Hmmm Interesting list. Curious I think the Hadley Center Model is the one attacked by skeptics? I remember reading one of those “it’s all damn pernicious lies” sorts of blogs. They were going on and on about source code and “fudge factors” and it’s obvious they had never coded or run models or any such in their lives because else wise their “debunking” would have had a code walkthrough not pointing out a comment. I seldom answer those sorts of things because it is obvious they made up their minds already.
Anyway I wonder if this “Goggle Summer of Code” thing is going to actually code in Fortran? Because most/many climate models are written in FORTRAN mostly because it is a stable language that has been around for ages. I was debating seeing if anything could be done with MACSYMA/Maxima ( I was bizarrely involved with the Macsyma Consortium years ago) but no development is done in that and it is now kind of an elegant if ancient piece of code. I might send them an email although a hot young coder I am not, though there is an advantage to having known and worked with a computer language for 45 years and giggle I did learn FORTRAN when I was 14 from those IBM manuals where they struck through the letter “O” to distinguish from the numeral “0”.
The other question is I am wondering if anyone has beaten me to the punch and run a real climate model. One in which they had access to the code in which they could and have tweaked things around to see what happens. I know there are a lot of those “dedicate your spare cycles to this worthy cause but one has no access to the code and certainly isn’t let to tweak it.
I certainly feel I have enough background in Earth Sciences and Meteorology to know what I am doing and where things are going out on the edge. Lots of interesting questions with all of this. I would hope that someone has taken some high powered machine for gaming and used it to do climate modeling. I know there are languages like “Erlang” which is supposed to exploit running concurent code and all that stuff but I wonder how it is going to be around for.
Anyway thanks for your interesting pointers; Oh by the way if you send a letter to the guy who maintains the University of Victoria climate model he will send you an account name and password and you can download the model code. I have not got to playing with it on my Linux box that runs at a not too shabby 2.3 Gig but alas it is single core.
Thanks and Have Fun,
The UVic EMIC is also available:
A GCM specifically developed for students and very easy to get running:
Portable University Model of the Atmosphere (PUMA)
Includes the full source code.
Pingback: The CMIP5 Climate Experiments | Serendipity