{"id":42102,"date":"2026-08-18T06:27:31","date_gmt":"2026-08-18T04:27:31","guid":{"rendered":"https:\/\/www.graviton.at\/letterswaplibrary\/dataset-daily-size-containment-history-for-southwest-us-wildfires-nv-ut-az-co-ca-archived-from-nifc-snapshots-that-get-overwritten-csv-json-cc-by-4-0\/"},"modified":"2026-08-18T06:27:31","modified_gmt":"2026-08-18T04:27:31","slug":"dataset-daily-size-containment-history-for-southwest-us-wildfires-nv-ut-az-co-ca-archived-from-nifc-snapshots-that-get-overwritten-csv-json-cc-by-4-0","status":"publish","type":"post","link":"https:\/\/www.graviton.at\/letterswaplibrary\/dataset-daily-size-containment-history-for-southwest-us-wildfires-nv-ut-az-co-ca-archived-from-nifc-snapshots-that-get-overwritten-csv-json-cc-by-4-0\/","title":{"rendered":"[Dataset] Daily Size &amp; Containment History For Southwest US Wildfires (NV\/UT\/AZ\/CO\/CA), Archived From NIFC Snapshots That Get Overwritten \u2014 CSV + JSON, CC BY 4.0"},"content":{"rendered":"<p><!-- SC_OFF --><\/p>\n<div class=\"md\">\n<p><strong>Disclosure: I run the site this is hosted on (alwayshave.fun, a trail-conditions site). No ads on the data pages, no signup, no paid tier \u2014 the files are static CSV\/JSON on a CDN and the license is CC BY 4.0.<\/strong><\/p>\n<p><strong>What it is:<\/strong> the federal NIFC\/WFIGS Incident Locations feed publishes a <em>current snapshot<\/em> of active wildfires and overwrites it. Acreage and containment for a given fire on a given past day aren&#8217;t in it \u2014 once the number changes, the old one is gone. My pipeline was already reading that feed every 30 minutes for a different reason, so I started keeping the last read of each UTC day. That gives the growth curve the snapshot implies but never shows: how fast a fire ran, which day it blew up, when containment actually started moving.<\/p>\n<p>Scope: every incident of 1,000+ acres in NV, UT, AZ, CO and CA.<\/p>\n<p>Honest about the size \u2014 <strong>the daily record starts 2026-08-09<\/strong>, so right now it&#8217;s 39 incidents \/ 309 daily readings, with a multi-day curve on 38 of them. It grows by one row per active incident per day and incidents stay in the file permanently once they enter, including after they drop off the active feed.<\/p>\n<ul>\n<li><code>growth-history.csv<\/code> \u2014 one row per incident per day: <a href=\"https:\/\/alwayshave.fun\/data\/fires\/growth-history.csv\">https:\/\/alwayshave.fun\/data\/fires\/growth-history.csv<\/a><\/li>\n<li><code>archive.json<\/code> \u2014 same data nested by incident: <a href=\"https:\/\/alwayshave.fun\/data\/fires\/archive.json\">https:\/\/alwayshave.fun\/data\/fires\/archive.json<\/a><\/li>\n<li><code>incidents.json<\/code> \u2014 current read: <a href=\"https:\/\/alwayshave.fun\/data\/fires\/incidents.json\">https:\/\/alwayshave.fun\/data\/fires\/incidents.json<\/a><\/li>\n<li>Columns, caveats and license: <a href=\"https:\/\/alwayshave.fun\/data\">https:\/\/alwayshave.fun\/data<\/a><\/li>\n<\/ul>\n<p>Columns: <code>date, incident_slug, incident_name, state, acres, containment_pct, cause, discovered, lat, lng<\/code>.<\/p>\n<p>Caveats, because they matter for anything you&#8217;d do with this:<\/p>\n<ul>\n<li>Acreage sometimes <em>falls<\/em> when a perimeter is remapped. Those revisions are kept as read, not smoothed.<\/li>\n<li>When an incident drops off the active feed, the file records only that NIFC stopped listing it. The feed doesn&#8217;t say whether a fire was contained or declared out, and I don&#8217;t guess.<\/li>\n<li><code>containment_pct<\/code> is empty when the feed reported no value \u2014 never zero-filled.<\/li>\n<li>It&#8217;s exactly as accurate as the upstream feed; nothing here is reconciled against ground truth.<\/li>\n<\/ul>\n<p>Original source (please cite it too if you use the raw fields): NIFC\/WFIGS Incident Locations, <a href=\"https:\/\/data-nifc.opendata.arcgis.com\/\">https:\/\/data-nifc.opendata.arcgis.com\/<\/a> \u2014 US interagency, public domain. The CC BY 4.0 here covers the compilation (the daily record), not the upstream feed.<\/p>\n<p>Two other files on the same page, in case they&#8217;re more useful to someone than the fire data:<\/p>\n<ul>\n<li><strong>Trailhead monthly climate normals, 2015\u20132024<\/strong> (<code>normals.csv<\/code>, 552 rows) \u2014 avg high, avg low, wet-day count by month for 46 trailheads, computed from ERA5 at the trail&#8217;s own coordinates rather than the nearest town, which is often several thousand feet lower and a different regime.<\/li>\n<li><strong>Live trail conditions<\/strong> (<code>trails-index.json<\/code>) \u2014 weather, AQI, fire proximity, river flow, refreshed every 30 min, each value carrying its own timestamp and source, and reported as missing rather than backfilled when a fetch fails.<\/li>\n<\/ul>\n<p>Happy to add fields or a different export format if someone actually wants one.<\/p>\n<\/div>\n<p><!-- SC_ON -->   submitted by   <a href=\"https:\/\/www.reddit.com\/user\/StunningOpinion7483\"> \/u\/StunningOpinion7483 <\/a> <br \/> <span><a href=\"https:\/\/www.reddit.com\/r\/datasets\/comments\/1vrergg\/dataset_daily_size_containment_history_for\/\">[link]<\/a><\/span>   <span><a href=\"https:\/\/www.reddit.com\/r\/datasets\/comments\/1vrergg\/dataset_daily_size_containment_history_for\/\">[comments]<\/a><\/span><\/p><div class='watch-action'><div class='watch-position align-right'><div class='action-like'><a class='lbg-style1 like-42102 jlk' href='javascript:void(0)' data-task='like' data-post_id='42102' data-nonce='9de69db8d5' rel='nofollow'><img class='wti-pixel' src='https:\/\/www.graviton.at\/letterswaplibrary\/wp-content\/plugins\/wti-like-post\/images\/pixel.gif' title='Like' \/><span class='lc-42102 lc'>0<\/span><\/a><\/div><\/div> <div class='status-42102 status align-right'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Disclosure: I run the site this is hosted on (alwayshave.fun, a trail-conditions site). No ads on the&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[85],"tags":[],"class_list":["post-42102","post","type-post","status-publish","format-standard","hentry","category-datatards","wpcat-85-id"],"_links":{"self":[{"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/posts\/42102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/comments?post=42102"}],"version-history":[{"count":0,"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/posts\/42102\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/media?parent=42102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/categories?post=42102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/tags?post=42102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}