Global Warming Levels
Overview
This page describes the global warming level (GWL) framework, when to use it instead of a time-based approach, and the steps a user takes to access data on GWLs using climakitae. The tools in the Analytics Engine platform can calculate global warming levels for dynamically downscaled (WRF) or statistically downscaled (LOCA) data using the same methods. The specific methodology and calculations underlying the generation of GWL data are covered in this page.
For more information on how to select a dataset for an application of interest, refer to the WRF vs. LOCA2-Hybrid page. For additional information on the motivation and methods behind Cal-Adapt’s operationalization of the Global Warming Level (GWL) framework, please see the following report: Global Warming Levels: Bringing Global Warming Levels into Regional Climate Planning for the Energy Sector1.
What are global warming levels?
The GWL framework provides an alternative approach to assessing climate impacts, as compared to a time- or scenario-based approach. A user can tailor their analyses to a specific amount of global warming, such as 2˚C or 3˚C, rather than to a particular time period like mid-century or end-of-century (i.e., 2100). This method has gained traction in international policy frameworks, including the Paris Agreement and the 6th IPCC Assessment Report because it isolates the uncertainty of regional climate responses from other variables, such as emissions trajectories and the rate of global climate response to greenhouse gas concentrations associated with scenario-based approaches. By using GWLs, a greater number of high-quality simulations can be included in regional assessments, even if some models have higher-than-likely climate sensitivity. The GWL approach allows a data user to conduct a more comprehensive analysis by incorporating simulations that accurately represent atmospheric variability but may otherwise be excluded.
For example, consider two simulations: simulation A and simulation B. In a Shared Socioeconomic Pathway (SSP) framework under the SSP2-4.5 scenario, a data user might initially consider only simulation A because simulation B is designed only for the SSP5-8.5 scenario. This prevents them from incorporating any regional climate information from simulation B into their analysis. Instead, by employing a GWL framework, a user can examine how each simulation depicts regional climate at specific warming levels, such as 2˚C. This approach allows both simulations A and B to be included in the analysis, assuming that each reaches 2˚C of warming at some point in their projection. Thus, the GWL framework allows users to enhance their understanding of climate projection insights beyond simulation A alone. This approach also helps identify when the world is likely to reach a particular level of warming, and provides a robust framework for characterizing the risk of climate extremes and making informed policy decisions.
Why use global warming levels?
Until the last few years, it was most common to assess climate projections at a particular time period, such as mid-century or end-of-century, and for different emission scenarios (RCPs or SSPs). However, it is becoming increasingly common to assess climate projections at different levels of warming, for example how regional climate change might look like in a world that is 2˚C or 3˚C warmer on average than pre-industrial levels. Key national and international climate assessments such as the IPCC AR6 and the NCA5, are using the warming level framework for several reasons. This blog post and slides 11-17 of this presentation explain in detail why the warming level framework has been preferred.
Broadly, one of the main reasons for using GWLs rather than a time-based approach, is that there is less certainty around the rate (timing) of climate change than the range of possible temperature outcomes at a given level of warming (see this Analytics Engine blog post for a visual representation). When using a time-based approach to plan for a specific target year(s), users are often forced to pick projections from a particular emissions trajectory. This limits the overall sample size of model runs and therefore reduces the ability to holistically characterize future outcomes, specifically extremes and rare events.
On the other hand, the GWL framework allows users to avoid choosing among the different emissions trajectories and hence increases the sample size of model runs that they can use. That is, to evaluate climate impacts in a 2˚C world one must combine the regional projections from all available simulations, regardless of the emissions scenario and regardless of when they reach 2˚C of global average warming. This larger sample size provides users with a greater ability to holistically examine risks and, in particular, to better characterize risks from extremes. The approach also allows for isolation of the different sources of uncertainty in regional climate responses, which lends itself to a more adaptive management approach (see this Analytics Engine blog for more details). Overall, the GWL framework allows more robust climate change analyses, as summarized in the IPCC AR6 “…robust projected geographical patterns of many variables can be identified at a given level of global warming, common to all scenarios considered and independent of timing when the global warming level is reached.”
The Analytics Engine’s Warming Level Notebooks allow users to easily examine regional climate impacts for a specific global warming level. In these notebooks, users can first identify target warming levels (e.g. 2˚C or 3˚C global warming), and then calculate the regional climate response of interest for those GWLs with the largest possible set of model runs. These notebooks also have functionalities that allow users to examine the median time period when a given warming level might be reached (i.e. go from GWL to time estimates), thereby also providing a time-based estimate for planning purposes. Similar to the recommendations on choice of timeframes, it is also recommended that users do not fix-in on any one warming level, but also undertake exploratory analyses at additional warming levels. In particular, including a higher-end warming level may be beneficial for capturing potential nonlinear impacts of climate change, which can enable adaptive planning.
Choosing between GWLs and a time-based approach
Determining whether to use GWLs versus time- or scenario-based approaches will depend on the goals of the analysis, and/or external requirements for planning. As a starting point for making these decisions:
- If planning occurs around discrete future time periods that use a climatology (i.e. averaging conditions over a 30-year period), it is recommended that a GWLs approach is used.
- If planning relies on viewing a long-term trend (e.g. through the end of the century) as a continuous time-series, it is recommended that a time-based approach is used.
The sections below provide more detail on making decisions between these approaches.
When to choose GWLs
Using Global Warming Levels (GWLs) for planning comes with some distinct advantages over a traditional time-based approach:
- Avoiding additional uncertainty about warming trajectories due to hot models in CMIP6.
- Improving statistical robustness by incorporating climate simulations from all scenarios.
- Enabling an adaptive, scenario-agnostic planning approach that focuses on critical thresholds.
- Providing consistency with climate change analyses from the Intergovernmental Panel on Climate Change (IPCC) AR6 report, the Fifth National Climate Assessment, and recommendations from the California Public Utilities Commission (CPUC).
For these reasons, it is recommended that GWL approaches are used with CMIP6 data whenever possible. This is particularly true when a climate analysis needs to be conducted around a future time period, such as 30 years in the middle or end of the century (i.e. a future climatology).
For California’s Investor Owned Utilities, the California Public Utilities Commission specifically requires planning (Rulemaking 18-04-019, Agenda ID #22703) around global warming levels of 1.5 and 2.0 °C when completing a Climate Adaptation and Vulnerability Assessment (CAVA).
Using GWLs in the Analytics Engine is as straightforward as using time-based climate data. The sections below describe how to retrieve GWL data and how it is calculated. The table on the Reference Periods page can help users choose GWLs that correspond to a relevant future period for their analysis, and communicate results in situations where time-based planning may be more familiar.
When time-based planning is recommended instead
Despite the advantages of GWLs, time-based data may be more appropriate for certain approaches, such as:
- Using a continuous time series to visualize or analyze a long-term climate trend (e.g. through the end of the century).
- Comparing the timing or intensity of climate impacts between different scenarios explicitly (e.g. comparing SSP 3-7.0 to SSP 5-8.5).
Additionally, climate impacts that exhibit a significant delay in response to global temperature increase or are sensitive to the rate of warming are difficult to analyze with GWLs. Examples of these impacts are sea-level rise, glacial melt, and coastal processes driven by land-sea temperature differences.
Finally, when using time-based climate data it is important to keep in mind that increased uncertainties about future warming and climate impacts arising from the “hot model problem” will become more pronounced towards the end of the century.
Retrieving GWL data using climakitae
The method is described in the following section. Supplementary resources include the climakitae technical documentation, which covers performing GWL analyses with the library, and the notebook warming_level_methods.ipynb on GitHub and the Analytics Engine JupyterHub.
# Initalize a ClimateData object
from climakitae.new_core.user_interface import ClimateData
cd = ClimateData()
# Set the arguments to retrieve warming levels data
# You can use this method for either LOCA or WRF data
tasmax_gwl_data = (
cd.catalog("cadcat")
.activity_id("LOCA2")
.table_id("mon")
.grid_label("d03")
.variable("tasmax")
.processes(
{
"warming_level": {
"warming_levels": [0.8, 1.5, 2.0, 3.0, 4.0],
"warming_level_window": 15,
},
}
)
.get()
)The object returned by .get() for GWL-processed data looks like this once printed. Expand the sections below to explore the coordinates and attributes, just like in a Jupyter notebook:
<xarray.Dataset> Size: 257GB
Dimensions: (sim: 129, warming_level: 5, time_delta: 360, lat: 495,
lon: 559)
Coordinates:
* sim (sim) object 1kB 'LOCA2_UCSD_INM-CM5-0_ssp245_mon_d03_r1i1...
* warming_level (warming_level) float64 40B 0.8 1.5 2.0 3.0 4.0
* time_delta (time_delta) int64 3kB -180 -179 -178 -177 ... 177 178 179
* lat (lat) float32 2kB 29.58 29.61 29.64 ... 44.95 44.98 45.02
* lon (lon) float32 2kB -128.4 -128.4 -128.4 ... -111.0 -111.0
centered_year (sim, warming_level) float64 5kB 2.057e+03 ... 2.079e+03
spatial_ref int64 8B 0
Data variables:
tasmax (sim, warming_level, time_delta, lat, lon) float32 257GB dask.array<chunksize=(1, 1, 4, 290, 327), meta=np.ndarray>The above example is loading data at five specific warming levels (0.8, 1.5, 2.0, 3.0, and 4.0) with a 15-year window for the variable maximum air temperature.
A SSP was not specified to load the data because simulations from any SSP can be used to measure climate impacts at a given GWL. This ability to utilize data from all SSPs equivalently is one of the benefits of the GWL approach.
How GWLs are calculated
This section outlines the methodology for calculating GWL data used by climakitae. These are the calculations that take place “under the hood” (via internal climakitae methods) when you retrieve GWL data as described in the previous section. The methods described here follow the approach used by the IPCC AR6 report as closely as possible2.
The lookup tables described here are used for selecting data from each model, but are not an accurate way to estimate what year a GWL is most likely to be reached. To estimate the timing of GWLs, the Analytics Engine uses the IPCC’s warming trajectories, as described on the Climate Model Simulations page. Approximate time ranges for each warming level are summarized on the Reference Periods page.
Calculating GWLs on the Analytics Engine is a two-step process, described below.
Step 1: Generate GWL lookup tables by model
For each global climate model (GCM) simulation in the CMIP6 archive, the average global temperature increase relative to pre-industrial conditions (1850-1900) is measured for each year. This time-series of global warming is smoothed with a 20-year running average and used to create a lookup table to determine when each simulation reaches a given global warming level.
The GWL lookup table captures what year each global climate simulation reaches each warming level. This table is pre-generated in the climakitae repository, and is only updated if changes are made to the methodology or new warming levels are added to the platform. No actions are required by the user for this step, but the section is provided as technical documentation and outlines the method used to generate this table for transparency.
1a. Select CMIP6 models and ensemble members
From the CMIP6 catalog, all CMIP6 models and their ensemble members are selected via the Pangeo CMIP6 table.
1b. Calculate global average surface temperature
Global average surface air temperature for each ensemble member is then calculated by a spatially weighted average of the tas (or appropriate surface air temperature) variable using this formula (which is essentially a weighted average of all grid cells around the world, which accounts for the fact that grid cells towards the poles are smaller than grid cells near the equator):
weightlat = np.sqrt(np.cos(np.deg2rad(ensemble_mem[lat])))
weightlat = weightlat / np.sum(weightlat)
timeseries = (ensemble_mem * weightlat).sum(lat).mean(lon)1c. Smooth time series and identify GWL crossing years
Each time series is smoothed with a 20-year running average window. Then, the month/year that each time-series first exceeds a certain degree of warming (1.5, 2.0, 2.5, 3.0, 4.0) relative to the average temperature from a given reference period is computed and then saved per model into a lookup table of GWL, with the model as the index.
1d. Save GWL lookup tables
The lookup tables are saved in the data directory of the climakitae repository.
gwl_1850-1900ref.csvuses the reference period 1850-1900, consistent with the IPCC warming level definitions. This reference period can not be used to calculate anomalies (different from historical), because the downscaled data only extends back to 1950.Table 1: Example excerpt from gwl_1850-1900ref.csv, showing the year each GCM/run/scenario combination crosses each warming level.GCM run scenario 0.8 1.0 1.2 1.5 2.0 2.5 3.0 4.0 ACCESS-CM2 r3i1p1f1 ssp585 2005-09-16 2012-01-16 2017-05-16 2024-04-16 2037-08-16 2046-06-16 2053-12-16 2068-05-16 ACCESS-CM2 r3i1p1f1 ssp370 2005-10-16 2012-11-16 2020-02-15 2028-09-16 2039-06-16 2049-01-16 2058-11-16 2079-01-16 ACCESS-CM2 r3i1p1f1 ssp245 2005-09-16 2013-09-16 2020-03-16 2029-08-16 2040-07-16 2051-02-15 2066-03-16 — gwl_1980-2010ref.csvuses the reference period 1980-2010, and is only used when calculating anomalies.A 20-year running average window is used to determine the “crossing year” for each GWL by the center of the window. This ensures that any one particularly high value year does not skew the results when the overall average temperature trend has not yet reached the warming level.
1e. Save time-indexed GWL translation tables
Additionally, the GWL at each month is saved for each ensemble member from 1860-2090 into gwl_1850-1900ref_timeidx.csv and gwl_1980-2010ref_timeidx.csv. These act as translations between time and GWLs.
gwl_1850-1900ref_timeidx.csv, showing the GWL (°C above the 1850-1900 baseline) reached by each GCM/run/scenario combination at a given time. The full file has one column per GCM/run/scenario combination (490+ columns).
| time | ACCESS-CM2_r3i1p1f1_ssp585 | ACCESS-ESM1-5_r3i1p1f1_ssp585 | AWI-CM-1-1-MR_r1i1p1f1_ssp585 | CESM2_r11i1p1f1_ssp585 |
|---|---|---|---|---|
| 2000-1 | 0.6006125647093152 | 0.45405188235651056 | 1.0232514633514898 | 0.6213813987637752 |
| 2020-1 | 1.3108536939844477 | 1.142057817584557 | 1.6253960100043647 | 1.3088474841003275 |
| 2050-1 | 2.7253699553814195 | 2.4850610309728554 | 2.712248957754721 | 2.7661379693234354 |
| 2080-1 | 4.855009532684353 | 4.31016555630567 | 4.365879658891602 | 4.791641459896719 |
These files have time as the index, whereas the files generated in Step 1d have the model as the index.
The time range of these files is 1860-2090 because the 20-year running average window clips the first and last 10 years.
The above steps are calculated for all CMIP6 models. The CESM2-LENS data is processed separately due to a slightly different data structure, but follows the same methodology.
Step 2: Retrieve model data at each GWL
When data on warming levels is retrieved using get_data() or the Select GUI, the following procedure is run for each warming level, and for each simulation within our Analytics Engine WRF/LOCA2-Hybrid catalog (depending on downscaling method):
2a. Find the centered year
Find the centered year that the simulation passes this global warming level, using the table generated in step 1d (gwl_1850-1900ref.csv).
2b. Slice the time window
Slice the window (i.e. +/- 15 years) around the centered year found in the previous step, for the current simulation.
2c. Filter months and remove leap days
Filter for desired months and remove leap days.
2d. Reset the time index
Reset the time index so that all simulations can be stacked on top of each other.
Change timestamps to timedeltas with
centered_yearcoordinates.For example, a 30-year simulation with monthly frequency data from 2010-2040 is transformed into a dataset with time-deltas from -180 to 179 (360 months in 30 years) with an added
centered_yearcoordinate of 2025.The time dimension is now called
time_deltabecause it represents the time distance from the central year.