Home

Awesome

DOI

IPCC AR6 Chapter 9 Figures

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).

How to use this repository

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

  1. Plot_Figure folder that contains the code and data used to create the figure,
  2. Plotted_Data folder that contains the final plotted data in the NetCDF format required by the IPCC TSU,
  3. 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.

Most of the plotting codes can plot the IPCC AR6 figures using the data already in this repository.

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:

  1. 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).
  2. 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.

List of ocean figures in Chapter 9

Figure (w/ link)Code (w/ link)Primary code author(s)Brief description
Figure 9.1N/ACLAsVisual Plan of chapter (No quantitative information; not included here)
Figure 9.2 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_02_Overview/Fig9_02_Overview.png" width="100">MatlabBaylor Fox-KemperOverview of ocean & cryosphere system
Figure 9.3 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_03_SST/Fig9_03_SST.png" width="100">Matlab timeseries and mapsBrodie PearsonSea surface temperature
Figure 9.4 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_04_fluxes/Fig9_04_fluxes.png" width="100">MatlabBrodie PearsonSurface fluxes of freshwater, heat, and momentum
Figure 9.5 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_05_MLD/Fig9_05_MLD.png" width="100">MatlabBrodie PearsonMixed Layer Depths
Figure 9.6 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_06_OHC/Fig9_06_OHC.png" width="100">Matlab timeseries and mapsBrodie PearsonOcean Heat Content
Figure 9.7 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_07_zonal_temp_transects/Fig9_07_zonal_temp_transects.png" width="100">MatlabBrodie PearsonZonal transects of ocean temperature
Figure 9.8 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_08_OHT/Fig9_08_OHT.png" width="100">Matlab: maps (Obs/CMIP/RCP8.5), Python: AMOC scatterplotBaylor Fox-KemperOcean heat transport
Figure 9.9 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_09_OHCvsSST/Fig9_09_OHCvsSST.png" width="100">MatlabAlan Mix & Brodie PearsonPaleo-, modern- and future-changes in ocean heat content and surface temperatures
Figure 9.10 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_10_AMOC/Fig9_10_AMOC.png" width="100">Matlab: paleo & freshwater panels, Python: timeseries & resolution panelsBaylor Fox-Kemper, Laura Jackson & Matt MenaryAMOC as a function of time (paleo, historical, projected), resolution, and fresh water
Figure 9.11 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_11_BSF/Fig9_11_BSF_Corrigendum.png" width="100">Matlab maps of speed and streamfunction, and transports figureBrodie Pearson & Baylor Fox-KemperBarotropic streamfunction, surface currents, and transports
Figure 9.12 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_12_OceanSLR/Fig9_12_OceanSLR_Corrected.png" width="100">Matlab maps of SSH & standard deviation of SSHBrodie PearsonMaps of ocean sea level rise and the standard deviation of sea surface height

List of cryosphere figures in Chapter 9

Figure (w/ link)Code (w/ link)Primary code author(s)Brief description
Figure 9.13 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_13_Arctic_SI/Fig9_13_Arctic_SI.png" width="100">Python timeseries and mapsDirk Notz & Jakob DoerrArctic sea-ice historical records and CMIP6 projections
Figure 9.14 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_14_SI_warming/Fig9_14_SI_warming.png" width="100">PythonJakob DoerrArctic sea-ice area as a function of temperature, CO2 emissions and time
Figure 9.15 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_15_Antarctic_SI/Fig9_15_Antarctic_SI.png" width="100">Python timeseries and mapsDirk Notz & Jakob DoerrAntarctic sea-ice historical records and CMIP6 projections
Figure 9.16 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_16_IS_regional/Fig9_16_IS_regional.png" width="100">Matlab: Antarctic summary & regions, and Greenland summary & regionsBaylor Fox-Kemper & Brodie PearsonObserved timeseries of Antarctic & Greenland Mass Balance
Figure 9.17 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_17_GIS_synth/Fig9_17_GIS_synth.png" width="100">Matlab maps and timeseriesBrodie Pearson & Baylor Fox-KemperGreenland Ice Sheet: synthesis of paleo-, modern- and future-changes
Figure 9.18 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_18_AIS_synth/Fig9_18_AIS_synth.png" width="100">Matlab maps and timeseriesBrodie Pearson & Baylor Fox-KemperAntarctic Ice Sheet: synthesis of paleo-, modern- and future-changes
Figure 9.19 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_19_AIS_basal/Fig9_19_AIS_basal.png" width="100">Python past maps and future mapsNicolas JourdainAntarctic basal melt rates
Figure 9.20 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_20_Glacier_Rate/Fig9_20_Glacier_Rate.png" width="100">MatlabLucas RuizGlacier mass change rates
Figure 9.21 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_21_glaciers_changes/Fig9_21_glaciers_change.png" width="100">MatlabLucas RuizGlacier mass relative to 2015
Figure 9.22 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_22_permafrost/Fig9_22_permafrost.png" width="100">PythonGerhard KrinnerPermafrost area and changes
Figure 9.23 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_23_snow/Fig9_23_snow.png" width="100">PythonGerhard KrinnerSnow cover timeseries
Figure 9.24 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_24_snow/Fig9_24_snow.png" width="100">Python climatology & sensitivityGerhard KrinnerNorthern Hemisphere snow extent

List of sea level figures in Chapter 9

Figure (w/ link)Code (w/ link)Primary code author(s)Brief description
Figure 9.25 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_25_SLR_PDFs/Fig9_25_SLR_PDFs.png" width="100">MatlabBob KoppLiterature global mean sea level projections for 2050 and 2100 under different SSPs
Figure 9.26 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_26_SL_regional/Fig9_26_SL_regional.png" width="100">Matlab timeseries and mapsBrodie PearsonProjected sea level change contributions under SSP1-2.6 and SSP5-8.5
Figure 9.27 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_27_SL_scenarios/Fig9_27_SL_scenarios.png" width="100">MatlabBob KoppProjected global mean sea level rise under different SSP scenarios
Figure 9.28 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_28_RSL_scenarios/Fig9_28_RSL_scenarios.png" width="100">MatlabBrodie PearsonRegional sea level change at 2100 for different SSP scenarios
Figure 9.29 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_29_SL_time/Fig9_29_SL_time.png" width="100">R codeGreg Garner & Bob KoppProjected timing of sea-level rise milestones
Figure 9.30 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_30_GMSL_Commitment/Fig9_30_GMSL_Commitment.png" width="100">MatlabBob Kopp, Baylor Fox-Kemper & Brodie Pearson2,000- and 10,000-year sea-level commitments as a function of peak global surface air temperature anomaly
Figure 9.31 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_31_ESL_hist/Fig9_31_ESL_hist.png" width="100">Matlab map and timeseries (requires Mapping Toolbox)Billy Sweet & Mark HemerObserved changes in tidal flood frequency and regional sea level
Figure 9.32 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Fig9_32_ESL_proj/Fig9_32_ESL_proj.png" width="100">MatlabTim Hermans & Brodie PearsonMedian amplification factor of extreme still water level by 2050 and 2100

List of additional figures in chapter 9

Figure (w/ link)Code (w/ link)Primary code author(s)Brief description
Box 9.2 Figure <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Box9_2/Box9_2.png" width="100">Not available yetThomas FroelicherMarine Heatwaves
Cross-chap. Box 9.1.1 <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/Cross_Chapter_Box9_1/CCBox9.1_Figure1_FGD_18x9cm.png" width="100">Python/Pre-processing Python/Jupyter notebookMatt PalmerGlobal energy inventory and global sea-level budget
FAQ 9.1 Figure <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/FAQ9_1_will_human-induced_changes_be_reversible/FAQ9_1.png" width="100">PythonSophie BergerCan melting of the ice sheets be reversed?
FAQ 9.2 Figure <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/FAQ9_2_how_much_will_sea_level_rise/FAQ9_2.png" width="100">PythonSophie BergerHow much will sea level rise in the next few decades?
FAQ 9.3 Figure <img src="https://github.com/BrodiePearson/IPCC_AR6_Chapter9_Figures/blob/main/Plotting_code_and_data/FAQ9_3_will_the_Gulf_Stream_shut_down/FAQ9_3.png" width="100">N/ASophie BergerGulf stream shutdown schematic (No quantitative information; not included here)

Functions for IPCC processing/analysis

Matlab Functions

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.

ESMValTool recipes

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: