# For general data science
library(tidyverse)

# For reading Excel files
library(readxl)

# For data cleaning
library(janitor)

# For working with datetime
library(lubridate)

# For pretty tables
library(knitr)
library(gt)

knitr::opts_chunk$set(echo = TRUE)

Introduction

The Howard Center checked operator-reported volumes from 2012 to 2020 against satellite recorded data available from the Earth Observation Group at the Colorado School of Mines. Also available from the website is a detailed explanation by Christopher Elvidge of the Visible Infrared Imaging Radiometer Suite (VIIRS) technology used to measure flaring volumes from space.

Users need to create an EOG account to download the data.

Load data

Using latitude-longitude coordinates the Howard Center plotted satellite-recorded flares to their corresponding U.S. state and saved it to new data sets available from the Howard Center here. (For more information about how we spatially joined the data, please contact: ).

flaring <- read.csv(url("https://cronkitedata.s3.amazonaws.com/howard/gaslit/satellite_flaring.csv"))

Analysis

We filtered for the 13 states we investigated, then grouped by year and state to arrive at annual totals. These figures supports numerous facts in the project from total amounts flared to flaring trends over the period examined.

flaring %>%
  filter(state_name == "Texas" | 
         state_name == "North Dakota" | 
         state_name == "New Mexico" | 
         state_name == "Alaska" | 
         state_name == "Wyoming" | 
         state_name == "Montana" | 
         state_name == "Utah" | 
         state_name == "Colorado" | 
         state_name == "Oklahoma" |
         state_name == "Pennsylvania" | 
         state_name == "West Virginia" |
         state_name == "Kansas" |
         state_name == "Louisiana" | 
         is.na(state_name)) %>%
  group_by(year, state_name) %>%
  summarise(cf = sum(cf, na.rm = TRUE),
            .groups = 'drop') %>%
  pivot_wider(names_from = year, values_from = cf) %>%
  mutate(`2020` = replace_na(`2020`,0), 
         "Total" = rowSums(across(c(`2012`:`2020`))),
         "Total (%)" = (Total/sum(Total))*100) %>%
  arrange(desc(Total)) %>%
  
# Pretty table
  gt( rowname_col = "state_name") %>% 
  tab_stubhead(label = "State") %>%
  tab_header(title = "Satellite Recorded Flaring",
             subtitle = "Flaring volumes in cubic feet recorded by VIIRS satellite from 2012 - 2020") %>%
  fmt_number(column = '2012':'Total (%)',
             decimals = 0) %>%
  grand_summary_rows(fns = list('Total' = "sum"), 
                           columns=('2012':'Total (%)'), 
                           formatter=gt::fmt_number, 
                           decimals=0)
Satellite Recorded Flaring
Flaring volumes in cubic feet recorded by VIIRS satellite from 2012 - 2020
State 2012 2013 2014 2015 2016 2017 2018 2019 2020 Total Total (%)
Texas 125,233,219,452 141,805,761,861 182,579,515,311 204,646,921,490 160,627,402,360 163,498,951,318 229,158,062,906 308,455,895,359 213,903,491,927 1,729,909,221,985 49
North Dakota 142,189,211,479 111,393,935,979 136,821,095,211 125,079,141,975 79,813,748,907 113,975,726,071 182,780,860,622 215,186,632,423 134,469,755,329 1,241,710,107,996 35
New Mexico 14,306,951,239 24,183,242,499 31,313,897,263 41,988,073,289 30,649,940,533 22,636,283,006 41,056,686,165 48,870,728,856 36,024,165,275 291,029,968,124 8
Alaska 4,348,044,649 3,788,479,546 5,309,675,125 5,413,553,018 6,684,789,226 5,154,675,995 4,565,884,333 7,548,587,999 6,888,470,598 49,702,160,488 1
Wyoming 3,215,145,503 4,119,432,118 4,041,628,353 3,934,217,684 2,781,096,713 4,506,240,306 5,433,109,716 4,376,993,215 2,461,887,007 34,869,750,615 1
Louisiana 4,821,200,280 3,813,461,813 5,345,558,634 4,167,978,251 5,730,058,934 3,499,417,361 3,663,720,939 1,996,371,185 1,080,539,734 34,118,307,131 1
Oklahoma 2,739,999,927 4,653,547,943 3,613,035,558 2,605,451,813 3,380,856,104 3,584,705,918 5,282,254,857 3,495,200,885 2,747,680,446 32,102,733,451 1
Colorado 4,580,742,886 5,555,487,021 4,572,829,789 4,187,837,342 766,125,761 1,426,132,627 2,249,836,422 643,391,348 506,703,135 24,489,086,331 1
Pennsylvania 7,923,256,697 3,750,308,549 3,808,779,457 2,038,915,198 1,004,257,261 617,859,756 1,119,399,616 767,405,205 54,692,919 21,084,874,658 1
Montana 3,558,865,816 1,828,321,253 1,476,460,234 1,860,233,243 402,958,656 308,716,860 2,327,258,740 2,978,006,559 1,832,665,852 16,573,487,214 0
West Virginia 3,894,328,299 3,523,210,735 2,392,443,775 1,671,073,532 714,443,366 621,710,326 409,724,260 614,399,524 137,731,579 13,979,065,396 0
Utah 846,726,931 1,062,425,785 2,212,136,889 726,118,339 655,449,611 1,114,052,151 1,792,983,783 2,023,803,488 1,569,618,378 12,003,315,355 0
Kansas 165,492,658 230,682,140 369,558,167 420,190,267 352,625,281 139,833,084 312,642,188 65,746,328 0 2,056,770,114 0
Total 317,823,185,815 309,708,297,241 383,856,613,766 398,739,705,443 293,563,752,713 321,084,304,781 480,152,424,548 597,023,162,374 401,677,402,177 3,503,628,848,858 100

FACT: According to satellite data, 81% of the flaring in Utah happens on tribal land, 17% on state land and 2% on federal land.

FACT: Satellite data analyzed by the Howard Center revealed that oil and gas operators on federal lands in New Mexico flared more than 138 billion cubic feet of gas, nearly half of the gas burned off in the state between 2012 and 2020.

flaring %>%
  filter(admin != 'offshore') %>% # we don't need to look at offshore drilling for this, since it's not associated with any state
  group_by(state_name, admin) %>%
  summarise(cf = sum(cf, na.rm = TRUE),
            .groups = 'drop') %>%
  pivot_wider(names_from = admin, values_from = cf) %>%
  mutate(total=rowSums(across(tribal:state),na.rm = TRUE),
         pct_state = (state/(total)),
         pct_tribal = (tribal/(total)),
         pct_federal = (federal/(total))) %>%
  select(-state, -tribal, -federal) %>%
  arrange(desc(total)) %>%
  gt( rowname_col = "state" ) %>%
  fmt_number(column = total,
             decimals = 0) %>%
  fmt_percent(columns = pct_state:pct_federal, 
              decimals=0, 
              use_seps=TRUE) %>%
  cols_label(state_name = "State",
             total = "Total",
             pct_state = "% State",
             pct_tribal = "% Tribal", 
             pct_federal = "% Federal") %>%
  tab_header(title = "Satellite Recorded Flaring by Admin",
             subtitle = "Flaring volumes recorded by VIIRS satellite from 2012 - 2020")
Satellite Recorded Flaring by Admin
Flaring volumes recorded by VIIRS satellite from 2012 - 2020
State Total % State % Tribal % Federal
Texas 1,729,909,221,985 100% 0% 0%
North Dakota 1,241,710,107,996 79% 19% 2%
New Mexico 291,029,968,124 52% 0% 47%
Alaska 49,702,160,488 NA 100% NA
Wyoming 34,869,750,615 88% NA 12%
Louisiana 34,118,307,131 99% 1% NA
Oklahoma 32,102,733,451 26% 74% NA
Colorado 24,489,086,331 96% NA 4%
Pennsylvania 21,084,874,658 97% NA 3%
Montana 16,573,487,214 99% 0% 1%
West Virginia 13,979,065,396 89% NA 11%
Utah 12,003,315,355 17% 81% 2%
Kansas 2,056,770,114 100% NA NA
LS0tCnRpdGxlOiAiU2F0ZWxsaXRlIFJlY29yZHMgb2YgRmxhcmluZyBhbmQgVmVudGluZyBvbiBUcmliYWwgTGFuZCIKYXV0aG9yOiAiSmltbXkgQ2xvdXRpZXIiCm91dHB1dDogCiAgaHRtbF9kb2N1bWVudDoKICAgICAgY29kZV9mb2xkaW5nOiBzaG93CiAgICAgIGRmX3ByaW50OiBwYWdlZAogICAgICB0b2M6IHRydWUKICAgICAgdG9jX2Zsb2F0OiB0cnVlCiAgICAgIGNvZGVfZG93bmxvYWQ6IHRydWUKLS0tCgoKCmBgYHtyIHNldHVwLCBtZXNzYWdlPUZBTFNFLCBjbGFzcy5zb3VyY2U9ImZvbGQtaGlkZSJ9CgojIEZvciBnZW5lcmFsIGRhdGEgc2NpZW5jZQpsaWJyYXJ5KHRpZHl2ZXJzZSkKCiMgRm9yIHJlYWRpbmcgRXhjZWwgZmlsZXMKbGlicmFyeShyZWFkeGwpCgojIEZvciBkYXRhIGNsZWFuaW5nCmxpYnJhcnkoamFuaXRvcikKCiMgRm9yIHdvcmtpbmcgd2l0aCBkYXRldGltZQpsaWJyYXJ5KGx1YnJpZGF0ZSkKCiMgRm9yIHByZXR0eSB0YWJsZXMKbGlicmFyeShrbml0cikKbGlicmFyeShndCkKCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkKCmBgYAoKIyBJbnRyb2R1Y3Rpb24KClRoZSBIb3dhcmQgQ2VudGVyIGNoZWNrZWQgb3BlcmF0b3ItcmVwb3J0ZWQgdm9sdW1lcyBmcm9tIDIwMTIgdG8gMjAyMCBhZ2FpbnN0IHNhdGVsbGl0ZSByZWNvcmRlZCBkYXRhIFthdmFpbGFibGVdKGh0dHBzOi8vZW9nZGF0YS5taW5lcy5lZHUvZG93bmxvYWRfZ2xvYmFsX2ZsYXJlLmh0bWwpIGZyb20gdGhlIEVhcnRoIE9ic2VydmF0aW9uIEdyb3VwIGF0IHRoZSBDb2xvcmFkbyBTY2hvb2wgb2YgTWluZXMuIEFsc28gYXZhaWxhYmxlIGZyb20gdGhlIHdlYnNpdGUgaXMgYSBkZXRhaWxlZCBbZXhwbGFuYXRpb25dKGh0dHA6Ly93d3cubWRwaS5jb20vMTk5Ni0xMDczLzkvMS8xNCkgYnkgQ2hyaXN0b3BoZXIgRWx2aWRnZSBvZiB0aGUgVmlzaWJsZSBJbmZyYXJlZCBJbWFnaW5nIFJhZGlvbWV0ZXIgU3VpdGUgKFZJSVJTKSB0ZWNobm9sb2d5IHVzZWQgdG8gbWVhc3VyZSBmbGFyaW5nIHZvbHVtZXMgZnJvbSBzcGFjZS4gCgpVc2VycyBuZWVkIHRvIGNyZWF0ZSBhbiBFT0cgYWNjb3VudCB0byBkb3dubG9hZCB0aGUgZGF0YS4gCgojIExvYWQgZGF0YQoKVXNpbmcgbGF0aXR1ZGUtbG9uZ2l0dWRlIGNvb3JkaW5hdGVzIHRoZSBIb3dhcmQgQ2VudGVyIHBsb3R0ZWQgc2F0ZWxsaXRlLXJlY29yZGVkIGZsYXJlcyB0byB0aGVpciBjb3JyZXNwb25kaW5nIFUuUy4gc3RhdGUgYW5kIHNhdmVkIGl0IHRvIG5ldyBkYXRhIHNldHMgYXZhaWxhYmxlIGZyb20gdGhlIEhvd2FyZCBDZW50ZXIgW2hlcmVdKGh0dHBzOi8vZHJpdmUuZ29vZ2xlLmNvbS9maWxlL2QvMUtoMTNyZGtjQmpDa1FIRU0zVjJORmplVk1rcVEtUXhjL3ZpZXc/dXNwPXNoYXJpbmcpLiAoRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgaG93IHdlIHNwYXRpYWxseSBqb2luZWQgdGhlIGRhdGEsIHBsZWFzZSBjb250YWN0OiBob3dhcmRjZW50ZXJAYXN1LmVkdSkuIAoKYGBge3J9CgpmbGFyaW5nIDwtIHJlYWQuY3N2KHVybCgiaHR0cHM6Ly9jcm9ua2l0ZWRhdGEuczMuYW1hem9uYXdzLmNvbS9ob3dhcmQvZ2FzbGl0L3NhdGVsbGl0ZV9mbGFyaW5nLmNzdiIpKQoKCmBgYAoKCiMgQW5hbHlzaXMKCldlIGZpbHRlcmVkIGZvciB0aGUgMTMgc3RhdGVzIHdlIGludmVzdGlnYXRlZCwgdGhlbiBncm91cGVkIGJ5IHllYXIgYW5kIHN0YXRlIHRvIGFycml2ZSBhdCBhbm51YWwgdG90YWxzLiBUaGVzZSBmaWd1cmVzIHN1cHBvcnRzIG51bWVyb3VzIGZhY3RzIGluIHRoZSBwcm9qZWN0IGZyb20gdG90YWwgYW1vdW50cyBmbGFyZWQgdG8gZmxhcmluZyB0cmVuZHMgb3ZlciB0aGUgcGVyaW9kIGV4YW1pbmVkLgoKYGBge3J9CgpmbGFyaW5nICU+JQogIGZpbHRlcihzdGF0ZV9uYW1lID09ICJUZXhhcyIgfCAKICAgICAgICAgc3RhdGVfbmFtZSA9PSAiTm9ydGggRGFrb3RhIiB8IAogICAgICAgICBzdGF0ZV9uYW1lID09ICJOZXcgTWV4aWNvIiB8IAogICAgICAgICBzdGF0ZV9uYW1lID09ICJBbGFza2EiIHwgCiAgICAgICAgIHN0YXRlX25hbWUgPT0gIld5b21pbmciIHwgCiAgICAgICAgIHN0YXRlX25hbWUgPT0gIk1vbnRhbmEiIHwgCiAgICAgICAgIHN0YXRlX25hbWUgPT0gIlV0YWgiIHwgCiAgICAgICAgIHN0YXRlX25hbWUgPT0gIkNvbG9yYWRvIiB8IAogICAgICAgICBzdGF0ZV9uYW1lID09ICJPa2xhaG9tYSIgfAogICAgICAgICBzdGF0ZV9uYW1lID09ICJQZW5uc3lsdmFuaWEiIHwgCiAgICAgICAgIHN0YXRlX25hbWUgPT0gIldlc3QgVmlyZ2luaWEiIHwKICAgICAgICAgc3RhdGVfbmFtZSA9PSAiS2Fuc2FzIiB8CiAgICAgICAgIHN0YXRlX25hbWUgPT0gIkxvdWlzaWFuYSIgfCAKICAgICAgICAgaXMubmEoc3RhdGVfbmFtZSkpICU+JQogIGdyb3VwX2J5KHllYXIsIHN0YXRlX25hbWUpICU+JQogIHN1bW1hcmlzZShjZiA9IHN1bShjZiwgbmEucm0gPSBUUlVFKSwKICAgICAgICAgICAgLmdyb3VwcyA9ICdkcm9wJykgJT4lCiAgcGl2b3Rfd2lkZXIobmFtZXNfZnJvbSA9IHllYXIsIHZhbHVlc19mcm9tID0gY2YpICU+JQogIG11dGF0ZShgMjAyMGAgPSByZXBsYWNlX25hKGAyMDIwYCwwKSwgCiAgICAgICAgICJUb3RhbCIgPSByb3dTdW1zKGFjcm9zcyhjKGAyMDEyYDpgMjAyMGApKSksCiAgICAgICAgICJUb3RhbCAoJSkiID0gKFRvdGFsL3N1bShUb3RhbCkpKjEwMCkgJT4lCiAgYXJyYW5nZShkZXNjKFRvdGFsKSkgJT4lCiAgCiMgUHJldHR5IHRhYmxlCiAgZ3QoIHJvd25hbWVfY29sID0gInN0YXRlX25hbWUiKSAlPiUgCiAgdGFiX3N0dWJoZWFkKGxhYmVsID0gIlN0YXRlIikgJT4lCiAgdGFiX2hlYWRlcih0aXRsZSA9ICJTYXRlbGxpdGUgUmVjb3JkZWQgRmxhcmluZyIsCiAgICAgICAgICAgICBzdWJ0aXRsZSA9ICJGbGFyaW5nIHZvbHVtZXMgaW4gY3ViaWMgZmVldCByZWNvcmRlZCBieSBWSUlSUyBzYXRlbGxpdGUgZnJvbSAyMDEyIC0gMjAyMCIpICU+JQogIGZtdF9udW1iZXIoY29sdW1uID0gJzIwMTInOidUb3RhbCAoJSknLAogICAgICAgICAgICAgZGVjaW1hbHMgPSAwKSAlPiUKICBncmFuZF9zdW1tYXJ5X3Jvd3MoZm5zID0gbGlzdCgnVG90YWwnID0gInN1bSIpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucz0oJzIwMTInOidUb3RhbCAoJSknKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdHRlcj1ndDo6Zm10X251bWJlciwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY2ltYWxzPTApCgpgYGAKCgpGQUNUOiBBY2NvcmRpbmcgdG8gc2F0ZWxsaXRlIGRhdGEsIDgxJSBvZiB0aGUgZmxhcmluZyBpbiBVdGFoIGhhcHBlbnMgb24gdHJpYmFsIGxhbmQsIDE3JSBvbiBzdGF0ZSBsYW5kIGFuZCAyJSBvbiBmZWRlcmFsIGxhbmQuCgpGQUNUOiBTYXRlbGxpdGUgZGF0YSBhbmFseXplZCBieSB0aGUgSG93YXJkIENlbnRlciByZXZlYWxlZCB0aGF0IG9pbCBhbmQgZ2FzIG9wZXJhdG9ycyBvbiBmZWRlcmFsIGxhbmRzIGluIE5ldyBNZXhpY28gZmxhcmVkIG1vcmUgdGhhbiAxMzggYmlsbGlvbiBjdWJpYyBmZWV0IG9mIGdhcywgbmVhcmx5IGhhbGYgb2YgdGhlIGdhcyBidXJuZWQgb2ZmIGluIHRoZSBzdGF0ZSBiZXR3ZWVuIDIwMTIgYW5kIDIwMjAuCgoKYGBge3J9CgpmbGFyaW5nICU+JQogIGZpbHRlcihhZG1pbiAhPSAnb2Zmc2hvcmUnKSAlPiUgIyB3ZSBkb24ndCBuZWVkIHRvIGxvb2sgYXQgb2Zmc2hvcmUgZHJpbGxpbmcgZm9yIHRoaXMsIHNpbmNlIGl0J3Mgbm90IGFzc29jaWF0ZWQgd2l0aCBhbnkgc3RhdGUKICBncm91cF9ieShzdGF0ZV9uYW1lLCBhZG1pbikgJT4lCiAgc3VtbWFyaXNlKGNmID0gc3VtKGNmLCBuYS5ybSA9IFRSVUUpLAogICAgICAgICAgICAuZ3JvdXBzID0gJ2Ryb3AnKSAlPiUKICBwaXZvdF93aWRlcihuYW1lc19mcm9tID0gYWRtaW4sIHZhbHVlc19mcm9tID0gY2YpICU+JQogIG11dGF0ZSh0b3RhbD1yb3dTdW1zKGFjcm9zcyh0cmliYWw6c3RhdGUpLG5hLnJtID0gVFJVRSksCiAgICAgICAgIHBjdF9zdGF0ZSA9IChzdGF0ZS8odG90YWwpKSwKICAgICAgICAgcGN0X3RyaWJhbCA9ICh0cmliYWwvKHRvdGFsKSksCiAgICAgICAgIHBjdF9mZWRlcmFsID0gKGZlZGVyYWwvKHRvdGFsKSkpICU+JQogIHNlbGVjdCgtc3RhdGUsIC10cmliYWwsIC1mZWRlcmFsKSAlPiUKICBhcnJhbmdlKGRlc2ModG90YWwpKSAlPiUKICBndCggcm93bmFtZV9jb2wgPSAic3RhdGUiICkgJT4lCiAgZm10X251bWJlcihjb2x1bW4gPSB0b3RhbCwKICAgICAgICAgICAgIGRlY2ltYWxzID0gMCkgJT4lCiAgZm10X3BlcmNlbnQoY29sdW1ucyA9IHBjdF9zdGF0ZTpwY3RfZmVkZXJhbCwgCiAgICAgICAgICAgICAgZGVjaW1hbHM9MCwgCiAgICAgICAgICAgICAgdXNlX3NlcHM9VFJVRSkgJT4lCiAgY29sc19sYWJlbChzdGF0ZV9uYW1lID0gIlN0YXRlIiwKICAgICAgICAgICAgIHRvdGFsID0gIlRvdGFsIiwKICAgICAgICAgICAgIHBjdF9zdGF0ZSA9ICIlIFN0YXRlIiwKICAgICAgICAgICAgIHBjdF90cmliYWwgPSAiJSBUcmliYWwiLCAKICAgICAgICAgICAgIHBjdF9mZWRlcmFsID0gIiUgRmVkZXJhbCIpICU+JQogIHRhYl9oZWFkZXIodGl0bGUgPSAiU2F0ZWxsaXRlIFJlY29yZGVkIEZsYXJpbmcgYnkgQWRtaW4iLAogICAgICAgICAgICAgc3VidGl0bGUgPSAiRmxhcmluZyB2b2x1bWVzIHJlY29yZGVkIGJ5IFZJSVJTIHNhdGVsbGl0ZSBmcm9tIDIwMTIgLSAyMDIwIikKICAKCmBgYAoKCgoKCgoKCgoKCg==