Awesome
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
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.
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:
- 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.
List of ocean figures in Chapter 9
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 <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"> | Matlab | Baylor Fox-Kemper | Overview 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 maps | Brodie Pearson | Sea 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"> | Matlab | Brodie Pearson | Surface 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"> | Matlab | Brodie Pearson | Mixed 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 maps | Brodie Pearson | Ocean 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"> | Matlab | Brodie Pearson | Zonal 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 scatterplot | Baylor Fox-Kemper | Ocean 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"> | Matlab | Alan Mix & Brodie Pearson | Paleo-, 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 panels | Baylor Fox-Kemper, Laura Jackson & Matt Menary | AMOC 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 figure | Brodie Pearson & Baylor Fox-Kemper | Barotropic 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 SSH | Brodie Pearson | Maps 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 maps | Dirk Notz & Jakob Doerr | Arctic 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"> | Python | Jakob Doerr | Arctic 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 maps | Dirk Notz & Jakob Doerr | Antarctic 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 & regions | Baylor Fox-Kemper & Brodie Pearson | Observed 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 timeseries | Brodie Pearson & Baylor Fox-Kemper | Greenland 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 timeseries | Brodie Pearson & Baylor Fox-Kemper | Antarctic 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 maps | Nicolas Jourdain | Antarctic 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"> | Matlab | Lucas Ruiz | Glacier 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"> | Matlab | Lucas Ruiz | Glacier 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"> | Python | Gerhard Krinner | Permafrost 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"> | Python | Gerhard Krinner | Snow 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 & sensitivity | Gerhard Krinner | Northern 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"> | Matlab | Bob Kopp | Literature 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 maps | Brodie Pearson | Projected 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"> | Matlab | Bob Kopp | Projected 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"> | Matlab | Brodie Pearson | Regional 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 code | Greg Garner & Bob Kopp | Projected 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"> | 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 <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 Hemer | Observed 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"> | Matlab | Tim Hermans & Brodie Pearson | Median 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 yet | Thomas Froelicher | Marine 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 notebook | Matt Palmer | Global 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"> | Python | Sophie Berger | Can 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"> | Python | Sophie Berger | How 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/A | Sophie Berger | Gulf 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:
- 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.