Repository with the code and data for all figures from Chapter 9 of the Sixth Assesment Report from the Intergovernmental Panel on Climate Change (IPCC AR6).
The code to plot each figure from Chapter 9 of IPCC AR6 is contained in the Plotting_code_and_data
directory.
Each figure has its own folder, named after its number in the report and a brief descriptor of the figure.
If code from this repository substantially aids your work, it can be cited using this Zenodo reference. The plotted data is also provided in this repo and in the CEDA archives, and these data sets for each figure should be cited using these Zenodo references [LINKS TO BE ADDED].
All of the individual figure directories contain a .png
, .pdf
and/or .eps
image of the final figure used in the IPCC AR6.
In addition, many of these directories have a
Plot_Figure
folder that contains the code and data used to create the figure,Plotted_Data
folder that contains the final plotted data in the NetCDF format required by the IPCC TSU,PNGs
folder where plotting code will output image files of each subpanel (not always.png
, could be.pdf
,.eps
etc.) The exact structure varies between figure folders due to the various authors that contributed to different figures in this chapter.
Note: the original code for several ocean figures require large data which cannot be uploaded to GitHub or shared easily, such as CMIP datasets. As a result, we have reproduced these plotting codes to read and use the IPCC/CEDA-formatted plotted datasets, with a caveat that maps use a different hatching technique. There are two routes if you wish to replot these data-intensive figures:
- Use the codes suffixes
_from_metadata.m
, which are the codes linked in the Table below. These plots are identical to the AR6 plots, except for low confidence hatching which is replaced by stippling (it was not trivial to get the hatching function used for the report to work with the masked data format of the saved data). - Download required data & run the original code. Download and collate the required datasets (for example from ESGF nodes), and use the original calculation and plotting codes for these particular figures. The metadata of CMIP datasets and other datasets used within the figures are provided in the Appendix for Chapter 9 of IPCC AR6, and in the supplementary material from the IPCC TSU. The directory structure of this data can be inferred from the code in the repository.
Figure (w/ link) | Code (w/ link) | Primary code author(s) | Brief description |
---|---|---|---|
Figure 9.1 | N/A | CLAs | Visual Plan of chapter (No quantitative information; not included here) |
Figure 9.2 | Matlab | Baylor Fox-Kemper | Overview of ocean & cryosphere system |
Figure 9.3 | Matlab timeseries and maps | Brodie Pearson | Sea surface temperature |
Figure 9.4 | Matlab | Brodie Pearson | Surface fluxes of freshwater, heat, and momentum |
Figure 9.5 | Matlab | Brodie Pearson | Mixed Layer Depths |
Figure 9.6 | Matlab timeseries and maps | Brodie Pearson | Ocean Heat Content |
Figure 9.7 | Matlab | Brodie Pearson | Zonal transects of ocean temperature |
Figure 9.8 | Matlab: maps (Obs/CMIP/RCP8.5), Python: AMOC scatterplot | Baylor Fox-Kemper | Ocean heat transport |
Figure 9.9 | Matlab | Alan Mix & Brodie Pearson | Paleo-, modern- and future-changes in ocean heat content and surface temperatures |
Figure 9.10 | Matlab: paleo & freshwater panels, Python: timeseries & resolution panels | Baylor Fox-Kemper, Laura Jackson & Matt Menary | AMOC as a function of time (paleo, historical, projected), resolution, and fresh water |
Figure 9.11 | Matlab maps of speed and streamfunction, and transports figure | Brodie Pearson & Baylor Fox-Kemper | Barotropic streamfunction, surface currents, and transports |
Figure 9.12 | Matlab maps of SSH & standard deviation of SSH | Brodie Pearson | Maps of ocean sea level rise and the standard deviation of sea surface height |
Figure (w/ link) | Code (w/ link) | Primary code author(s) | Brief description |
---|---|---|---|
Figure 9.13 | Python timeseries and maps | Dirk Notz & Jakob Doerr | Arctic sea-ice historical records and CMIP6 projections |
Figure 9.14 | Python | Jakob Doerr | Arctic sea-ice area as a function of temperature, CO2 emissions and time |
Figure 9.15 | Python timeseries and maps | Dirk Notz & Jakob Doerr | Antarctic sea-ice historical records and CMIP6 projections |
Figure 9.16 | Matlab: Antarctic summary & regions, and Greenland summary & regions | Baylor Fox-Kemper & Brodie Pearson | Observed timeseries of Antarctic & Greenland Mass Balance |
Figure 9.17 | Matlab maps and timeseries | Brodie Pearson & Baylor Fox-Kemper | Greenland Ice Sheet: synthesis of paleo-, modern- and future-changes |
Figure 9.18 | Matlab maps and timeseries | Brodie Pearson & Baylor Fox-Kemper | Antarctic Ice Sheet: synthesis of paleo-, modern- and future-changes |
Figure 9.19 | Python past maps and future maps | Nicolas Jourdain | Antarctic basal melt rates |
Figure 9.20 | Matlab | Lucas Ruiz | Glacier mass change rates |
Figure 9.21 | Matlab | Lucas Ruiz | Glacier mass relative to 2015 |
Figure 9.22 | Python | Gerhard Krinner | Permafrost area and changes |
Figure 9.23 | Python | Gerhard Krinner | Snow cover timeseries |
Figure 9.24 | Python climatology & sensitivity | Gerhard Krinner | Northern Hemisphere snow extent |
Figure (w/ link) | Code (w/ link) | Primary code author(s) | Brief description |
---|---|---|---|
Figure 9.25 | Matlab | Bob Kopp | Literature global mean sea level projections for 2050 and 2100 under different SSPs |
Figure 9.26 | Matlab timeseries and maps | Brodie Pearson | Projected sea level change contributions under SSP1-2.6 and SSP5-8.5 |
Figure 9.27 | Matlab | Bob Kopp | Projected global mean sea level rise under different SSP scenarios |
Figure 9.28 | Matlab | Brodie Pearson | Regional sea level change at 2100 for different SSP scenarios |
Figure 9.29 | R code | Greg Garner & Bob Kopp | Projected timing of sea-level rise milestones |
Figure 9.30 | Matlab | Bob Kopp, Baylor Fox-Kemper & Brodie Pearson | 2,000- and 10,000-year sea-level commitments as a function of peak global surface air temperature anomaly |
Figure 9.31 | Matlab map and timeseries (requires Mapping Toolbox) | Billy Sweet & Mark Hemer | Observed changes in tidal flood frequency and regional sea level |
Figure 9.32 | Matlab | Tim Hermans & Brodie Pearson | Median amplification factor of extreme still water level by 2050 and 2100 |
Figure (w/ link) | Code (w/ link) | Primary code author(s) | Brief description |
---|---|---|---|
Box 9.2 Figure | Not available yet | Thomas Froelicher | Marine Heatwaves |
Cross-chap. Box 9.1.1 | Python/Jupyter notebook | Matt Palmer | Global energy inverntory and global sea-level budget |
FAQ 9.1 Figure | Python | Sophie Berger | Can melting of the ice sheets be reversed? |
FAQ 9.2 Figure | Python | Sophie Berger | How much will sea level rise in the next few decades? |
FAQ 9.3 Figure | N/A | Sophie Berger | Gulf stream shutdown schematic (No quantitative information; not included here) |
Many of the figures in Chapter 9 use Matlab functions created by Brodie Pearson and Baylor Fox-Kemper. These functions include scripts to plot maps, manipulate CMIP datasets, and use IPCC color schemes. They are found in the Functions
directory in scripts with the naming convention IPCC_*.nc
. The Matlab plotting code within this repository is set up to use these functions automatically.
The Functions
directory also contains some Matlab scripts that are not distributed within Matlab's standard installation, but are available online through MathWorks.
Some of the code uses ESMValTool to perform certain pre-processing operations on CMIP ensembles and observational/reanalysis data. These operations include: re-gridding onto matching grids, extraction of specific time periods or regions, and temporal/spatial averaging. ESMValTool is a tool for processing and plotting CMIP data. In Chapter 9 ESMValTool was used to process some datasets, but it was not used to plot this data.
ESMValTool uses recipes and diagnostics which each perform a specific purpose. Recipes are used to extract and process the appropriate datasets from CMIP and other sources. Diagnostics are used to plot figures (or calculate diagnostics) using this extracted and processed data.
The ESMValTool recipes for Chapter 9 are contained within this directory. The recipes in this repository are designed to crash after processing the data, although you may need to create an empty diagnostic file with the name contained at the end of the recipe, so that ESMValTool thinks it will eventually plot the processed data.
After ESMValTool crashes, the processed data can be extracted from the appropriate pre-processor directory.
Note that you may need to turn off a flag (such as switching remove_preproc_dir
to false
) to save the processed data.
The ESMValTool recipe directory contains the following files. All were run using ESMValTool v2.0.0:
- A config file, which sets various configuration switches including the directories that ESMValTool looks for data sets from CMIP and other sources.
- A
Recipes
directory containing the ESMValTool recipes used to extract and process data for Chapter 9. - A
CMIP6_Lists
directory that contains terminal printouts of the list of available model datasets for a particular experiment and variable combination. Some models have multiple datasets (ensemble), in which case we used the first available dataset (which can be validated by looking at the recipes). This list contains information about the latest version release of each of these model datasets at the time the Chapter 9 figures were created. - A
Create_CMIP6_lists.sh
script that was the basis for producing the printouts in theCMIP6_Lists
directory.