TWIG Data Resources
Data, documentation and code for the Treatment and Wildfire Interagency Geodatabase (TWIG).
About TWIG
The Treatment and Wildfire Interagency Geodatabase (TWIG) is a free, nationwide database of fuel treatments and related land management in the United States. It gathers records from federal and state systems into one table, the Treatment Index, with shared fields, dates and categories. Most records are fuel treatments: work meant to change fuels and wildfire behavior. TWIG also keeps some activities that weren’t meant as fuel treatments but likely changed fuels anyway, such as timber harvest and some wildfires. TWIG includes a wildfire only when the reporting agency counted it as a treatment, so it is not a complete record of wildfire occurrence. For that, the TWIG Viewer includes wildfire layers from the National Interagency Fire Center (NIFC) and other sources.
This page is organized from quick start to full detail:
- Get the data: the online Viewer, the API, full downloads, source code, and how to cite TWIG.
- Understand the data: how TWIG is built, where records come from, how treatments are classified, and known errors.
- Reference: every field, recent changes, and a glossary.
TWIG at a glance (as of November 2026)
| Item | Detail |
|---|---|
| What it is | One polygon per management activity, with what was done, when, by whom and, for some sources, funding and cost |
| Records | About 1.56 million (about 1.46 million in the downloadable file, which does not currently include NASF-sourced state data) |
| Time span | 1984 to present, plus planned future treatments |
| Sources | USDA Forest Service FACTS; Department of the Interior IFPRS, plus an archived copy of NFPORS; state agencies and NGOs through the National Fuels Treatments Initiative (NFT) |
| Updates | Synced weekly with the source databases (except NFPORS, which is archived). |
| Coverage | All 50 states and some territories; mostly federal land, with growing state coverage |
| Access | TWIG Viewer (downloads of up to 10,000 records), ArcGIS REST API (1,000 records per request), full download (Esri file geodatabase, about 1.3 GB) |
| License | Data: CC BY 4.0. Code: GNU GPL v3 |
| How to cite | When using TWIG data, cite TWIG by citing our Data Descriptor paper: Call et al. (2025), Scientific Data 12:1485, https://doi.org/10.1038/s41597-025-05859-z |
| Intended uses | Tracking treatments across agencies and large areas; landscape-scale planning and prioritization; research on treatment effects and on how treatments and wildfires interact; policy analysis |
| Do not use for | Real-time decision support or emergency management; fine-scale mapping, planning or analysis, such as single treatment projects, stands or trees |
Which resource do I need?
| I want to… | Use |
|---|---|
| See treatments on a map, or summarize an area | TWIG Viewer |
| Download records for one small area: up to 10,000 records, such as Larimer County, Colorado (about 7,900) | TWIG Viewer download (TWIG Viewer shows all records, but downloads via the Viewer are capped at 10,000 records) |
| Pull a filtered subset into ArcGIS, R or Python: 10,000 to about 100,000 records, such as all of Colorado (about 67,000) | REST API |
| Analyze more than about 100,000 records offline, such as Idaho (about 137,000), Montana (about 265,000) or the nation | Full download |
| Rebuild or modify TWIG | Source code and schema |
| Cite TWIG in a publication | Data descriptor paper |
| Look up what a field means | Attribute reference |
Get the data
Use TWIG online, pull it through an API, or download the whole thing. TWIG data are free to use under a CC BY 4.0 license.
Explore TWIG online
Quick answer: The TWIG Viewer maps TWIG's treatments alongside wildfire perimeters and summarizes them by state, county, congressional district or federal land unit, with no GIS software needed.
- TWIG Viewer. Downloads from the Viewer are capped at 10,000 records. Video tutorials are on the Program Resources page.
- Treatment index REST API: an ArcGIS feature service of the treatment index. It returns up to 1,000 records per request and has no published rate limit, so larger queries need paging; ArcGIS Pro, QGIS and most R and Python libraries page automatically.
- Layer details on ArcGIS.
Download TWIG
Quick answer: Download up to 10,000 records from the TWIG Viewer, pull up to about 100,000 through the REST API, or download the full treatment index as one zipped Esri file geodatabase (about 1.3 GB, updated weekly).
Pick a route by how many records you need:
- Up to 10,000 records: select and download them in the TWIG Viewer. Viewer downloads are capped at 10,000 records.
- 10,000 to about 100,000 records: use the REST API (see Explore TWIG online).
- More than about 100,000 records: download the full treatment index (treatment_index.zip), about 1.46 million records as of November 2026.
Why these break points? The API returns up to 1,000 records per request and has no published rate limit (as of November 2026, this may change in the future). In tests, each request for 1,000 records with their shapes took about 2 seconds and returned about 10 MB of JSON. At 100,000 records that comes to about 100 requests and roughly 1 GB of data, close to the size of the whole compressed download (about 1.3 GB). If you don’t need the shapes, request attributes only; the responses are much smaller.
How many records to expect (as of Nov 4, 2026):
| Area | Date range | In the Viewer | In downloads | Best route |
|---|---|---|---|---|
| Nebraska | All years | 2,278 | 2,064 | Viewer download |
| Eagle County, Colorado | All years | 2,305 | 2,254 | Viewer download |
| Larimer County, Colorado | 2000–2025 | 6,217 | 5,061 | Viewer download |
| Larimer County, Colorado | All years | 9,103 | 7,947 | Viewer download |
| Colorado | All years | 67,025 | 54,116 | REST API |
| Washington | All years | 76,956 | 65,365 | REST API |
| Idaho | All years | 136,782 | 136,782 | Full download |
| Montana | All years | 265,028 | 264,009 | Full download |
| United States | All years | 1,557,451 | 1,456,407 | Full download |
“All years” means 1984 to the present, plus planned treatments; date ranges use treatment_date. State counts use the state field. County counts include every polygon that touches the county.
State and NGO records are Viewer-only for now. About 100,000 records from state agencies and NGOs, shared through the National Fuels Treatments Initiative (NFT), appear in the Viewer but are not included in downloads. Our current data-sharing agreements don’t allow us to redistribute them. As of November 2026, we are currently working on a new data-sharing agreement and expect most states’ records to become downloadable through TWIG in the coming months. You can also explore these records in the NFT Explorer.
Code and schema
Quick answer: All code that builds TWIG is open source on GitHub under the GNU GPL v3. Each source has its own download and insert steps. FACTS Common Attributes gets by far the most filtering, and its inclusion rules are in treatment_index/processing.py.
| Part of the build | Where in the code | What it does |
|---|---|---|
| Run order | sweri_treatment_index.py: run_treatment_index |
Runs every step below, in order |
| FACTS Hazardous Fuels | tasks.py: hazardous_fuels_download_and_insert; processing.py: hazardous_fuels_date_filtering, hazardous_fuels_insert, remove_wildfire_non_treatment |
Downloads one file geodatabase, keeps records from 1984 on, maps fields |
| FACTS Common Attributes | tasks.py: common_attributes_download_and_insert, common_attributes_processing, common_attributes_type_filter; processing.py: the exclude_*, include_*, activity_filter and set_included functions, then common_attributes_insert |
Downloads nine regional file geodatabases and applies TWIG’s inclusion rules (see Data sources) |
| IFPRS | tasks.py: ifprs_download_and_insert; processing.py: ifprs_insert, ifprs_treatment_date, ifprs_status_consolidation |
Queries the IFPRS feature service for fuel treatments, maps fields, sets dates and status |
| NFPORS (archived) | tasks.py: nfpors_download_and_insert; processing.py: nfpors_insert, nfpors_fund_code, nfpors_treatment_date_and_status |
Reloads the stored NFPORS copy |
| State and NGO (NFT) | tasks.py: state_data_download_and_insert; processing.py: state_data_insert |
Loads NFT’s state and NGO file, completed records only |
| Cleaning and classification | sweri_treatment_index.py: fund_source_updates, update_total_cost, add_twig_category, add_fallon_category, simplify_large_polygons |
Groups fund codes, calculates costs, assigns categories, fixes geometry |
| Error flags | sweri_utils/error_flagging.py |
Sets every flag in error |
To build your own version of TWIG from the code, start from the schema and lookup tables: an empty file geodatabase that defines the treatment index fields and the lookup tables the code uses. It contains no treatment records.
Cite TWIG
Quick answer: Please cite our data descriptor paper in any publication that uses TWIG data, and give the date you downloaded the data.
Call, A., Tomczyk, N., Withnall, K.A., Dappen, P., Heusinkveld, D., Mueller, S.E., Holloway, B., Shennan, K., Herring, J.A., Franko, A., Colavito, M.M., Kimple, A.D., Sánchez Meador, A.J. & Stevens-Rumann, C.S. A new geodatabase of fuel treatments across federal lands in the USA. Sci Data 12, 1485 (2025). https://doi.org/10.1038/s41597-025-05859-z
The paper (published Aug 26, 2025) explains why and how TWIG was built. It describes the July 2025 version, which held FACTS and NFPORS records only. To reproduce the paper’s results, use the archived snapshot on Zenodo, TWIG_treatment_index_20250709.zip (doi:10.5281/zenodo.15851622). For current data and documentation, use this page.
License: TWIG data are licensed under CC BY 4.0; TWIG code is licensed under the GNU GPL v3.
Understand the data
How TWIG is assembled, where each record comes from, how to classify and filter records, and what to watch out for.
How TWIG is built
Quick answer: Each week, TWIG downloads records from each source system, keeps the ones that describe fuel-related work, maps them onto one shared set of fields, flags likely errors, and publishes the result.
The treatment index is the heart of TWIG, and the place where fuel treatment data is kept. It is a single table where each record is one management activity with one polygon (or multipart polygon) and its attributes: what was done, when, by whom, and, where the source records them, funding and estimated cost. TWIG keeps each record as its source system has it. It doesn’t correct errors; it flags them (see Error flags).
The weekly build runs in six steps:
- Download. FACTS Hazardous Fuels (one Esri file geodatabase) and FACTS Common Attributes (nine Esri file geodatabases, one per Forest Service region), IFPRS from its feature service, and state and NGO records from the NFT. The NFPORS service is offline, so TWIG reuses the latest available copy (records last modified Feb 20, 2025).
- Filter. Keep records that have a polygon with some area. For federal sources, keep records dated 1984 or later. From FACTS Hazardous Fuels, drop records whose category is “Wildfire Non-Treatment.” From FACTS Common Attributes, keep only records that pass TWIG’s inclusion rules and aren’t already in FACTS Hazardous Fuels. From IFPRS, keep fuels records classed as actual or estimated treatments. From NFT, TWIG receives state and NGO records only (federal records come straight from FACTS and IFPRS) and keeps those with a completion date.
- Crosswalk. Map each source’s fields onto the treatment index fields, and record the source in the
identifier_databasefield. - Clean and classify. Trim stray spaces, fix known typos (e.g. “Biomass Removall”), convert state names to two-letter codes, group fund codes into
fund_source, calculatetotal_cost, and assigntwig_categoryandfallon_category. - Flag. Mark duplicates, extreme costs, unusual units, very large polygons, polygons outside their stated state, and simplified or buffered shapes in the
errorfield. - Publish. Update the Viewer and API, then write the downloadable file geodatabase (the file geodatabase contains data from federal sources only, for now).
No point or line records come from federal sources. Some state records began as points or lines, and NFT converted them to polygons before TWIG received them (see Error flags).
TWIG is a weekly snapshot, not a real-time feed. Each source system publishes on its own schedule, and TWIG rebuilds once a week. A record edited in FACTS today may take a week or more to reach TWIG, because TWIG reads the copies each source publishes, not the live systems. For example, at the Oct 27, 2026 sync, IFPRS was current to that day, but the newest FACTS edits were from Oct 15–16; the Forest Service republishes its public FACTS files on its own schedule. NFT updates each state’s data on schedules that range from near real-time to once a year. If a weekly build fails, changes wait for the next one. The
date_currentfield shows when each record last changed in its source, as of TWIG’s latest sync.
Data sources
Quick answer: TWIG combines six record sets from four systems. The Forest Service’s FACTS supplies most records, IFPRS and an archived copy of NFPORS cover Interior agencies, and the NFT supplies state and NGO records. The identifier_database field says where each record came from.
identifier_database |
Source | Records (Nov 2026) | Status | In downloads? |
|---|---|---|---|---|
FACTS Common Attributes |
FACTS records outside Hazardous Fuels that pass TWIG’s inclusion rules (USDA Forest Service) | 736,917 | Updated weekly | Yes |
FACTS Hazardous Fuels |
FACTS Hazardous Fuel Treatment Reduction polygons (USDA Forest Service) | 630,466 | Updated weekly | Yes |
NASF |
State agency records from the National Fuels Treatments Initiative (NFT), led by the National Association of State Foresters | 99,881 | Updated weekly | Not yet |
NFPORS |
National Fire Plan Operations and Reporting System (Department of the Interior) | 64,365 | Archived; frozen at Feb 20, 2025 | Yes |
IFPRS |
Interior Fuels and Post-fire Reporting System (Department of the Interior) | 30,046 | Updated weekly | Yes |
NGO |
NGO records from the NFT | 490 | Updated weekly | Not yet |
Programming Tip: To keep only the records each agency itself reports as fuel treatments, drop TWIG’s extra FACTS records:
identifier_database <> 'FACTS Common Attributes'
FACTS (USDA Forest Service)
FACTS, the Forest Service Activity Tracking System, is the Forest Service’s system of record for work on the ground. Its public version, FACTS Common Attributes, holds about 7.4 million activity records, and most have nothing to do with fuels.
Why is it called “Common Attributes”? FACTS is a relational database with many linked tables. FACTS Common Attributes is a view that shows each activity on one row with all the attributes that can apply to a single activity: in other words, the attributes that activities have in common.
The Forest Service also publishes FACTS Hazardous Fuel Treatment Reduction, a subset chosen by activity and fund code. It covers “vegetative manipulation designed to create and maintain resilient and sustainable landscapes” that reduces wildfire intensity, severity or effects. TWIG includes all of it.
TWIG also adds Common Attributes records that aren’t in Hazardous Fuels but likely changed fuels, such as commercial thinning and other timber harvest. These activities weren’t paid for from hazardous fuels budgets and their primary purpose may not be related to fuel or wildfire risk, but we should expect that they still change fuel loads and fire behavior. This is one of the main differences between TWIG and other compilations of fuel treatment data, such as FTEM and the NFT Explorer, which use FACTS Hazardous Fuels only. As of November 2026, these extra records number about 737,000, or 47% of all records in TWIG.
Which FACTS Common Attributes records does TWIG add?
A record is added when it meets all of these conditions:
- It is dated 1984 or later, by completion date or, if none, by creation date.
- Its polygon covers more than 5 acres.
- It isn’t already in FACTS Hazardous Fuels (TWIG already includes every Hazardous Fuels record, so adding it again from Common Attributes would create a duplicate).
- It passes one of two activity tests:
- Its activity name contains “thin,” “cut,” “burn,” “fire” or “fuel”; its method and equipment are on TWIG’s approved lists for that kind of work (or blank); and the activity itself is on TWIG’s approved list.
- For any other activity, both method and equipment are filled in and on TWIG’s approved lists.
- Its treatment type isn’t on TWIG’s exclusion list.
The approved and excluded values are in the common_attributes_lookup table in the schema download. The exact implementation of these rules is best understood by reading the Python and SQL in processing.py.
How TWIG collects FACTS data. Each week TWIG downloads the Hazardous Fuels polygon file geodatabase and nine Common Attributes file geodatabases, one for each Forest Service region. FACTS also publishes point and line features; TWIG doesn’t use them. When a record appears in both datasets, TWIG keeps the Hazardous Fuels copy.
Note: FACTS distributes the same records in several formats, with small processing differences (for example, trimmed spaces in .csv files). To match a TWIG record exactly to FACTS, compare it with the file geodatabase version.
IFPRS (Department of the Interior)
IFPRS, the Interior Fuels and Post-fire Reporting System, replaced NFPORS as the Department of the Interior’s system of record in 2025. Interior agencies such as BIA, BLM, FWS and NPS report fuel treatments there. TWIG has included IFPRS records since November 2025 and refreshes them weekly.
- What TWIG takes: fuels records (
EntityType = 'Fuels') classed as actual or estimated treatments, dated 1984 or later. IFPRS post-fire records are not included. - Classification: IFPRS sorts treatments into five categories (Planned Ignition, Unplanned Ignition, Mechanical, Chemical, Biological). TWIG’s
twig_categoryuses the same five for every source. - Cost and funding:
total_costholds IFPRS’s estimated total cost;cost_per_uomanduomare blank.fund_sourcecomes from IFPRS’s funding source category;fund_codeis blank. - Access: IFPRS publishes its records through a public open-data service. TWIG itself reads a separate service that the IFPRS team set up for TWIG.
NFPORS (archived)
NFPORS, the National Fire Plan Operations and Reporting System, was Interior’s fuels reporting system from the early 2000s until IFPRS replaced it in 2025. Its public service is now offline. TWIG keeps the last copy it downloaded: 64,365 records, last modified Feb 20, 2025.
Will the NFPORS records disappear? As of November 2026, The Department of the Interior is in the process of moving historical NFPORS records into IFPRS. TWIG will retire NFPORS records only after confirming that the same treatment records exists in IFPRS. Until then, NFPORS records that do not appear in IFPRS will continue to appear in TWIG as they were recorded in TWIG’s latest copy of NFPORS (from February 20, 2025).
NFPORS was built for the National Fire Plan, and its records cover three of the plan’s five “key points”: restoration and rehabilitation (2), hazardous fuels reduction (3) and community assistance (4). TWIG’s FACTS records are limited to activities that change fuels, so NFPORS records include post-fire work, such as seeding, that FACTS records in TWIG don’t. To compare like with like, exclude post-fire activities from NFPORS records, for example with fallon_category <> 'Non Fuel Treatment' or by type.
TWIG’s records from NFPORS contain some post-fire restoration activities. Because TWIG aims to reproduce the source databases accurately, TWIG contains NFPORS in its entirety. NFPORS includes some records of activities that fall under the National Fire Plan’s key point 2 (restoration and rehabilitation), such as tree planting. These types of activities are generally excluded from other source databases, and TWIG filters them out explicitly when ingesting records from FACTS Common Attributes. Many users have expressed a desire for TWIG to include more records of post-fire restoration activities. As of November 2026, ReSHAPE is exploring the feasibility of including these activities from all source databases and other databases where post-fire restoration activities are recorded.
State and NGO records (NFT)
The National Fuels Treatments Initiative (NFT), led by the National Association of State Foresters (NASF), collects treatment records from state agencies and NGOs into one standard format, partly through its Grant Accomplishment Reporting Portal (GARP). ReSHAPE and NASF work together to bring NFT data into TWIG. Since early 2026, TWIG has included completed state and NGO treatments from NFT: 99,881 state records (identifier_database = 'NASF') and 490 NGO records ('NGO') as of November 2026.
- Completed work only. Records need a completion date, and
statusis always Completed. - Agency names.
agencyholds the contributing state agency or dataset, such as “Colorado State Forest Service.” - Converted shapes. Some records arrived as points or lines. NFT buffered them into polygons, and they carry
BUFFERED_POINTorBUFFERED_LINEinerror. Treat their shapes as approximate. - Cost.
total_costholds the reported federal funding amount, not the full cost of the work. - Classification.
twig_categoryis assigned from NFT’s treatment category.fallon_categoryisn’t assigned for these records yet. - Downloads. These records are Viewer-only for now (see Download TWIG).
The NFT Explorer also shows federal records from FACTS Hazardous Fuels, NFPORS and IFPRS, but not TWIG’s extra FACTS Common Attributes records, and only records from after 2019. ReSHAPE and NASF are working together to line up the federal data in both tools.
Classifying treatments
Quick answer: Use twig_category to group any TWIG record by how the work was done: fire, machines or hand tools, chemicals, or animals. Use fallon_category (new, in beta) to group records by what the work did to fuels. The other classification fields come straight from the source systems and only mean the same thing within one source.
Every source system describes treatments its own way. FACTS uses hundreds of activity names, IFPRS and NFPORS use their own category and type lists, and each state uses its own terms. TWIG keeps every source’s labels and adds two fields that work across sources.
Which classification field should I use?
| Field | What it describes | Filled for | Values | Use it when |
|---|---|---|---|---|
twig_category |
How the work was done | Every source | 6: Mechanical, Planned Ignition, Unplanned Ignition, Chemical, Biological, Other | You need one classification across every source |
fallon_category (beta) |
What the work did to fuels | FACTS, IFPRS, NFPORS (not yet state or NGO) | 5: Removal, Rearrangement, Surface Reduction, Fire, Non Fuel Treatment | You’re studying effects on fuels or fire behavior |
category |
The source’s broad class | Every source except most FACTS Common Attributes records | Differs by source, such as Fire, Mechanical, Prescribed Burn | You’re working within one source |
type |
The source’s treatment type | Same as category |
Differs by source, such as Broadcast Burn, Machine Pile, Thinning, Seeding | You need finer detail within one source |
activity, activity_code |
The FACTS activity | FACTS only | Hundreds of FACTS activities | Forest Service-specific work |
method, equipment |
How a FACTS activity was done | FACTS only | Such as Mechanical, Feller buncher | Telling hand work from machine work in FACTS |
twig_category
twig_category puts every record into one of IFPRS’s five treatment categories, plus Other. Because the categories come from IFPRS, IFPRS records keep their own category. For other sources, a crosswalk is necessary.
| Value | Meaning | Records (Nov 2026) |
|---|---|---|
| Mechanical | Hand or machine work, such as thinning, mastication, piling and timber harvest | 1,046,991 |
| Planned Ignition | Prescribed fire, including broadcast and pile burns | 424,024 |
| Unplanned Ignition | Wildfires recorded as management activities, including fires managed for resource benefit | 66,179 |
| Chemical | Herbicide and other chemical treatments | 16,006 |
| Biological | Grazing and other living agents | 5,432 |
| Other | State records whose category doesn’t fit the five, such as planting | 3,502 |
| (blank) | Not assigned | 31 |
How it’s assigned: by lookup table, from different source fields. FACTS Hazardous Fuels and NFPORS records use type. FACTS Common Attributes records use the combination of activity, method and equipment. IFPRS, state and NGO records use category. The lookup tables reflect our best judgment; they can be found in the schema download and on GitHub.
fallon_category (beta)
fallon_category is new as of October 2026. It groups each record by its effect on fuels, following the framework in Fallon et al. (2025). That study grouped Forest Service treatments this way to test which ones changed wildfire behavior. We thank Kendra Fallon, the study’s lead author, who developed the original categorization logic used in TWIG.
| Value | What the work did to fuels | Examples | Records (Nov 2026) |
|---|---|---|---|
| Removal | Took large wood off the site | Commercial thinning and other harvest of merchantable trees | 526,767 |
| Rearrangement | Changed fuel structure without reducing total biomass on site | Chipping, mastication, piling | 419,082 |
| Fire | Broadcast fire, prescribed or wild | Broadcast burning, wildfire records | 272,404 |
| Surface Reduction | Reduced heavier surface fuels without broadcast fire | Pile burning, jackpot burning | 207,003 |
| Non Fuel Treatment | Not expected to change fuels much (TWIG’s addition, not in Fallon et al.) | Seeding, planting, surveys | 36,291 |
| (blank) | Not assigned yet | Mostly state and NGO records | 100,618 |
How it’s assigned: by lookup table. For FACTS records, TWIG checks activity first, then method, then equipment; remaining manual work becomes Rearrangement and remaining mechanical work becomes Removal. For IFPRS and NFPORS records, TWIG checks category, then type.
This is Stage 1, not the final Fallon classification.
fallon_categoryclassifies each record on its own. Fallon et al. go one step further: they combine every treatment that overlapped a location, in sequence, into a final category such as “Removal + Fire.” TWIG doesn’t do that step yet. We plan to publish a library of scripts that downloads TWIG data, rasterizes the polygons, stacks them and calculates the final categories. Until then, treatfallon_categoryas a building block, and expect its rules to change as we refine them.
Why it matters: in Fallon et al.’s study of California’s national forests, treatments that included fire or fuel removal changed wildfire behavior in more than 70% of cases. Treatments dominated by rearrangement did so in just 49 to 54%.
The Treatment Index includes some wildfires, but it is not a wildfire database. About 66,000 records are wildfires (
twig_category = 'Unplanned Ignition'), almost all from FACTS Common Attributes. TWIG includes a wildfire only when the reporting agency recorded it as a management activity, in effect counting it as a treatment, such as a fire managed for resource benefit or a planned treatment that burned in a wildfire. FACTS also records some wildfires by ignition source, natural or human. Agencies count wildfire acres differently, and their practices have changed over time. If you’re counting treated acres, decide whether these wildfires belong, and filter ontwig_category. For a complete record of wildfire occurrence, use the wildfire perimeter layers in the TWIG Viewer, which come from the National Interagency Fire Center (NIFC) and other sources.
Programming Tips
- No wildfires:
twig_category <> 'Unplanned Ignition'- Prescribed and pile burning:
twig_category = 'Planned Ignition'- Drop activities that likely didn’t change fuels:
fallon_category IS NULL OR fallon_category <> 'Non Fuel Treatment'(keeps state and NGO records, which have nofallon_categoryyet)
The source fields (category, type, activity, method, equipment)
categoryandtype. FACTS Hazardous Fuels and NFPORS use NFPORS’s lists:categoryis the broad class (Fire, Mechanical, Other) andtypethe specific one (Broadcast Burn, Machine Pile, Thinning). IFPRS has its own lists, which look similar to NFPORS’s but aren’t the same. State and NGO records use NFT’s lists (Prescribed Burn, Mechanical, Planting). FACTS Common Attributes records rarely have either. The same word can mean different things in different sources, so compare these fields within one source or usetwig_category.activityandactivity_code. FACTS only. The four-digit code groups activities by thousands: 1000 Fire; 2000 Range; 3000 Cultural Resources and Recreation; 4000 Timber and Silviculture; 5000 Soil, Air and Watershed; 6000 Wildlife; 7000 Vegetation and Restoration; 8000 Miscellaneous; 9000 Engineering. The same work can be recorded under different codes, such as a thinning recorded as “Precommercial Thin” or “Wildlife Habitat Improvement,” which often reflects different funding sources.methodandequipment. FACTS only. Values range from general (“Mechanical”) to specific (“Single Span Skyline”), depending on who entered the record.
Dates and status
Quick answer: treatment_date is the completion date when the work is done; otherwise it’s the best “planned” or “general” record date the source has. status says which kind of date it is: Completed, Planned, Started or Other. For trends over time, filter to status = 'Completed' and summarize by calendar year.
| Source | treatment_date (first one available) |
status |
|---|---|---|
| FACTS Hazardous Fuels | date_completed, then date_planned |
Completed if date_completed is set, otherwise Planned |
| FACTS Common Attributes | date_completed, then act_created_date |
Completed if date_completed is set, otherwise Planned |
| NFPORS | act_comp_dt, then plan_int_dt, then col_date |
Completed, Planned or Other, matching the date used |
| IFPRS | completiondate, then originalinitiationdate, then createdondate |
Set from IFPRS’s own status (see below) |
| State and NGO (NFT) | actualcompletiondate (records without one are left out) |
Always Completed |
For planned FACTS Common Attributes records, treatment_date is the date the record was created, not a planned work date.
status |
Records (Nov 2026) |
|---|---|
| Completed | 1,314,018 |
| Planned | 245,866 |
| Other | 2,128 |
| Started | 153 |
How IFPRS statuses map to TWIG
| IFPRS status | TWIG status |
|---|---|
| Completed | Completed |
| Draft, Not Started, Ready for Approval, Approved, Approved (Local), Approved (Regional), Approved (Agency), Approved (Department) | Planned |
| No status, on an Estimated Treatment record | Planned |
| Started | Started |
| UnApproval Requested, Cancelled | Other |
How accurate are the dates? People enter completion dates by hand without any additional checking mechanisms. A completion date usually marks the last day of work, which may come weeks or months after most of the work was done. When the exact date is unknown, some managers may enter the end of the fiscal year (Sept 30). Planned dates can sit years or decades in the future. Summarizing by year rather than by day reduces these problems.
Error flags
Quick answer: TWIG never edits or deletes source records. It writes warnings into the error field instead, separated by semicolons when a record has more than one. About 87,000 records (5.6%) carry at least one flag. Flag names use underscores, such as DUPLICATE_DROP.
| Flag | Records (Nov 2026) | What triggers it | What to do |
|---|---|---|---|
DUPLICATE_DROP |
34,899 | Another FACTS record has the same activity, the same treatment date and an identical polygon, and this copy is the extra one | Exclude it for most analyses |
DUPLICATE_KEEP |
30,716 | Same match; this is the one copy kept from its group. The code doesn’t choose it by completeness or edit date | Keep it |
DUPLICATE_ID |
0 | Two records share a unique_id |
Check by hand |
HIGH_COST |
636 | FACTS cost is over $10,000 per acre | Check or exclude it before adding up costs |
CHECK_UOM |
65 | FACTS unit of measure is EACH or MILES, so total_cost may be wrong |
Check it before using costs |
SPATIAL |
845 | The polygon lies entirely outside the state named in state |
Check the location of the polygon |
LARGE_AREA |
4 | The polygon covers more than 3 million acres | Almost certainly an error, exclude for most analyses |
MODIFIED_SHAPE |
2,919 | The polygon had more than 10,000 vertices and was simplified to meet Esri geometry rules and load into the Viewer; only vertices within 0.000009° (1 m or less) of the new outline were removed | For almost all analyses, this flag can be safely ignored. The only potential issue arises when attempting to match TWIG records with this flag to source records by exact shape. |
BUFFERED_POINT |
2,284 | A state or NGO record that began as a point, buffered by NFT to match its reported acres | Treat its shape and location as approximate |
BUFFERED_LINE |
15,606 | A state or NGO record that began as a line, buffered by NFT | Treat its shape as approximate |
Programming Tips
The following examples show code snippets that can be used for filtering error flags in SQL, R (dplyr) and Python (pandas or geopandas). Flag names must match exactly, underscores included.
SQL. A
WHEREclause. Paste it into a definition query in ArcGIS Pro or QGIS, the REST API’swhereparameter, or a query against a SQL database.-- Drop duplicate copies error IS NULL OR error NOT LIKE '%DUPLICATE_DROP%' -- Records safe for cost totals error IS NULL OR (error NOT LIKE '%HIGH_COST%' AND error NOT LIKE '%CHECK_UOM%')R (dplyr). Assumes the treatment index is loaded as a data frame or
sfobject namedtwig.library(dplyr) # twig <- sf::st_read("treatment_index.gdb", layer = "treatment_index") # Drop duplicate copies twig_nodup <- twig %>% filter(is.na(error) | !grepl("DUPLICATE_DROP", error, fixed = TRUE)) # Records safe for cost totals twig_cost <- twig %>% filter(is.na(error) | !grepl("HIGH_COST|CHECK_UOM", error))Python (pandas or geopandas). Assumes the treatment index is loaded as a DataFrame or GeoDataFrame named
twig.# import geopandas as gpd # twig = gpd.read_file("treatment_index.gdb", layer="treatment_index") # Drop duplicate copies twig_nodup = twig[~twig["error"].fillna("").str.contains("DUPLICATE_DROP", regex=False)] # Records safe for cost totals twig_cost = twig[~twig["error"].fillna("").str.contains("HIGH_COST|CHECK_UOM")]
How duplicates are found
TWIG groups records that have exactly the same activity, treatment_date and polygon. In each group, one record is marked DUPLICATE_KEEP and the rest DUPLICATE_DROP. The copies match on those three fields but can differ in others, such as name or cost.
Two limits are worth knowing: 1) polygons must match exactly, so near-copies with slightly different outlines aren’t caught, and 2) because only FACTS records have an activity, the check only compares FACTS records with each other. The same treatment recorded in FACTS and in IFPRS, NFPORS or a state system isn’t flagged.
The flagging code is in error_flagging.py.
Quality and Validation
Quick answer: TWIG mirrors its sources, so errors in those sources are mirrored in TWIG. Automated flags catch some of them. Outside studies suggest that many FACTS polygons don’t match visible change on the ground and that some treatments never get recorded. As of November 2026, we are currently developing methods of checking TWIG against satellite imagery to provide independent validation of polygon, treatment date, and treatment type accuracy.
What TWIG checks automatically. As of November 2026, 65,615 records (4.2%) carry a duplicate flag, 34,899 of them DUPLICATE_DROP. Another 636 carry HIGH_COST and 845 carry SPATIAL. The duplicate check compares FACTS records only, so the same treatment recorded in two different systems isn’t caught. See Error flags for every flag and its limits.
Spatial accuracy and completeness. In a study of FACTS Hazardous Fuels data in California, trained observers compared FACTS polygons with changes detected in Landsat imagery. Only 54% of FACTS polygons matched a detected change, and only 79% of those matched closely (within 25% of total area). In the same analysis, 80% of CAL FIRE treatments were detectable. Not every treatment should be visible from space, but the gap points to both misplaced polygons and records of work that may not have happened (errors of commission).
Missing records (errors of omission) are harder to measure. A study of forest management in New Mexico compared regional and state records with records gathered from local offices. Missing treated area ranged from 0% to 57.4% across five watersheds and averaged 7.4%. Those figures cover federal, state and private records, so treat them as a benchmark rather than a TWIG estimate. Areas dominated by federal land are likely better covered in TWIG than areas that are mostly private or state-owned.
Polygon quality also varies with age and method. Some older records, especially before 2005, have poor spatial records. Newer ones are more often mapped by GPS or from imagery. Even when accurately mapped, activities like thinning, sanitation cuts and prescribed fires often change fuels on only part of the area drawn. TWIG treats every polygon the same, however it was drawn.
Costs. Cost accuracy is hard to judge: accounting practices differ among agencies and regions, and cost estimates aren’t reconciled with actual spending. Extreme values are the easiest errors to spot and the most damaging. On the Dixie National Forest in Utah, the record “Gum Hill Chaining Maintenance 22” lists $405,451 per acre across 1,729 acres, a total of about $701 million. One record like that can outweigh every other cost in a national forest’s summary. This record carries a HIGH_COST flag, but (as of November 2026) IFPRS and state records are not screened in the same way, and similar errors will not be flagged in those records. We strongly urge users to account for possible errors when calculating cost totals or averages.
New validation work. We are expanding TWIG’s validation in two directions. Remote sensing: we are comparing TWIG polygons and dates with disturbance detected in satellite imagery, to estimate how often recorded treatments show up on the ground and how well their outlines match. Classification accuracy: we are checking how well
twig_categoryandfallon_categoryagree with expert review of records and imagery. We’ll post methods and results here as they’re ready.
Usage notes and limitations
Quick answer: TWIG works best for regional and national questions that span several years. It isn’t built for real-time decisions and isn’t usually the best tool for mapping single projects or stands.
Good uses
- Tracking where and when treatments happened across agencies and land ownerships
- Planning and prioritizing at landscape scale
- Research on treatment effects and on how treatments and wildfires interact
- Policy analysis of wildfire risk reduction
Limits
- Not real-time. TWIG is a weekly snapshot of systems that update on their own schedules. Don’t use it for emergency management or real-time decisions.
- Not fine-scale. Without checking against other data, don’t use TWIG for fine-scale mapping, planning or analysis, such as single treatment projects, stands or trees.
- Reliability grows with scale. Analyses of small areas or single years should be read with care.
- Errors are flagged, not fixed. Filter and check the data for your purpose (see Error flags).
- Polygons vary. Spatial accuracy varies, especially for older records.
- Costs are rough. Cost fields are estimates, mean different things by source, and are often missing.
- Coverage is uneven. Federal coverage is the most complete. State coverage depends on which states share data with NFT, and work on private land is mostly missing.
TWIG isn’t the right tool for every job; local or specialized tools may serve better. Similar resources are listed on our Other Resources page. TWIG grows with user feedback, so please tell us what you need.
Reference
Every field in the treatment index, recent changes, and the acronyms used on this page.
Attribute reference
Quick answer: Every TWIG record has the 26 fields below. The first table says what each field holds; the second shows which source field fills it; the panels underneath give details and cautions.
Download this reference: Excel workbook (fields, value lists and changes since October 2025) or CSV (fields only).
| Field | Plain name | Holds |
|---|---|---|
unique_id |
Unique ID | The record’s ID from its source system |
name |
Treatment name | A name chosen by the source user; not unique, can be blank |
state |
State | Two-letter state or territory code |
acres |
Acres | Treated area as recorded by the source |
treatment_date |
Treatment date | Completion date, or the best planned or record date |
status |
Status | Completed, Planned, Started or Other |
identifier_database |
Source | Which source the record came from |
date_current |
Last modified | When the record last changed in its source |
activity_code |
FACTS activity code | Four-digit FACTS code (FACTS only) |
activity |
FACTS activity | FACTS activity name (FACTS only) |
method |
FACTS method | How the work was done (FACTS only) |
equipment |
FACTS equipment | Equipment used (FACTS only) |
category |
Source category | The source’s broad treatment class |
type |
Source type | The source’s specific treatment type |
twig_category |
TWIG category | How the work was done, same scheme for all sources |
fallon_category |
Fallon category (beta) | What the work did to fuels |
agency |
Agency | Agency responsible, or the contributing state agency or dataset |
fund_code |
Fund code | Funding code or program from the source |
fund_source |
Fund source | Fund codes grouped into 13 classes |
total_cost |
Total cost | Estimated cost or funding in U.S. dollars; meaning differs by source |
cost_per_uom |
Cost per unit | FACTS cost per unit of measure |
uom |
Unit of measure | ACRES, EACH or MILES (FACTS only) |
error |
Error flags | Warnings, separated by semicolons |
objectid |
Object ID | Row number assigned at each build |
| Shape length, shape area | Geometry measures | Perimeter and area of the polygon in decimal degrees (WGS 84); use acres for area |
Where each field comes from
| TWIG field | FACTS Hazardous Fuels | FACTS Common Attributes | IFPRS | NFPORS | State and NGO (NFT) |
|---|---|---|---|---|---|
unique_id |
activity_cn |
event_cn |
id |
nfporsfid–trt_id |
globalid |
name |
activity_sub_unit_name |
name |
name |
trt_nm |
treatmentname |
state |
state_abbr |
state_abbr |
state |
st_abbr |
stateabbrev |
acres |
gis_acres |
gis_acres |
calculatedarea |
gis_acres |
treatmentgisacres |
treatment_date |
see Dates and status | see Dates and status | see Dates and status | see Dates and status | actualcompletiondate |
date_current |
etl_modified_date_haz |
act_modified_date |
lastmodifieddate |
modifiedon |
edit_date |
activity_code, activity, method, equipment |
same names | same names | blank | blank | blank |
category |
cat_nm |
nfpors_category |
category |
cat_nm |
treatmentcategory |
type |
treatment_type |
nfpors_treatment |
type |
type_name |
treatmenttypereported |
agency |
“USFS” | “USFS” | agency |
agency |
treatmentidentifierdatabase |
fund_code |
fund_code |
fund_codes |
blank | “BIL” if isbil is Yes |
federalfundingprogram |
fund_source |
grouped from fund_code |
grouped from fund_code |
grouped from fundingsourcecategory |
grouped from fund_code |
grouped from fund_code |
total_cost |
calculated (see Costs) | calculated (see Costs) | estimatedtotalcost |
blank | federalfundingamount |
cost_per_uom |
cost_per_uom |
cost_per_unit |
blank | blank | blank |
uom |
uom |
uom |
blank | blank | blank |
IDs (unique_id, objectid)
unique_idcomes from the source system, so it stays the same from one weekly build to the next. Use it to track or join records.objectidis reassigned every time TWIG is rebuilt. Don’t use it to match records across downloads.- The
DUPLICATE_IDflag marks anyunique_idthat appears twice. We aim to make sure this never occurs. Any time this flag appears, TWIG developers are alerted and begin investigating immediately.
Name, state and agency
nameis optional in every source and set by whoever created the record. Names often reflect a place or a larger project (“Pingree Hill FRP: RX Burn Unit E”), repeat across records, and can contain typos.stateis picked from a list in the source system, not taken from the polygon. Full state names are converted to two-letter codes. When an activity crosses a state line, only one state is listed. TheSPATIALflag marks polygons that lie entirely outside their stated state. TWIG includes US territories, such as Puerto Rico (PR).agencyis “USFS” for all FACTS records. IFPRS and NFPORS records give the Interior agency, such as BLM, NPS, BIA or FWS. State records give the contributing agency or dataset, such as “Colorado State Forest Service.”
Area (acres and shape area)
acres is the area the source system calculated (for state and NGO records, NFT calculated it). Use it for area. The shape area and length fields are calculated from TWIG’s copy of the polygon in the data’s coordinate system (WGS 84), so they are in decimal degrees, not meters, and can’t be compared across latitudes. If you measure TWIG’s polygons yourself, expect small differences from acres, especially for records flagged MODIFIED_SHAPE, BUFFERED_POINT or BUFFERED_LINE.
Dates, status and source
treatment_dateandstatus: see Dates and status.date_currentis when the record last changed in its source. It is never later than TWIG’s latest build, and no time zone is recorded.identifier_databasehas six values:FACTS Hazardous Fuels,FACTS Common Attributes,IFPRS,NFPORS,NASFandNGO. See Data sources.
Classification fields
activity_code, activity, method, equipment, category, type, twig_category and fallon_category: see Classifying treatments.
Funding (fund_code, fund_source)
fund_codeholds the source’s funding information, and it means different things by source. FACTS records carry four-letter Forest Service fund codes, comma-separated when there are several. NFPORS records carry “BIL” when the Bipartisan Infrastructure Law paid for the work and are blank otherwise. State records carry the federal funding program reported to NFT. IFPRS records are blank.fund_sourcegroups those codes into 13 classes with a lookup table: Harvest Activity, Hazardous Fuels Reduction, National Forest System, Wildland Fire Management, Cooperative Work Knutson-Vandenberg, Partner Agencies, BIL, CFLR, FMReg, Good Neighbor Program, Multiple, No Funding Code and Other. Complete fund code definitions aren’t published, so the lookup draws on several sources, including Forest Service staff. “Other” is the largest class (about 378,000 records): codes the lookup doesn’t recognize yet.
Costs (total_cost, cost_per_uom, uom)
Use caution when summing
total_costvalues across sources. The field means different things in different sources:
Source What total_costholdsFACTS (both) Estimated direct cost: cost_per_uom×acreswhenuomis ACRES;cost_per_uomas entered when EACH;cost_per_uom×acres÷ 640 when MILES (TWIG assumes the MILES unit is square miles)IFPRS IFPRS’s estimated total cost State (NASF) The federal funding amount reported, not the full cost NFPORS, NGO Blank
FACTS costs are estimates entered by hand at the time of the work. They aren’t adjusted for inflation, aren’t reconciled with spending records, and leave out planning and overhead. A common mistake in the source data is entering a total cost as a per-acre cost, which produces impossible totals. HIGH_COST flags FACTS records over $10,000 per acre, and CHECK_UOM flags the 65 records measured in EACH or MILES. As of November 2026, neither check runs on IFPRS or state records, though we are in the process of updating this.
Error flags (error)
See Error flags. Flags are set automatically from the source data, without outside checks, so some will be wrong and some errors will go unflagged.
What's new
Quick answer: The most recent changes to TWIG’s data and documentation, newest first.
| Date | Change |
|---|---|
| Nov 2026 | This page rewritten for the current data |
| Oct 2026 | Added fallon_category (beta), a Stage 1 classification of each record’s effect on fuels |
| Oct 2026 | IFPRS funding categories now grouped into fund_source |
| Jun 2026 | NFPORS service retired; TWIG keeps its last copy (Feb 20, 2025) |
| Apr 2026 | IFPRS records limited to fuel treatments |
| Mar 2026 | State and NGO records from NFT added to the Viewer (not yet in downloads) |
| Mar 2026 | twig_category assigned to IFPRS records |
| Nov 2025 | IFPRS records added. TWIG 1.0 is officially released. |
| Aug 2025 | Data descriptor paper published in Scientific Data; July 9, 2025 snapshot archived on Zenodo |
Glossary
| Term | Meaning |
|---|---|
| BIL | Bipartisan Infrastructure Law, the 2021 Infrastructure Investment and Jobs Act |
| CFLR | Collaborative Forest Landscape Restoration Program (a Forest Service fund source) |
| DOI | U.S. Department of the Interior |
| FACTS | Forest Service Activity Tracking System, the USDA Forest Service system of record for on-the-ground activities |
| FACTS Common Attributes (CA) | The public table of all FACTS activity records |
| FACTS Hazardous Fuels (HFT) | FACTS Hazardous Fuel Treatment Reduction, the Forest Service’s own subset of fuel treatments |
| FTEM | Fuel Treatment Effectiveness Monitoring, an interagency application for recording how treatments affected wildfires |
| GARP | Grant Accomplishment Reporting Portal, part of the NFT |
| IFPRS | Interior Fuels and Post-fire Reporting System, DOI’s current system of record |
| Knutson-Vandenberg (KV) | A Forest Service fund source from timber sale receipts |
| NASF | National Association of State Foresters |
| NFPORS | National Fire Plan Operations and Reporting System, DOI’s former system of record (archived in TWIG) |
| NFT | National Fuels Treatments Initiative, led by NASF; its map is the National Fuels Treatment Explorer |
| NGO | Non-governmental organization |
| Treatment index | The TWIG table of treatment records |
| TWIG | Treatment and Wildfire Interagency Geodatabase |
| UOM | Unit of measure for a FACTS cost (ACRES, EACH or MILES) |
| USFS | USDA Forest Service |
The TWIG Viewer
The TWIG viewer is a user-friendly, open-access mapping tool that connects national wildfire and fuel treatment data. By bridging the gap between rigorous research and on-the-ground management, we empower our network to coordinate cross-boundary restoration and enhance forest resilience across the nation.
Using the TWIG Viewer
Quick answer: The TWIG Viewer lets you search, map and summarize TWIG treatments and wildfire perimeters in a web browser, with no GIS software needed.
The Viewer shows every TWIG record, including state and NGO records that aren’t yet in the downloadable file. Short video tutorials are on the Program Resources page. A full guide to the Viewer is coming soon.
Still have questions?
Put Data Into Action
Start exploring our accessible, nationwide geodatabase for fuel treatments and wildfires today.
