Fast access to MTBS (Monitoring Trends in Burn Severity) fire perimeter data, SE FireMap burn severity mosaics, USFS Wildland-Urban Interface (WUI) data, and EPA/CEC ecoregion boundaries straight from the source.
Overview
fireR provides convenient access to USGS fire datasets and EPA/CEC ecoregion boundaries:
-
get_mtbs()downloads the MTBS ZIP to a directory -
read_mtbs()reads, filters, and returns data from that ZIP assf,terra::SpatVector, ordata.frame -
get_sefire()downloads SE FireMap Annual Burn Severity Mosaic ZIP(s) for one or more years (2000–2022) -
get_nal1eco()/get_nal2eco()/get_nal3eco()— download and load CEC North America ecoregions at Levels 1–3 -
get_usl3eco()/get_usl4eco()— download and load US EPA ecoregions at Levels 3–4 (with optional state boundaries) -
get_nifc()— download NIFC (National Interagency Fire Center) wildfire perimeters dataset from figshare -
get_fod()— download the USFS Fire Occurrence Database (FPA-FOD) GeoPackage ZIP from the Forest Service Research Data Archive -
get_wui()— download the USFS Wildland-Urban Interface (WUI) dataset from the USFS public Box archive (4.65 GB — slow, run in the background)
Key features:
- ⚡ Fast downloads — uses
curl’s HTTP/2 persistent connection - 🗓️ Flexible year filtering — single year (
2020), range (2010:2020), or specific years (c(2000, 2010, 2020)) - 🗺️ Flexible output —
sf,terra, or plaindata.frame - 💾 Optional caching — skip the download on repeat calls
Installation
# Install from GitHub (once published)
# install.packages("pak")
pak::pak("noahweidig/fireR")Usage
Filter to a year range
fires_recent <- read_mtbs(years = 2010:2023, output = "sf")Single year
fires_2020 <- read_mtbs(years = 2020, output = "sf")Return as terra::SpatVector
fires_vect <- read_mtbs(years = 2015:2023, output = "vect")Attribute table only (no geometry)
tbl <- read_mtbs(geometry = FALSE)SE FireMap
Download burn severity mosaics for one or more years:
# Single year
zip_path <- get_sefire(2020)
# Contiguous range
zip_paths <- get_sefire(2015:2020, directory = "data/sefire")
# Specific years
zip_paths <- get_sefire(c(2000, 2010, 2020))NIFC Wildfire Perimeters
Download the NIFC wildfire perimeters dataset from figshare:
# Download to current directory
zip_path <- get_nifc()
# Download to a specific directory
zip_path <- get_nifc(directory = "data/nifc")USFS Fire Occurrence Database (FOD)
Download the FPA-FOD GeoPackage ZIP from the Forest Service Research Data Archive:
# Download to current directory
zip_path <- get_fod()
# Download to a specific directory
zip_path <- get_fod(directory = "data/fod")USFS Wildland-Urban Interface (WUI)
Warning: The WUI ZIP is approximately 4.65 GB and will be slow to download. It is strongly recommended to run
get_wui()in a background R session so your interactive session remains responsive.
# Recommended: run in a background session
bg <- callr::r_bg(function() fireR::get_wui(directory = "data/wui"))
bg$wait()
# Or download to the current directory (blocks the session)
zip_path <- get_wui()
# Download to a specific directory
zip_path <- get_wui(directory = "data/wui")Ecoregions
North America (CEC Levels 1–3)
# Level 1 — broadest continental divisions
na_l1 <- get_nal1eco()
# Level 2 — finer continental subdivisions
na_l2 <- get_nal2eco()
# Level 3 — finest continental scale (= US EPA Level III)
na_l3 <- get_nal3eco(output = "vect")US EPA (Levels 3–4, with optional state boundaries)
# Level 3 — without state boundaries (default)
us_l3 <- get_usl3eco()
# Level 3 — with state boundaries
us_l3_states <- get_usl3eco(state = TRUE)
# Level 4 — finest US subdivisions
us_l4 <- get_usl4eco()
us_l4_states <- get_usl4eco(state = TRUE)All ecoregion functions accept output = "sf" (default) or output = "vect" and a cache argument to persist downloads between sessions.
read_mtbs() Arguments
| Argument | Type | Default | Description |
|---|---|---|---|
years |
integer |
NULL |
Single year, range (2010:2020), or specific years (c(2000, 2010)). NULL = no filter |
type |
character |
NULL |
Incident type(s). NULL = all types |
geometry |
logical |
TRUE |
Return a spatial object. FALSE → data.frame
|
output |
character |
"vect" |
"sf" or "vect" / "terra"
|
cache |
logical/character
|
FALSE |
Directory containing the downloaded ZIP |
verbose |
logical |
TRUE |
Print progress messages |
Download data to disk first with get_mtbs():
mtbs_dir <- get_mtbs()About MTBS
Monitoring Trends in Burn Severity (MTBS) is a multi-agency programme (USGS, USFS) that maps the location, extent, and burn severity of all large wildfires across the conterminous USA, Alaska, Hawaii, and Puerto Rico from 1984 to the present.