Understanding the News During Fire Season

Varvara Fedorova & Tara Harmon

December 2022

In California, wildfires feel like a looming threat that we can’t seem to get a handle on. Each fire season, voices from experts flood radio stations and newspapers, but the information is confusing and often feels conflicting. As climate change creates a nearly year-round fire season, fire agencies call for the allocation of more funding for better equipment, planes, and personnel. Worried experts agree that our landscapes are a ticking tinder-bomb, but they simultaneously argue that fire is a natural and necessary part of California’s ecosystems, and that we should urgently be burning more land. When we see wildfires decimate our forests and leave a lifeless moonscape, how can that be true?

Fire is…complicated. And the way that it is talked about it can be confusing. So we want to break it down here.

Fire is a Spectrum

Good communication about the science of fires is hard. Often we are left with graphs like this:

library(ggplot2)
library(dplyr)
library(ggdark)
library(ggh4x)
library(ggiraph)
library(ggrepel)
library(ggtext)
library(knitr)
library(markdown)
library(plotly)
library(RColorBrewer)
library(rmarkdown)
library(scales)
library(tidyverse)
#Introduce dataset, which we've renamed from the original name to "FireBurnSeverityData"
df <- read.csv("FireBurnSeverityData.csv") 
#Summarise area burned by year in acres 
YearlyTotals <- df %>%
  group_by(Fire_Year) %>%
  summarise(YearlyHighHec = sum(High_Severity.ha., na.rm = TRUE), YearlyModHec = sum(Moderate_Severity.ha., na.rm = TRUE), YearlyLowHec = sum(Low_Severity.ha., na.rm = TRUE), YearlyUnchangHec = sum(Unchanged.ha., na.rm = TRUE), YearlyTotal = sum(Total_area_burned.ha., na.rm = TRUE)) %>%

  mutate(YearlyHighAc = YearlyHighHec * 2.47105, YearlyModAc = YearlyModHec * 2.47105, YearlyLowAc = YearlyLowHec * 2.47105, YearlyUnchangAc = YearlyUnchangHec * 2.47105, YearlyTotalAc = YearlyTotal * 2.47105) 
#Getting number of fires per year
FireFreq <- df %>%
  count(Fire_Year)
#Joining df's together & creating graph that is most commonly used in wildfire communication
YearlyTotals <- left_join(YearlyTotals, FireFreq, by = "Fire_Year") 
YearlyTotals %>% 
  ggplot(aes(x = Fire_Year)) +
  geom_col(aes(y = YearlyTotalAc), fill="darkred") + 
  scale_x_continuous(breaks = c(1984,1990,1995,2000,2005,2010,2015,2020)) +
  geom_smooth(aes(y = n*35000), color = "goldenrod2", span = 0.15, size = 1, alpha = 0.1) + 
  scale_y_continuous("Acres", sec.axis = sec_axis(trans = ~./35000, name = "Number of Fires"), labels = comma) +
  dark_mode(theme_minimal()) +
  labs(x = NULL , y = "Acres" , title = "Total CA Acres Burned by Year" , subtitle = "" , caption = "") +
  annotate("text", x=1996, y=3250000, label="Number of Fires", size = 5.5, color = "goldenrod2") +
  annotate("segment", x = 1990, xend = 1988, y = 3200000, yend = 3000000, color = "goldenrod2", size = 0.4, arrow = arrow()) +
  
   theme(axis.title.y = element_text(vjust = +2.5, size = 15), axis.title.x = element_text(vjust = -0.75), axis.title.y.right = element_text(vjust = +2.5), axis.text.x = element_text(size = 10, face = "bold"), axis.text.y = element_text(size = 10, face = "bold"))

How much land is actually burning? How long does it take for ecosystems to recover? The answer is…it depends.

Experts promoting burning more land feels illogical in part because we’re often taught that all fire is destructive. But that isn’t true! There are several metrics that firefighters and researchers use to determine how “bad” a wildfire was. One is size, of course, but the other is what we call “severity,” a measure of how much the ecosystem changed as a direct result of the fire. Severity is a spectrum. “Low-severity” fires that primarily burn ground fuels and small trees can be beneficial to forests. On the other end of the spectrum, raging fires that kill nearly all vegetation and living soil, are “high severity.”

Low-severity fires can be ecologically restorative and often look nothing like the fires we see on the news. Under certain conditions, fires, ignited purposefully or naturally, can reduce fuel, stimulate germination and growth of some plants, and maintain biodiversity and health of our forest ecosystems. Indigenous people in the west have set fires intentionally for millennia and as a result, many of our plants have evolved to be dependent on fire. Native people refer to this practice as “cultural burning.” After dealing with the consequences of more than a century of fire suppression, fire ecologists and fire professionals have been attempting to revive intentional burning too (“prescribed fire”).

For this reason, millions of acres burning each year may actually be a good thing. But experts are not begging for more of the type of wildfires that are catastrophic and scary. It seems that there’s just two very different kinds of fire being talked about. The reason that both firefighting agencies and fire ecologists are worried, however, is that while restorative fires are still happening, we have been seeing a pretty dramatic increase in the frequency of larger and more catastrophic wildfires.

A New Way to Visualize the Data

#Mutate data to produce % severity & convert total area burned from hectares to acres
df <- df %>%
  mutate(Acres = Total_area_burned.ha. * 2.47105, LowPercent = Low_Severity.ha./Total_area_burned.ha. *100, ModPercent = Moderate_Severity.ha./Total_area_burned.ha. *100, HighPercent = High_Severity.ha./Total_area_burned.ha. *100, GrassPercent = Grass_Burned.ha./Total_area_burned.ha. *100, UnchangedPercent = Unchanged.ha./Total_area_burned.ha. *100, na.rm=TRUE)
#Creating base graph
df %>%
  filter(Acres > 25000) %>%
  ggplot(aes(x = Fire_Year, y = HighPercent)) +
  
  geom_point(shape = 21, pch = 21, aes(size = Acres, position = "jitter", fill = HighPercent), color = "white", alpha = 0.45) +
  
  scale_fill_gradient2(low = "Chartreuse4", mid = "DarkOrange2", high = "azure4", midpoint = 35, name = NULL, guide = "colorbar", breaks = c(60, 35, 12), labels = c("   Catastrophic", "         \u2191 \u2193", "   Restorative")) + 
  
    guides(fill = guide_colorbar(ticks = FALSE, alpha = 0.5, barwidth = 0.5, barheight = 5)) +

  scale_size_area(max_size = 20, name = NULL, breaks = c(70000, 200000), labels = c("Smaller Fire Size", "Larger Fire Size")) + 
  
  scale_y_continuous(breaks = c(10,20,30,40,50,60,70,80,90,100)) + scale_x_continuous(breaks = c(1984,1990,1995,2000,2005,2010,2015,2020)) +
  
  dark_mode(theme_classic()) + 
  
  theme(legend.box.margin = margin(0,0,0,0, "cm")) + 
  
  theme(axis.title.y = element_text(vjust = +2.5), axis.text.x = element_text(size = 12, face = "bold"), axis.text.y = element_text(size = 10, face = "bold")) +
  
  annotate("text", x=1987, y=0, label="By: Varvara Fedorova & Tara Harmon", size = 2.5, color = "darkgray") +

  labs(x = "" , y = "% of Fire at High Severity" , title = "Size & Severity Trends of CA Wildfires 1984 - 2020" , subtitle = "" , caption = "Showing data only for fires more than 25,000 acres in size") 

Some “bad fires”, like the 2021 Dixie Fire, for example, decimated communities, blazed through forests with flame lengths up to 50 feet long, and exhibited extreme fire behavior, at one point making a 13-mile push in one day.

The longer we wait to restore forests to their more fire-resilient conditions at a landscape scale, the less of a chance we will have to be able to save our forests at all.

The primary reason we have seen such a dramatic increase in the size and frequency of high severity fires is due to more than a century of fire suppression policies. This has resulted in highly flammable forests with huge buildups of fuel, increased tree density, and the replacement of fire-dependent species with those that are not fire-adapted. Experts believe that prior to European colonization, any given piece of land in California burned every 5 to 30 years. Today, areas left unburned for more than 100 years are not uncommon. Compounded by the effects of drought and climate change, record-breaking catastrophic fires will continue to be California’s new norm.

How much land is actually burned at high severity?

When we add information about the “typical” area burned at high severity, the trends become even more poignant: large fires, and large fires burning at these high, more catastrophic severities, are increasingly common.

#Base graph with median & IQR 
df %>%
  filter(Acres > 25000) %>%
  ggplot(aes(x = Fire_Year, y = HighPercent)) +
  
  geom_point(shape = 21, pch = 21, aes(size = Acres, position = "jitter", fill = HighPercent), color = "white", alpha = 0.45) +
  
  scale_fill_gradient2(low = "Chartreuse4", mid = "DarkOrange2", high = "azure4", midpoint = 35, name = NULL, guide = "colorbar", breaks = c(60, 35, 12), labels = c("   Catastrophic", "         \u2191 \u2193", "   Restorative")) + 
  
    guides(fill = guide_colorbar(ticks = FALSE, alpha = 0.5, barwidth = 0.5, barheight = 5)) +

  scale_size_area(max_size = 20, name = NULL, breaks = c(70000, 200000), labels = c("Smaller Fire Size", "Larger Fire Size")) + 
  
  scale_y_continuous(breaks = c(10,20,30,40,50,60,70,80,90,100)) + scale_x_continuous(breaks = c(1984,1990,1995,2000,2005,2010,2015,2020)) +
  
  dark_mode(theme_classic()) + 
  
  theme(legend.box.margin = margin(0,0,0,0, "cm")) + 
  
  theme(axis.title.y = element_text(vjust = +2.5), axis.text.x = element_text(size = 12, face = "bold"), axis.text.y = element_text(size = 10, face = "bold")) +

  labs(x = "" , y = "% of Fire at High Severity" , title = "Size & Severity Trends of CA Wildfires 1984 - 2020" , subtitle = "" , caption = "Showing data only for fires more than 25,000 acres in size") + 
  
    annotate("text", x=1987, y=0, label="By: Varvara Fedorova & Tara Harmon", size = 2.5, color = "darkgray") +

  
  geom_hline(yintercept = median(df$HighPercent, na.rm = TRUE), linetype = "dashed", color = "lightblue", alpha = 0.6) + geom_hline(yintercept = IQR(df$HighPercent, na.rm = TRUE), linetype = "dashed", color = "lightblue", alpha = 0.8) + annotate("text", x=2002, y=25, label="75% of all sampled fires have high severity area at this level or below") + annotate("text", x=2002, y=12, label="Median % high severity of sample size") 

Explore these fires for yourself!

#Setting it up for the interactive version of the graph by overriding some ggplot defaults
p2 <- df %>%
  filter(Acres > 25000) %>%
  ggplot(aes(x = Fire_Year, y = HighPercent, group = 1, text = paste(Fire_Name, "<br>Year:", Fire_Year, "<br>Fire Size:", prettyNum(round(Acres, digits = 0),  big.mark = ",", scientific = FALSE), "acres"))) +
  
  geom_point(shape = 21, pch = 21, aes(size = Acres, position = "jitter", fill = HighPercent), color = "white", alpha = 0.45) +
  
  scale_fill_gradient2(low = "Chartreuse4", mid = "DarkOrange2", high = "azure4", midpoint = 35, name = NULL, guide = "colorbar", breaks = c(60, 35, 12), labels = c("   Catastrophic", "         \u2191 \u2193", "   Restorative")) + 
  
    guides(fill = guide_colorbar(ticks = FALSE, alpha = 0.5, barwidth = 0.5, barheight = 5)) +

  scale_size_area(max_size = 20, name = NULL, breaks = c(70000, 200000), labels = c("Smaller Fire Size", "Larger Fire Size")) + 
  
  scale_y_continuous(breaks = c(10,20,30,40,50,60,70,80,90,100)) + scale_x_continuous(breaks = c(1984,1990,1995,2000,2005,2010,2015,2020)) +
  
  dark_mode(theme_classic()) + 
  
  theme(legend.box.margin = margin(0,0,0,0, "cm")) + 
  
  theme(axis.title.y = element_text(vjust = +2.5), axis.text.x = element_text(size = 12, face = "bold"), axis.text.y = element_text(size = 10, face = "bold")) +
  
    annotate("text", x=1987, y=0, label="By: Varvara Fedorova & Tara Harmon", size = 2.5, color = "darkgray") +


  labs(x = "" , y = "% of Fire at High Severity" , title = "Size & Severity Trends of CA Wildfires 1984 - 2020" , subtitle = "" , caption = "Showing data only for fires more than 25,000 acres in size")
ggplotly(p2, tooltip = "text") 

Where to go from Here

A more nuanced way to communicate fire in California has the potential to significantly support efforts to shift perceptions, attitudes, and education about fire. While fear- and suppression-driven responses to fire are justified at times, these responses are reactionary and don’t account for the role fire plays in our ecosystems. Suppressing all small fires now means large, catastrophic fires later. Our first step out of this negative feedback loop is advocacy, implementation & support for more prescribed burning, letting some fires burn naturally, and active, informed land management.

Limitations

Graphical representation and analysis is limited to the fires chosen for the dataset. This data is limited to a 1984 - 2020 time frame. Full 2021 & 2022 data are not yet available. Acres burned in our visualization are not differentiated by fuel type and exclude grass fuel type. For data visualization purposes, fires were filtered for size at a minimum of 25,000 acres. Please refer to the citation for more information on the dataset.

Citations

Xu, Qingqing et al. (2022), Wildfire burn severity and emissions inventory: an example implementation over California, Dryad, Dataset, https://doi.org/10.6071/M3QX18

Inspired by Hawkins, E. Show Your Stripes. 2018-2019. https://showyourstripes.info/.

RStudio Team (2020). RStudio: Integrated Development for R. RStudio, PBC, Boston, MA URL http://www.rstudio.com/.