Data Methods: Heat Waves
The steps below describe how the values shown in the tool were calculated, from raw climate model output to the final data product.
Input data
Climate model simulations
- Description
Ensemble of 4 bias-adjusted climate model simulations, dynamically downscaled using the WRF model for the state of California:
EC-Earth3-r1i1p1f1,MPI-ESM1-2-HR-r3i1p1f1,TaiESM1-r1i1p1f1,MIROC6-r1i1p1f1.- Variables
Maximum daily air temperature
- Spatial resolution
3 kilometers
- Temporal resolution
Daily
- Time period
1980-2100: the modeled historical period (1980-2014), followed by the SSP3-7.0 scenario (2015-2100)
- Download
Browse in the Cal-Adapt data catalog (STAC), or download directly from cloud storage (AWS).
Output data
Heat wave frequency tables
- Description
The annual average frequency of heat waves, and the change from the historical baseline, for each threshold, duration, and global warming level, averaged across simulations
- Format
One CSV table per region
- Download
Browse in the Cal-Adapt data catalog (STAC), or download directly from cloud storage (AWS).
Heat wave length tables
- Description
The annual average length of heat waves, and the change from the historical baseline, for each threshold and global warming level, averaged across simulations
- Format
One CSV table per region
- Download
Browse in the Cal-Adapt data catalog (STAC), or download directly from cloud storage (AWS).
Calculation steps
Data retrieval and preprocessing
Using Cal-Adapt's open source Python library
climakitae, input data was
retrieved. Climate model simulations were retrieved for historical and future
global warming levels (GWL): 0.8, 1.5, 2.0, 2.5, and 3.0 °C. This retrieval
process pulls the 30 year time window around the year (+/- 15 years) in which
the global warming level is reached. A 30 year window is used to look at typical
conditions over a long period centered on the global warming level.
Inland water was masked from the data to discard artificially high values over water that are not representative of the variable.
Percentile-based threshold
For percentile-based thresholds, a per-gridcell historical temperature threshold was calculated using the 0.8 GWL for each simulation. This value represents an extreme heat threshold unique to the historical conditions at each location.
Heat waves in each year
This step differs between the two metrics. Each was calculated for each maximum temperature threshold (e.g. 95 °F, 100 °F, 95th percentile), simulation, and GWL. Absolute thresholds range from 85 to 115 °F and percentile-based thresholds from the 90th to the 99th percentile.
Heat wave frequency
For each threshold and streak duration (from 3 to 14 days) pair, the number of streaks of consecutive days exceeding the threshold in each year was counted. Streaks were non-overlapping (any single day can only belong to one streak, if any) but may be consecutive. For example, if the 3-day duration is selected, a 6-day streak that exceeds the temperature threshold would be counted as two 3-day streaks.
Heat wave length
For each threshold, the average length of streaks of consecutive days exceeding the threshold per year was calculated. Only streaks with a length of at least 3 days are included in this average. A streak that runs from one year into the next is split, and each part is counted in its own year.
Median and variability over GWL time window
The following metrics were calculated for each simulation across the 30-year period corresponding to each GWL: median, 10th percentile, 90th percentile. This yields a single value per metric per simulation.
Change signal
For each GWL above the reference period (1.5 °C and higher) and for each metric (median, 10th percentile, 90th percentile), the historical baseline value was subtracted from the future GWL value. This difference represents the projected change in heat wave frequency or length relative to the historical period.
Spatial aggregation
Next, we aggregated the gridded data by spatial unit (e.g. county, city, etc) by taking a median of all the grid cells within the boundary. A median is used to capture the typical number or length of heat waves within the area of interest without introducing bias from any anomalous grid cells.
Simulation aggregation
Finally, the data was aggregated across simulations using a mean. The final data product is a table for each county containing the following variables:
Absolute variables
- Annual average frequency of heat waves, with its 10th and 90th percentile (for each GWL, threshold, and duration)
- Annual average length of heat wave, with its 10th and 90th percentile (for each GWL and threshold)
Relative change variables
- Change from reference period: annual average frequency of heat waves, with its 10th and 90th percentile (for each GWL, threshold, and duration)
- Change from reference period: annual average length of heat wave, with its 10th and 90th percentile (for each GWL and threshold)
Cal-Adapt. (2026). Data Methods: Heat Waves. Cal-Adapt. https://cal-adapt.org/dashboard/data-methods/heat-waves