CMIP6 Explainer for Data Consumers

There’s a lot of terminology to know and a little bit of science to know before you can effectively use data from CMIP6. Not to worry, we’ll step you through it gently.

First, what's the broad overview?

The data you’re about to use is the direct output of a bunch of supercomputer simulations of the Earth and the climate, into the future. The simulations were done independently by labs all across the world using the best of what they knew about climate science at the time. The reason we can still gather the results of these indendent simulations together even though they’re from different labs is because they all agreed ahead of time on some standards for how to do things and, most importantly, how to record the results. That’s the core of what the Coupled Model Intercomparison Project (CMIP) is, actually: doing the science in a way that can be compared across models.

CMIP is on its sixth major iteration of running these simulations and is, in fact, still producing results as we speak. That’s why it’s called “CMIP6”. Each time the mega-project has an iteration, all the labs refine their methods and agree on new goals and methodologies to get even better results than the time before. One iteration of CMIP is typically many years long, so it’s not a small undertaking.

Most of the reporting you’ve seen over the last few years, in the news, is from CMIP5, actually. Like we mentioned before, CMIP6 is actually hot off the presses; you’re getting the very latest data there is and more data is arriving all the time.

CMIP data is the output of running a supercomputer simulation of the Earth

Each time a simulation is run, the scientists export the results in huge troves of files in a format called “netCDF”. This format is very specific to Earth science, is a binary format, and requires special tools and libraries to read. For a given simulation run, there might be several thousand of these files, all told, each one holding a different variable and a different time span. Thankfully, we’ve already done the work for you and stitched it together and converted it to simple tables in Snowflake, instead. For what it’s worth, we sourced the original data files from the Earth Systems Grid Federation (ESGF), which is the system of record for CMIP data.

Just like with weather forecasts, these climate forecasts are actually run over and over again, with slightly different initial conditions and slightly different random variations. Each run is called a “variant” and all the variants together are called an “ensemble”. It’s common (but ill-advised) practice to just take the first one of these variants and declare it “the forecast” that’s not actually the best idea in the world. We have averaged across several variants for you, instead, as a convenience. If you’re not doing actual climate science, that’s almost certainly “good enough”. Nonetheless, you should be aware of this subtlety because it is important. At the very least, you will frequently come across the terms “variant” and “ensemble” in the CMIP documentation and literature, so we’re just explaining that for you here so you’re not confused, even though you don’t have to worry about it because we have averaged all the variants away ahead of time.

We're actually only using a couple "activities" of CMIP6

There are lots of different work streams in CMIP, called, “MIPs” or “activities”. Most of those workstreams are actually not that applicable to anyone except climate scientists. For example, the Volcanic Forcings Model Intercomparison Project (VolMIP) is probably not something you need. Nor is the Flux-Anomaly-Forced Model Intercomparison Project (FAFMIP).

Most of what anyone outside actual climate science needs is from the Scenario Model Intercomparison Project (ScenarioMIP) and, perhaps, the High-Resolution Model Intercomparison Project (HighResMIP), so the ScenarioMIP and HighResMIP “activities” are the only two we sourced data from.

In short, you don’t really need to worry about what “activities” are, but we’re explaining it here, anyway, because they’re mentioned all over the actual CMIP documentation and can be very confusing if you don’t know what it means.

Ok, I get that. Now, what's an "experiment_id" for?

We’re finally at the really fun part.

“Experiments” are the results of running the computer models with different sets of assumptions. There are a boatload of different CMIP experiments but, as with the activities, there’s a relatively small subset that are relevant to what a non-climate-scientist would want to do. In our data collection, we focus on the “ssp” experiments and the “historical” experiments. More about those follows…

The “historical” experiments are easy to explain: the scientists run their models trying to simulate from “pre-industrial” time in the year 1850 all the way up to the year 2015. Why 2015? That’s when CMIP6 started, pretty much. They run this simulation with the goal of matching our actual, in real life, historical measurements as closely as they can. Contrary to what you might have assumed, these “historical” experiments ARE NOT data from actual measurements; they are simply the results of a simulation, just like the forward-looking “ssp” experiments are.

The “ssp” experiments are labeled with cryptic-looking names like “ssp585” and “ssp126”. Once you know how to read those names, though, you realize they actually contain a lot of information. But, first, you need some background. The first half of the ID, e.g. “ssp5” from “ssp585” stands for the Shared Socioeconomic Pathway it represents. The second half of the ID, e.g. “85” in “ssp585” stands for the Representative Concentration Pathway it represents. Very, very roughly speaking, in layman’s terms, the RCP means “how much CO2 is in the atmosphere (from us)” and the SSP means “how we, as a society, achieve those emissions.”

Representative Concentration Pathways (RCP) describe assumptions about CO2

There are seven different RCPs, though only four of them are very common to find in these simulations:

  • RCP 1.9 (uncommon): a "best case scenario" that's such a best case that it's actually fairly unrealistic and, hence, not simulated very often. Sadly, also represents the aspirational goal of the Paris Climate Agreement.
  • RCP 2.6 (common): a more realistic (but still very aggressive) "best case scenario" that's much more commonly found than RCP 1.9 in simulations.
  • RCP 3.4 (uncommon): really just here to be a middleground between 2.6 and 4.5.
  • RCP 4.5 (common): a realist's middle-of-the-road scenario. This is still very much a disaster (warming of 2-3 degrees C) but isn't quite a Mad Max Fury Road level disaster like the ones that come after it.
  • RCP 6.0 (uncommon): really just here to be a middle ground between the barely-managable disaster of 4.5 and the Hell Earth of 7.0 and 8.5.
  • RCP 7.0 (common): the most realistic "worst case scenario" where we basically just keep living like we're living, except we've retired a fair number of the worst coal plants and maybe some other low hanging fruit.
  • RCP 8.5 (common): what used to be considered the "worst case scenario" but, thankfully, is now starting to be considered unrealistic, mostly because we've done some work retiring coal plants (thank you, Sierra Club!). Just call it Hell Earth for short.

Shared Socioeconomic Pathways (SSP) describe assumptions about societal behavior

There are five different SSPs. With RCPs, a higher number pretty reliably means “worse” but, with SSPs, a higher number doesn’t necessarily mean “worse”.

  • SSP1, Sustainability: we all hold hands and do the right thing together at a sustainable pace while living in yurts.
  • SSP2, Middle of the road: we pretty much kind of lurch toward the right thing, incrementally, and at varying paces across countries.
  • SSP3, Regional rivalry: this is kind of the worst case scenario, where nationalism takes hold and everyone does the selfish, short term thing in isolation. Kind of a Mad Max Fury Road scenario.
  • SSP4, Inequality: the rich countries do the right thing, but the poor countries are screwed. Kind of the Hunger Games scenario.
  • SSP5, Fossil-Fueled Development: we all buy the fantasy that we can innovate and carbon capture our way out of this mess without giving up our fossil fuels. Global capitalism rules the day. Kind of the Minority Report scenario.

Putting RCP and SSP together tells us about different possible futures

Now, lastly, in CMIP6, you’re meant to cross one SSP with one RCP. As in, SSP 5 x RCP 8.5 = “ssp585” which means “we emit carbon like crazy, and the way we do it is in a Koch-Brothers-fueled laissez faire global capitalistic cabal secretly running everything in the shadows”, or something along those lines.

There are 5 x 7 = 35 different logical permutations of SSP crossed with RCP, but some of them very clearly would never happen in real life, like “SSP1 x RCP 8.5” and its inverse, “SSP5 x RCP 1.9”. So, CMIP has come up with four “tier 1” permutations that all modelling ScenarioMIP groups are supposed to output (last bulleted list, I promise):

  • SSP5 / RCP 8.5 (ssp585): this is so bad, it’s actually quite unrealistic, but is still a useful upper bound on badness.
  • SSP3 / RCP 7.0 (ssp370): the more realistic “we’re screwed” scenario that best approximates “business as usual” where we keep emitting the way we have with the economies and societies we have.
  • SSP2 / RCP 4.5 (ssp245): the more realistic “we get our act together, pretty much, but not quickly” scenario. This is still bad. But not Hell Earth like ssp585.
  • SSP1 / RCP 2.6 (ssp126): the barely-realistic, best case scenario, pretty much tracking to the now-seemingly-unachievable Paris Climate Agreement. This is the definite lower bound on badness.

That makes sense. Now, what's a "source_id"?

So, remember how we said that CMIP is a collaboration among a bunch of different labs across the world? And that each of those labs has their own computer model and runs simulations and reports the results independently? Well, those labs / models / simulations are identified with a “source_id”.

While there definitely are differences among the sources, for the most part, you’re probably not going to need to care about those differences unless you’re a climate scientist. To get a picture of “what’s the consensus on what will happen to the Earth” you can average across the sources or you can pick one source and stick with it. Either way is going to be “good enough” for non-science purposes. If you’re going to pick one source, we suggest you use “CESM2-WACCM” if you’re planning to do high-resolution, relatively local predictions and use “CanESM5” if you’re planning to do higher-level, continent-scale predictions (because it’s smaller and easier to deal with).

In case you suspect your use case will be sensitive to differences among models, here they are, summarized (ok, fine, I lied about there being no more bulleted lists):

  • AWI-CM-1-1-MR: from the Alfred Wegener Institute Climate Model, which tends to be in line with most other models in its predictions except that it predicts a more aggressive retreat of Arctic sea ice than the others tend to. Outputs at 100km nominal resolution (i.e. how big the 'squares' are on the Earth's surface).
  • BCC-CSM2-MR: from the Beijing Climate Center Climate System Model, which focuses especially on the East Asian regions and tends to be in line with other models except that it predicts the Arctic ocean north of Europe to be colder than average and the Antarctic ocean south of Chile to be hotter than average. It also predicts land areas in the Amazon and in India to be hotter than average. Outputs at 100km nominal resolution.
  • CAMS-CSM1-0: from the Chinese Academy of Meteorological Sciences, Beijing, which focuses especially on the East Asian regions and tends to have a lower "climate sensitivity" than other models, which roughly means it tends to predict a lower temperature rise for a given amount of CO2 emissions. Outputs at 100km nominal resolution.
  • CESM2: from the Community Earth System Model, which is an open source model that you, yourself, can (theoretically, at least) run on your own laptop or on a bunch of servers in AWS. Its predictions tend to fall in line with other models except that it has some differences in the nothern ocean around Nova Scotia and east of Greenland. Outputs at 100km nominal resolution.
  • CESM2-FV2: also the Community Earth System Model, except run at a lower resolution. Outputs at 250km nominal resolution.
  • CESM2-WACCM: also the Community Earth System Model, except run with a much more complicated atmospheric chemistry model. Outputs at 100km nominal resolution.
  • CanESM5: from the Canadian Earth System Model, which is a lower resolution (500km) than average and tends to predict higher "climate sensitivity" than other models, meaning, roughly, for a given amount of CO2 it predicts a larger increase in temperature. Outputs at 500km nominal resolution.
  • FIO-ESM-2-0: from the First Institute of Oceanography Earth System Model out of China, which tends to fall in line with other models nicely, other than a few minor warmer biases in the Saharah Desert and some high altitude areas in Tibet and the Rocky Mountains and a moderately-significant cold bias over Antarctica. Outputs at 100km nominal resolution.
  • INM-CM4-8: from the Institute of Numerical Mathematics of the Russian Academy of Sciences in Russia, which tracks ok to other models, but has some moderately-significant cold and warm biases in each of the Arctic and Antarctic regions. Outputs at 100km nominal resolution.
  • INM-CM5-0: from the same place as INM-CM4-8 but run with a higher resolution atmospheric model and, as a result, has a slightly less significant (but still noticable) cold/warm bias. Outputs at 100km nominal resolution.
  • MPI-ESM1-2-HR: from the Max Planck Institute Earth System Model in Germany, which tracks other models pretty well. Outputs at 100km nominal resolution.
  • MPI-ESM1-2-LR: Same as MPI-ESM1-2-HR, except outputs at a lower 250km nominal resolution so it's slightly easier to work with.
  • NorESM2-MM: from the Norwegian Earth System Model, which is, itself, a fork of the CESM2 model, but with a bunch of components replaced. It tends to track other models pretty well, though it shows a slightly lower "climate sensitivity" to CO2 and, hence, slightly cooler predicted temperatures. Outputs at 100km nominal resolution.

Now you’ve got “experiments” and “sources” nailed. There’s one last, big thing to know, which is how geographies work…

Ok, now how is this broken up across the globe, geographically?

See our geography explainer for more gory details, but, roughly speaking, these experiments chop the globe up into “squares” in fixed fractions of a degree. Thusfar, we’ve been referring to the resolution of models as “100km nominal resolution” or “500km nominal resolution”, etc. That’s good enough for knowing the resolution of one model vs another model, but you should make sure not to take the “100km” part too literally. Every “square” on Earth isn’t necessarily the same size and isn’t necessarily exactly 100km.

What these models do, in reality, is divide up the Earth in terms of fractions of degrees longitude and latitude. So, for example, a “100km nominal resolution” model might actually be more like a 1 degree latitude by 1 degree longitude resolution. If you have a globe handy, you might notice that a 1x1 degree grid actually gets smaller as it approaches the poles and larger as it approaches the equator, where the “squares” really do look kind of like squares at the equator, but the “squares” are actually basically triangles right up at the poles. That’s why we keep putting the word “square” in quotes; it’s not really a square.

In the raw data, all you get is the center point of these squares, expressed in lat/lon. We’ve helped you out in our translation of the data by giving you that same lat/lon, but also giving you a GIS-style polygon that exactly defines the shape of the “square” so that you don’t have to figure out the edges of the polygon yourself and so that you can use Snowflake’s built-in geographic functions to find things like overlap and intersections.

We’ve also helped you out by putting the total surface area of that square in the table right along side the data. This is important if you’re taking averages of temperatures across more than one “square”, for example, if you’re taking the average temperature across all of Europe and comparing it to the average temperature across all of Australia. As we noted before, every square is a slightly different size because the Earth is a sphere, so when you’re summing up and averaging across squares, you have to take a weighted average instead of a straight average, and you have to use the surface area of the square as the weighting.

Lastly, you should know that each variable represents an average across one entire “square”. So, for example, the “temp_f” values represent the average temperature across ~100 sq km of land across a given month. In places with relatively uniform microclimates, this averaging probably isn’t important. But in places that experience a lot of microclimate variability across 100 km, you might need to keep this in mind. For example, the cities of San Francisco and Sacramento would just about fit in the same 100km square, and in the peak of Summer they might experience as much as 30 degrees F difference in temperature, leading to an average that splits the difference and doesn’t really describe the actual human experience in either city very well.