{
  "stac_version": "1.0.0",
  "stac_extensions": [
    "https://stac-extensions.github.io/table/v1.2.0/schema.json",
    "https://stac-extensions.github.io/scientific/v1.0.0/schema.json",
    "https://stac-extensions.github.io/version/v1.2.0/schema.json"
  ],
  "type": "Collection",
  "id": "mtbs-perimeters-1984-2024",
  "title": "MTBS Burned Area Perimeters, United States 1984-2024",
  "description": "Burned-area boundaries from the Monitoring Trends in Burn Severity (MTBS) program, a joint USGS and USDA Forest Service effort that has mapped every large fire in the United States since 1984. One polygon per mapped fire, covering the conterminous United States, Alaska, Hawaii and Puerto Rico, with the fire's name, ignition date, type and published acreage. Published as GeoParquet, PMTiles and H3 hex parquet at native resolution 10 with parents 9, 8 and 0.\n\n**This is not a complete fire census, and a count of fires here is not a count of fires.** MTBS maps only fires above a size threshold: 1,000 acres in the western United States and 500 acres in the east. Smaller fires are absent by design, not by omission, and they are the large majority of ignitions. For ignition counts and small-fire statistics use a fire occurrence database rather than this collection.\n\n**Perimeters record extent, not severity.** Everything inside a perimeter is inside the fire, but fire effects vary enormously within one boundary \u2014 unburned islands sit beside stand-replacing patches. For per-pixel severity use the companion severity collections in this bucket, `mtbs-severity-1984-2024-conus` and `mtbs-severity-1984-2024-ak`, which join to this layer on the resolution 8 or resolution 10 cell.\n\n**The same ground burns more than once, and that is signal rather than duplication.** Over four decades a great deal of land in the fire-prone West has burned two, three or more times. Any total acreage therefore has to say which of two different quantities it means, and the two differ substantially:\n\n```sql\n-- unique ground: area that burned at least once, each place counted once\nSELECT COUNT(DISTINCT h10) FROM read_parquet('...');\n-- fire-years: each (place, year) pair counted separately, so a reburn counts twice\nSELECT COUNT(DISTINCT (h10, year)) FROM read_parquet('...');\n-- how often each place burned, and where reburns are\nSELECT h10, COUNT(DISTINCT year) AS times_burned\nFROM read_parquet('...') GROUP BY h10 HAVING times_burned > 1;\n```\n\nMeasured on this release: 45,128,351 resolution 10 cells burned at least once, against 57,552,314 (fire, cell) pairs \u2014 27.5 percent more fire-years than unique ground. 8,365,073 cells burned more than once and the most-burned cell burned 19 times. Deduplicating across years to make a total \"clean\" destroys that record, which for many questions is the interesting part.\n\n**Wildfire and prescribed fire are both here.** `Incid_Type` separates them: WF is wildfire, Rx is prescribed fire, UNK is unknown. A total across all rows mixes intentional management burning with unplanned fire.\n\nProvenance: retrieved from the USGS ScienceBase release on 2026-08-21. Edition: Burned Areas Boundaries, version 12.0, April 2025. The source package is staged unmodified at `https://s3-west.nrp-nautilus.io/public-fire/raw/mtbs/perims/mtbs_perims_DD.zip` (374,092,911 bytes, MD5 65278fcb893f94cd0eaf66d966ee7125). Coordinates are decimal degrees on NAD83, read as EPSG:4326.",
  "license": "public-domain",
  "version": "Burned Areas Boundaries, version 12.0, April 2025",
  "sci:citation": "Eidenshink, J., Schwind, B., Brewer, K., Zhu, Z.-L., Quayle, B., and Howard, S. 2007. A project for monitoring trends in burn severity. Fire Ecology 3(1): 3-21. Data: USGS/USFS Monitoring Trends in Burn Severity, Burned Areas Boundaries, version 12.0 (April 2025). Accessed 2026-08-21 from https://www.sciencebase.gov/catalog/item/5e7229b8e4b01d509268afba.",
  "sci:publications": [
    {
      "doi": "10.1186/s42408-020-00076-y",
      "citation": "Picotte, J.J., et al. 2020. Changes to the Monitoring Trends in Burn Severity program mapping production procedures and data products. Fire Ecology 16:16."
    }
  ],
  "keywords": [
    "wildfire",
    "fire perimeters",
    "burn severity",
    "MTBS",
    "H3",
    "United States",
    "USGS",
    "USDA Forest Service"
  ],
  "extent": {
    "spatial": {
      "bbox": [
        [
          -166.188,
          17.947,
          -65.338,
          70.159
        ]
      ]
    },
    "temporal": {
      "interval": [
        [
          "1984-01-01T00:00:00Z",
          "2024-12-31T23:59:59Z"
        ]
      ]
    }
  },
  "providers": [
    {
      "name": "USGS EROS and USDA Forest Service Geospatial Technology and Applications Center (Monitoring Trends in Burn Severity)",
      "roles": [
        "producer",
        "licensor"
      ],
      "url": "https://www.mtbs.gov/"
    },
    {
      "name": "USGS ScienceBase",
      "roles": [
        "host"
      ],
      "url": "https://www.sciencebase.gov/catalog/item/5e7229b8e4b01d509268afba"
    },
    {
      "name": "Boettiger Lab / cirrus",
      "roles": [
        "processor",
        "host"
      ],
      "url": "https://s3-west.nrp-nautilus.io/public-fire/"
    }
  ],
  "links": [
    {
      "rel": "self",
      "href": "https://s3-west.nrp-nautilus.io/public-fire/mtbs-perimeters-1984-2024/stac-collection.json",
      "type": "application/json"
    },
    {
      "rel": "root",
      "href": "https://s3-west.nrp-nautilus.io/public-data/stac/catalog.json",
      "type": "application/json"
    },
    {
      "rel": "parent",
      "href": "https://s3-west.nrp-nautilus.io/public-fire/stac-collection.json",
      "type": "application/json"
    },
    {
      "rel": "license",
      "href": "https://www.usa.gov/government-works",
      "type": "text/html",
      "title": "US Government work - public domain"
    },
    {
      "rel": "about",
      "href": "https://www.mtbs.gov/",
      "type": "text/html",
      "title": "Monitoring Trends in Burn Severity program"
    },
    {
      "rel": "source",
      "href": "https://www.sciencebase.gov/catalog/item/5e7229b8e4b01d509268afba",
      "type": "text/html",
      "title": "USGS ScienceBase release read on 2026-08-21"
    },
    {
      "rel": "cite-as",
      "href": "https://doi.org/10.1186/s42408-020-00076-y",
      "title": "Picotte et al. 2020, Fire Ecology 16:16"
    }
  ],
  "assets": {
    "mtbs-perimeters-1984-2024-parquet": {
      "href": "https://s3-west.nrp-nautilus.io/public-fire/mtbs-perimeters-1984-2024.parquet",
      "type": "application/x-parquet",
      "title": "MTBS burned area perimeters - GeoParquet",
      "description": "One row per mapped fire, with its perimeter geometry in EPSG:4326. This is the authoritative grain: `COUNT(*)` here is the number of mapped fires and `SUM(BurnBndAc)` here is the published acreage, no deduplication required.",
      "roles": [
        "data"
      ],
      "table:columns": [
        {
          "name": "_cng_fid",
          "type": "int64",
          "description": "Row-unique feature identifier assigned during conversion. Use it for feature counts and for deduplicating before any total."
        },
        {
          "name": "OGC_FID",
          "type": "int64",
          "description": "Sequential feature number carried over from the source shapefile. Present for traceability; use _cng_fid or Event_ID as the feature key."
        },
        {
          "name": "Event_ID",
          "type": "string",
          "description": "MTBS event identifier for the fire, unique per mapped fire and stable across MTBS products. Measured on this release: 30,730 fires, 30,730 distinct values, none blank, so it is one row per fire on the flat table. Use it to join to other MTBS data or to group the perimeter with its severity mapping."
        },
        {
          "name": "irwinID",
          "type": "string",
          "description": "IRWIN (Integrated Reporting of Wildland-Fire Information) incident identifier, where the fire could be matched to an IRWIN record. Blank where no match exists."
        },
        {
          "name": "Incid_Name",
          "type": "string",
          "description": "Fire name as recorded in the source fire occurrence databases. UNNAMED where the fire could not be identified."
        },
        {
          "name": "Incid_Type",
          "type": "string",
          "description": "Documented type of fire. Values: Wildfire, Prescribed Fire, Wildland Fire Use, Unknown. Prescribed fire and wildland fire use are intentional management burning, so a total across all rows mixes them with unplanned wildfire and answers neither question on its own. Of the 30,730 mapped fires, 16,960 are wildfire, 8,870 prescribed fire, 211 wildland fire use and 4,689 unknown.",
          "values": [
            "Wildfire",
            "Prescribed Fire",
            "Wildland Fire Use",
            "Unknown"
          ]
        },
        {
          "name": "Map_ID",
          "type": "int64",
          "description": "Internal MTBS mapping identifier for the assessment."
        },
        {
          "name": "Map_Prog",
          "type": "string",
          "description": "Mapping program or protocol under which the fire was mapped. Values: MTBS=Monitoring Trends in Burn Severity. Every fire in this release carries the same value, so the column does not discriminate between fires.",
          "values": [
            "MTBS"
          ]
        },
        {
          "name": "Asmnt_Type",
          "type": "string",
          "description": "Assessment type, which controls what the severity classes mean for this fire. Initial assessments use imagery from immediately after the fire and suit grassland and low-biomass systems; extended assessments use imagery from the following growing season and suit forests. SS marks a single-scene assessment. Values: Initial, Initial (SS), Extended, Extended (SS).",
          "values": [
            "Initial",
            "Initial (SS)",
            "Extended",
            "Extended (SS)"
          ]
        },
        {
          "name": "BurnBndAc",
          "type": "int64",
          "description": "Acres inside the mapped fire perimeter, as published for the whole fire."
        },
        {
          "name": "BurnBndLat",
          "type": "string",
          "description": "Latitude of the centroid of the mapped fire perimeter, stored as text in the source. Cast it before comparing numerically: CAST(BurnBndLat AS DOUBLE)."
        },
        {
          "name": "BurnBndLon",
          "type": "string",
          "description": "Longitude of the centroid of the mapped fire perimeter, stored as text in the source. Cast it before comparing numerically: CAST(BurnBndLon AS DOUBLE)."
        },
        {
          "name": "Ig_Date",
          "type": "date",
          "description": "Fire ignition date from the source fire occurrence databases. Extract the fire year with EXTRACT(year FROM Ig_Date)."
        },
        {
          "name": "Pre_ID",
          "type": "string",
          "description": "Identifier of the pre-fire Landsat or Sentinel scene used."
        },
        {
          "name": "Post_ID",
          "type": "string",
          "description": "Identifier of the post-fire Landsat or Sentinel scene used."
        },
        {
          "name": "Perim_ID",
          "type": "string",
          "description": "Identifier of the Landsat or Sentinel scene used to help delineate the perimeter of an extended assessment. Populated only for some fires."
        },
        {
          "name": "dNBR_offst",
          "type": "int64",
          "description": "Mean differenced Normalized Burn Ratio sampled from unburned area outside the perimeter, used as the offset for this fire's severity thresholds."
        },
        {
          "name": "dNBR_stdDv",
          "type": "int64",
          "description": "Standard deviation of the differenced Normalized Burn Ratio sampled from unburned area outside the perimeter."
        },
        {
          "name": "NoData_T",
          "type": "int64",
          "description": "No-data threshold for this fire, in differenced Normalized Burn Ratio index values (index values of the Normalized Burn Ratio for single-scene assessments)."
        },
        {
          "name": "IncGreen_T",
          "type": "int64",
          "description": "Increased-greenness threshold for this fire, in the same index units as NoData_T."
        },
        {
          "name": "Low_T",
          "type": "int64",
          "description": "Unburned-to-low severity threshold for this fire, in the same index units as NoData_T. Thresholds are set per fire, which is why severity classes are comparable between fires even though the underlying index values are not."
        },
        {
          "name": "Mod_T",
          "type": "int64",
          "description": "Low-to-moderate severity threshold for this fire, in the same index units as NoData_T."
        },
        {
          "name": "High_T",
          "type": "int64",
          "description": "Moderate-to-high severity threshold for this fire, in the same index units as NoData_T."
        },
        {
          "name": "Comment",
          "type": "string",
          "description": "Notes recorded by the mapping analyst for the end user."
        },
        {
          "name": "geom",
          "type": "geometry",
          "description": "Fire perimeter geometry (GeoParquet), in EPSG:4326."
        }
      ]
    },
    "mtbs-perimeters-1984-2024-pmtiles": {
      "href": "https://s3-west.nrp-nautilus.io/public-fire/mtbs-perimeters-1984-2024.pmtiles",
      "type": "application/vnd.pmtiles",
      "title": "MTBS burned area perimeters - PMTiles",
      "description": "Vector tiles for web maps. Source layer: `mtbs-perimeters-1984-2024`.",
      "roles": [
        "visual"
      ],
      "vector:layers": [
        "mtbs-perimeters-1984-2024"
      ],
      "table:columns": [
        {
          "name": "_cng_fid",
          "type": "int64"
        },
        {
          "name": "OGC_FID",
          "type": "int64"
        },
        {
          "name": "Event_ID",
          "type": "string"
        },
        {
          "name": "irwinID",
          "type": "string"
        },
        {
          "name": "Incid_Name",
          "type": "string"
        },
        {
          "name": "Incid_Type",
          "type": "string",
          "values": [
            "Wildfire",
            "Prescribed Fire",
            "Wildland Fire Use",
            "Unknown"
          ]
        },
        {
          "name": "Map_ID",
          "type": "int64"
        },
        {
          "name": "Map_Prog",
          "type": "string",
          "values": [
            "MTBS"
          ]
        },
        {
          "name": "Asmnt_Type",
          "type": "string",
          "values": [
            "Initial",
            "Initial (SS)",
            "Extended",
            "Extended (SS)"
          ]
        },
        {
          "name": "BurnBndAc",
          "type": "int64"
        },
        {
          "name": "BurnBndLat",
          "type": "string"
        },
        {
          "name": "BurnBndLon",
          "type": "string"
        },
        {
          "name": "Ig_Date",
          "type": "date"
        },
        {
          "name": "Pre_ID",
          "type": "string"
        },
        {
          "name": "Post_ID",
          "type": "string"
        },
        {
          "name": "Perim_ID",
          "type": "string"
        },
        {
          "name": "dNBR_offst",
          "type": "int64"
        },
        {
          "name": "dNBR_stdDv",
          "type": "int64"
        },
        {
          "name": "NoData_T",
          "type": "int64"
        },
        {
          "name": "IncGreen_T",
          "type": "int64"
        },
        {
          "name": "Low_T",
          "type": "int64"
        },
        {
          "name": "Mod_T",
          "type": "int64"
        },
        {
          "name": "High_T",
          "type": "int64"
        },
        {
          "name": "Comment",
          "type": "string"
        }
      ]
    },
    "mtbs-perimeters-1984-2024-hex": {
      "href": "https://s3-west.nrp-nautilus.io/public-fire/mtbs-perimeters-1984-2024/hex/h0=*/data_0.parquet",
      "type": "application/x-parquet",
      "title": "MTBS burned area perimeters - H3 hex (resolution 10)",
      "description": "One row per (fire perimeter, resolution 10 cell) pair \u2014 57,552,314 rows for 30,730 perimeters, because a perimeter that covers many cells appears on many rows. Every attribute column is therefore repeated on every cell the perimeter covers, so fire counts and acreage totals have to go through `_cng_fid`:\n\n```sql\n-- correct: number of mapped fires\nSELECT COUNT(DISTINCT _cng_fid) FROM read_parquet('https://s3-west.nrp-nautilus.io/public-fire/mtbs-perimeters-1984-2024/hex/h0=*/data_0.parquet');\n-- correct: published acreage, each fire counted once\nSELECT SUM(BurnBndAc) FROM (SELECT DISTINCT _cng_fid, BurnBndAc\n                           FROM read_parquet('https://s3-west.nrp-nautilus.io/public-fire/mtbs-perimeters-1984-2024/hex/h0=*/data_0.parquet'));\n-- COUNT(*) and a raw SUM(BurnBndAc) count cells, not fires, and inflate accordingly\n```\n\nFor the area of a selection, prefer the H3 footprint of its distinct cells over summing `BurnBndAc`. Overlapping perimeters from different years share cells, which is the reburn record rather than an error \u2014 see the collection description for how to count unique ground separately from fire-years.",
      "roles": [
        "data"
      ],
      "h3:native_resolution": 10,
      "h3:parent_resolutions": [
        9,
        8,
        0
      ],
      "table:columns": [
        {
          "name": "_cng_fid",
          "type": "int64",
          "description": "Row-unique feature identifier assigned during conversion. Use it for feature counts and for deduplicating before any total."
        },
        {
          "name": "OGC_FID",
          "type": "int64",
          "description": "Sequential feature number carried over from the source shapefile. Present for traceability; use _cng_fid or Event_ID as the feature key."
        },
        {
          "name": "Event_ID",
          "type": "string",
          "description": "MTBS event identifier for the fire, unique per mapped fire and stable across MTBS products. Measured on this release: 30,730 fires, 30,730 distinct values, none blank, so it is one row per fire on the flat table. Use it to join to other MTBS data or to group the perimeter with its severity mapping."
        },
        {
          "name": "irwinID",
          "type": "string",
          "description": "IRWIN (Integrated Reporting of Wildland-Fire Information) incident identifier, where the fire could be matched to an IRWIN record. Blank where no match exists."
        },
        {
          "name": "Incid_Name",
          "type": "string",
          "description": "Fire name as recorded in the source fire occurrence databases. UNNAMED where the fire could not be identified."
        },
        {
          "name": "Incid_Type",
          "type": "string",
          "description": "Documented type of fire. Values: Wildfire, Prescribed Fire, Wildland Fire Use, Unknown. Prescribed fire and wildland fire use are intentional management burning, so a total across all rows mixes them with unplanned wildfire and answers neither question on its own. Of the 30,730 mapped fires, 16,960 are wildfire, 8,870 prescribed fire, 211 wildland fire use and 4,689 unknown.",
          "values": [
            "Wildfire",
            "Prescribed Fire",
            "Wildland Fire Use",
            "Unknown"
          ]
        },
        {
          "name": "Map_ID",
          "type": "int64",
          "description": "Internal MTBS mapping identifier for the assessment."
        },
        {
          "name": "Map_Prog",
          "type": "string",
          "description": "Mapping program or protocol under which the fire was mapped. Values: MTBS=Monitoring Trends in Burn Severity. Every fire in this release carries the same value, so the column does not discriminate between fires.",
          "values": [
            "MTBS"
          ]
        },
        {
          "name": "Asmnt_Type",
          "type": "string",
          "description": "Assessment type, which controls what the severity classes mean for this fire. Initial assessments use imagery from immediately after the fire and suit grassland and low-biomass systems; extended assessments use imagery from the following growing season and suit forests. SS marks a single-scene assessment. Values: Initial, Initial (SS), Extended, Extended (SS).",
          "values": [
            "Initial",
            "Initial (SS)",
            "Extended",
            "Extended (SS)"
          ]
        },
        {
          "name": "BurnBndAc",
          "type": "int64",
          "description": "Acres inside the mapped fire perimeter, as published for the whole fire."
        },
        {
          "name": "BurnBndLat",
          "type": "string",
          "description": "Latitude of the centroid of the mapped fire perimeter, stored as text in the source. Cast it before comparing numerically: CAST(BurnBndLat AS DOUBLE)."
        },
        {
          "name": "BurnBndLon",
          "type": "string",
          "description": "Longitude of the centroid of the mapped fire perimeter, stored as text in the source. Cast it before comparing numerically: CAST(BurnBndLon AS DOUBLE)."
        },
        {
          "name": "Ig_Date",
          "type": "date",
          "description": "Fire ignition date from the source fire occurrence databases. Extract the fire year with EXTRACT(year FROM Ig_Date)."
        },
        {
          "name": "Pre_ID",
          "type": "string",
          "description": "Identifier of the pre-fire Landsat or Sentinel scene used."
        },
        {
          "name": "Post_ID",
          "type": "string",
          "description": "Identifier of the post-fire Landsat or Sentinel scene used."
        },
        {
          "name": "Perim_ID",
          "type": "string",
          "description": "Identifier of the Landsat or Sentinel scene used to help delineate the perimeter of an extended assessment. Populated only for some fires."
        },
        {
          "name": "dNBR_offst",
          "type": "int64",
          "description": "Mean differenced Normalized Burn Ratio sampled from unburned area outside the perimeter, used as the offset for this fire's severity thresholds."
        },
        {
          "name": "dNBR_stdDv",
          "type": "int64",
          "description": "Standard deviation of the differenced Normalized Burn Ratio sampled from unburned area outside the perimeter."
        },
        {
          "name": "NoData_T",
          "type": "int64",
          "description": "No-data threshold for this fire, in differenced Normalized Burn Ratio index values (index values of the Normalized Burn Ratio for single-scene assessments)."
        },
        {
          "name": "IncGreen_T",
          "type": "int64",
          "description": "Increased-greenness threshold for this fire, in the same index units as NoData_T."
        },
        {
          "name": "Low_T",
          "type": "int64",
          "description": "Unburned-to-low severity threshold for this fire, in the same index units as NoData_T. Thresholds are set per fire, which is why severity classes are comparable between fires even though the underlying index values are not."
        },
        {
          "name": "Mod_T",
          "type": "int64",
          "description": "Low-to-moderate severity threshold for this fire, in the same index units as NoData_T."
        },
        {
          "name": "High_T",
          "type": "int64",
          "description": "Moderate-to-high severity threshold for this fire, in the same index units as NoData_T."
        },
        {
          "name": "Comment",
          "type": "string",
          "description": "Notes recorded by the mapping analyst for the end user."
        },
        {
          "name": "h10",
          "type": "uint64",
          "description": "H3 cell identifier at resolution 10."
        },
        {
          "name": "h9",
          "type": "uint64",
          "description": "H3 cell identifier at resolution 9."
        },
        {
          "name": "h8",
          "type": "uint64",
          "description": "H3 cell identifier at resolution 8. This is the shared join key across the catalog \u2014 use it to join this layer to the wildfire hazard potential collections in this bucket and to inventoried roadless areas."
        },
        {
          "name": "h0",
          "type": "int64",
          "description": "H3 cell identifier at resolution 0, used as the partition key for hive-partitioned reads."
        }
      ]
    }
  }
}
