How are renewable energy sources affecting the consumption of fossil fuels

Context

This exploration uses 1988 as a reference point. It was that year that NASA scientist James Hansen testified before the Senate to report 99% certainty the earth was warmer than any other time in the history of temperature record keeping. The same year the United Nations officially established the Intergovernmental Panel on Climate Change (IPCC), Time magazine named “Endangered Earth” as the Planet of the Year, and V. Ramanathan authored The Greenhouse Theory of Climate Change: A Test by an Inadvertent Global Experiment. Science240,293-299(1988).DOI:10.1126/science.240.4850.293

Some other date could have been chosen as a reference. The Technology Revolution got kicking into high gear in the late 1800s. Rachel Carson’s Silent Spring was published in 1962. Both of these are fine dates, but closer in reduces the data viewing burden. And closer in we became much more aware. So, no excuses.

First graph and all data from https://ourworldindata.org/energy-mix#global-primary-energy-how-has-the-mix-changed-over-centuries

Other graphs using the same data

library(tidyverse)
library(viridis)
library(scales)

# Read data
energy <- read_csv("data/global-primary-energy-by-source.csv")

# Convert to tidy format
energy_long <- energy %>%
  pivot_longer(
    cols = c(
      `Other renewables`,
      Biofuels,
      Solar,
      Wind,
      Hydropower,
      Nuclear,
      Gas,
      Oil,
      Coal,
      `Traditional biomass`
    ),
    names_to = "Source",
    values_to = "TWh"
  )
fossil_components <- energy %>%
  select(
    Year,
    Gas,
    Oil,
    Coal
  ) %>%
  pivot_longer(
    -Year,
    names_to = "Source",
    values_to = "TWh"
  )

fossil_total <- energy %>%
  transmute(
    Year,
    Source = "Total Fossil Fuels",
    TWh = Gas + Oil + Coal
  )

fossil_plot <- bind_rows(
  fossil_components,
  fossil_total
)

ggplot(
  fossil_plot,
  aes(
    x = Year,
    y = TWh,
    color = Source,
    linewidth = Source == "Total Fossil Fuels"
  )
) +
  geom_line() +
  scale_linewidth_manual(
    values = c(
      "TRUE" = 1.5,
      "FALSE" = 0.9
    ),
    guide = "none"
  ) +
  scale_color_manual(
    values = c(
      "Gas" = "#1F77B4",
      "Oil" = "#FF7F0E",
      "Coal" = "#4D4D4D",
      "Total Fossil Fuels" = "#B22222"
    )
  ) +
  scale_y_continuous(
    labels = label_comma()
  ) +
  labs(
    title = "Global Fossil Fuel Consumption",
    subtitle = "Components and Combined Total",
    x = NULL,
    y = "Energy (TWh)",
    color = NULL
  ) +
  theme_minimal(base_size = 14) +
  theme(
    plot.title = element_text(face = "bold"),
    legend.position = "bottom"
  )

energy_compare <- energy %>%
  transmute(
    Year,
    Fossil = Coal + Oil + Gas,
    Other =
      Nuclear +
      Hydropower +
      Wind +
      Solar +
      Biofuels +
      `Other renewables` +
      `Traditional biomass`
  ) %>%
  pivot_longer(
    -Year,
    names_to = "Source",
    values_to = "TWh"
  )

ggplot(
  energy_compare,
  aes(
    x = Year,
    y = TWh,
    color = Source
  )
) +
  geom_line(linewidth = 1.4) +
  scale_color_manual(
    values = c(
      "Fossil" = "#B22222",
      "Other" = "#2E8B57"
    )
  ) +
  scale_y_continuous(
    labels = label_comma()
  ) +
  labs(
    title = "Global Primary Energy Consumption",
    subtitle = "Fossil Fuels vs All Other Sources",
    x = NULL,
    y = "Energy (TWh)",
    color = NULL
  ) +
  theme_minimal(base_size = 14) +
  theme(
    plot.title = element_text(face = "bold"),
    legend.position = "bottom"
  )

share_df <- energy %>%
  transmute(
    Year,
    Fossil = Coal + Oil + Gas,
    Other =
      Nuclear +
      Hydropower +
      Wind +
      Solar +
      Biofuels +
      `Other renewables` +
      `Traditional biomass`
  ) %>%
  mutate(
    FossilShare = Fossil / (Fossil + Other)
  )

ggplot(
  share_df,
  aes(
    x = Year,
    y = FossilShare
  )
) +
  geom_line(
    color = "#B22222",
    linewidth = 1.5
  ) +
  scale_y_continuous(
    labels = percent_format(accuracy = 1)
  ) +
  labs(
    title = "Fossil Fuel Share of Global Primary Energy",
    subtitle = "Coal + Oil + Gas as a Percentage of Total Energy",
    x = NULL,
    y = "Share of Total Energy"
  ) +
  theme_minimal(base_size = 14) +
  theme(
    plot.title = element_text(face = "bold")
  )

Analysis

The findings point to declining fossil fuel dominance but not to diminishing consumption. Consumption is increasing. An inference is that alternative energy may not be displacing fossil (globally) but may be supplanting fossil when it comes to new demand growth.

The drop and rise in the late 1980s and the steep rise in the 2000s might be explained by the collapse of the Soviet Union and its Bloc countries and the subsequent rise driven by the rapid industrialization of China. Might this be a foreshadowing of the industrialization of Africa?

As new demands emerge one might expect a complex interaction between fossil fuels and alternative energy sources. If alternative energy sources reduce fossil demand, fossil price may drop and make fossil fuels more attractive. This impact might be mitigated by political will and by alternative investments made swaying choice. One might now switch from alternative to fossil if the alternative is in place and working well.

As always, another grant is needed for more study to factor in regions, economies, and other ways to partition the data.

LS0tDQp0aXRsZTogIkdsb2JhbCBFbmVyZ3kgTWl4IFNpbmNlIDE5ODgiDQpvdXRwdXQ6IA0KICBodG1sX25vdGVib29rOg0KICAgIGNvZGVfZm9sZGluZzogaGlkZQ0KLS0tDQoNCiMgSG93IGFyZSByZW5ld2FibGUgZW5lcmd5IHNvdXJjZXMgYWZmZWN0aW5nIHRoZSBjb25zdW1wdGlvbiBvZiBmb3NzaWwgZnVlbHMNCg0KIyMgQ29udGV4dA0KDQpUaGlzIGV4cGxvcmF0aW9uIHVzZXMgMTk4OCBhcyBhIHJlZmVyZW5jZSBwb2ludC4gIEl0IHdhcyB0aGF0IHllYXIgdGhhdCBOQVNBIHNjaWVudGlzdCBKYW1lcyBIYW5zZW4gdGVzdGlmaWVkIGJlZm9yZSB0aGUgU2VuYXRlIHRvIHJlcG9ydCA5OSUgY2VydGFpbnR5IHRoZSBlYXJ0aCB3YXMgd2FybWVyIHRoYW4gYW55IG90aGVyIHRpbWUgaW4gdGhlIGhpc3Rvcnkgb2YgdGVtcGVyYXR1cmUgcmVjb3JkIGtlZXBpbmcuICBUaGUgc2FtZSB5ZWFyIHRoZSBVbml0ZWQgTmF0aW9ucyBvZmZpY2lhbGx5IGVzdGFibGlzaGVkIHRoZSBJbnRlcmdvdmVybm1lbnRhbCBQYW5lbCBvbiBDbGltYXRlIENoYW5nZSAoSVBDQyksICBUaW1lIG1hZ2F6aW5lIG5hbWVkICJFbmRhbmdlcmVkIEVhcnRoIiBhcyB0aGUgUGxhbmV0IG9mIHRoZSBZZWFyLCBhbmQgVi4gUmFtYW5hdGhhbiBhdXRob3JlZCBUaGUgR3JlZW5ob3VzZSBUaGVvcnkgb2YgQ2xpbWF0ZSBDaGFuZ2U6IEEgVGVzdCBieSBhbiBJbmFkdmVydGVudCBHbG9iYWwgRXhwZXJpbWVudC4gU2NpZW5jZTI0MCwyOTMtMjk5KDE5ODgpLkRPSToxMC4xMTI2L3NjaWVuY2UuMjQwLjQ4NTAuMjkzDQoNClNvbWUgb3RoZXIgZGF0ZSBjb3VsZCBoYXZlIGJlZW4gY2hvc2VuIGFzIGEgcmVmZXJlbmNlLiAgVGhlIFRlY2hub2xvZ3kgUmV2b2x1dGlvbiBnb3Qga2lja2luZyBpbnRvIGhpZ2ggZ2VhciBpbiB0aGUgbGF0ZSAxODAwcy4gIFJhY2hlbCBDYXJzb24ncyAqU2lsZW50IFNwcmluZyogd2FzIHB1Ymxpc2hlZCBpbiAxOTYyLiAgQm90aCBvZiB0aGVzZSBhcmUgZmluZSBkYXRlcywgYnV0IGNsb3NlciBpbiByZWR1Y2VzIHRoZSBkYXRhIHZpZXdpbmcgYnVyZGVuLiAgQW5kIGNsb3NlciBpbiB3ZSBiZWNhbWUgbXVjaCBtb3JlIGF3YXJlLiAgU28sIG5vIGV4Y3VzZXMuDQoNCkZpcnN0IGdyYXBoIGFuZCBhbGwgZGF0YSBmcm9tIGh0dHBzOi8vb3Vyd29ybGRpbmRhdGEub3JnL2VuZXJneS1taXgjZ2xvYmFsLXByaW1hcnktZW5lcmd5LWhvdy1oYXMtdGhlLW1peC1jaGFuZ2VkLW92ZXItY2VudHVyaWVzDQoNCiFbXShpbWFnZXMvZ2xvYmFsLXByaW1hcnktZW5lcmd5LWJ5LXNvdXJjZS5wbmcpDQoNCg0KIyMgT3RoZXIgZ3JhcGhzIHVzaW5nIHRoZSBzYW1lIGRhdGENCg0KYGBge3J9DQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkodmlyaWRpcykNCmxpYnJhcnkoc2NhbGVzKQ0KDQojIFJlYWQgZGF0YQ0KZW5lcmd5IDwtIHJlYWRfY3N2KCJkYXRhL2dsb2JhbC1wcmltYXJ5LWVuZXJneS1ieS1zb3VyY2UuY3N2IikNCg0KIyBDb252ZXJ0IHRvIHRpZHkgZm9ybWF0DQplbmVyZ3lfbG9uZyA8LSBlbmVyZ3kgJT4lDQogIHBpdm90X2xvbmdlcigNCiAgICBjb2xzID0gYygNCiAgICAgIGBPdGhlciByZW5ld2FibGVzYCwNCiAgICAgIEJpb2Z1ZWxzLA0KICAgICAgU29sYXIsDQogICAgICBXaW5kLA0KICAgICAgSHlkcm9wb3dlciwNCiAgICAgIE51Y2xlYXIsDQogICAgICBHYXMsDQogICAgICBPaWwsDQogICAgICBDb2FsLA0KICAgICAgYFRyYWRpdGlvbmFsIGJpb21hc3NgDQogICAgKSwNCiAgICBuYW1lc190byA9ICJTb3VyY2UiLA0KICAgIHZhbHVlc190byA9ICJUV2giDQogICkNCmBgYA0KYGBge3J9DQpmb3NzaWxfY29tcG9uZW50cyA8LSBlbmVyZ3kgJT4lDQogIHNlbGVjdCgNCiAgICBZZWFyLA0KICAgIEdhcywNCiAgICBPaWwsDQogICAgQ29hbA0KICApICU+JQ0KICBwaXZvdF9sb25nZXIoDQogICAgLVllYXIsDQogICAgbmFtZXNfdG8gPSAiU291cmNlIiwNCiAgICB2YWx1ZXNfdG8gPSAiVFdoIg0KICApDQoNCmZvc3NpbF90b3RhbCA8LSBlbmVyZ3kgJT4lDQogIHRyYW5zbXV0ZSgNCiAgICBZZWFyLA0KICAgIFNvdXJjZSA9ICJUb3RhbCBGb3NzaWwgRnVlbHMiLA0KICAgIFRXaCA9IEdhcyArIE9pbCArIENvYWwNCiAgKQ0KDQpmb3NzaWxfcGxvdCA8LSBiaW5kX3Jvd3MoDQogIGZvc3NpbF9jb21wb25lbnRzLA0KICBmb3NzaWxfdG90YWwNCikNCg0KZ2dwbG90KA0KICBmb3NzaWxfcGxvdCwNCiAgYWVzKA0KICAgIHggPSBZZWFyLA0KICAgIHkgPSBUV2gsDQogICAgY29sb3IgPSBTb3VyY2UsDQogICAgbGluZXdpZHRoID0gU291cmNlID09ICJUb3RhbCBGb3NzaWwgRnVlbHMiDQogICkNCikgKw0KICBnZW9tX2xpbmUoKSArDQogIHNjYWxlX2xpbmV3aWR0aF9tYW51YWwoDQogICAgdmFsdWVzID0gYygNCiAgICAgICJUUlVFIiA9IDEuNSwNCiAgICAgICJGQUxTRSIgPSAwLjkNCiAgICApLA0KICAgIGd1aWRlID0gIm5vbmUiDQogICkgKw0KICBzY2FsZV9jb2xvcl9tYW51YWwoDQogICAgdmFsdWVzID0gYygNCiAgICAgICJHYXMiID0gIiMxRjc3QjQiLA0KICAgICAgIk9pbCIgPSAiI0ZGN0YwRSIsDQogICAgICAiQ29hbCIgPSAiIzRENEQ0RCIsDQogICAgICAiVG90YWwgRm9zc2lsIEZ1ZWxzIiA9ICIjQjIyMjIyIg0KICAgICkNCiAgKSArDQogIHNjYWxlX3lfY29udGludW91cygNCiAgICBsYWJlbHMgPSBsYWJlbF9jb21tYSgpDQogICkgKw0KICBsYWJzKA0KICAgIHRpdGxlID0gIkdsb2JhbCBGb3NzaWwgRnVlbCBDb25zdW1wdGlvbiIsDQogICAgc3VidGl0bGUgPSAiQ29tcG9uZW50cyBhbmQgQ29tYmluZWQgVG90YWwiLA0KICAgIHggPSBOVUxMLA0KICAgIHkgPSAiRW5lcmd5IChUV2gpIiwNCiAgICBjb2xvciA9IE5VTEwNCiAgKSArDQogIHRoZW1lX21pbmltYWwoYmFzZV9zaXplID0gMTQpICsNCiAgdGhlbWUoDQogICAgcGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChmYWNlID0gImJvbGQiKSwNCiAgICBsZWdlbmQucG9zaXRpb24gPSAiYm90dG9tIg0KICApDQpgYGANCmBgYHtyfQ0KZW5lcmd5X2NvbXBhcmUgPC0gZW5lcmd5ICU+JQ0KICB0cmFuc211dGUoDQogICAgWWVhciwNCiAgICBGb3NzaWwgPSBDb2FsICsgT2lsICsgR2FzLA0KICAgIE90aGVyID0NCiAgICAgIE51Y2xlYXIgKw0KICAgICAgSHlkcm9wb3dlciArDQogICAgICBXaW5kICsNCiAgICAgIFNvbGFyICsNCiAgICAgIEJpb2Z1ZWxzICsNCiAgICAgIGBPdGhlciByZW5ld2FibGVzYCArDQogICAgICBgVHJhZGl0aW9uYWwgYmlvbWFzc2ANCiAgKSAlPiUNCiAgcGl2b3RfbG9uZ2VyKA0KICAgIC1ZZWFyLA0KICAgIG5hbWVzX3RvID0gIlNvdXJjZSIsDQogICAgdmFsdWVzX3RvID0gIlRXaCINCiAgKQ0KDQpnZ3Bsb3QoDQogIGVuZXJneV9jb21wYXJlLA0KICBhZXMoDQogICAgeCA9IFllYXIsDQogICAgeSA9IFRXaCwNCiAgICBjb2xvciA9IFNvdXJjZQ0KICApDQopICsNCiAgZ2VvbV9saW5lKGxpbmV3aWR0aCA9IDEuNCkgKw0KICBzY2FsZV9jb2xvcl9tYW51YWwoDQogICAgdmFsdWVzID0gYygNCiAgICAgICJGb3NzaWwiID0gIiNCMjIyMjIiLA0KICAgICAgIk90aGVyIiA9ICIjMkU4QjU3Ig0KICAgICkNCiAgKSArDQogIHNjYWxlX3lfY29udGludW91cygNCiAgICBsYWJlbHMgPSBsYWJlbF9jb21tYSgpDQogICkgKw0KICBsYWJzKA0KICAgIHRpdGxlID0gIkdsb2JhbCBQcmltYXJ5IEVuZXJneSBDb25zdW1wdGlvbiIsDQogICAgc3VidGl0bGUgPSAiRm9zc2lsIEZ1ZWxzIHZzIEFsbCBPdGhlciBTb3VyY2VzIiwNCiAgICB4ID0gTlVMTCwNCiAgICB5ID0gIkVuZXJneSAoVFdoKSIsDQogICAgY29sb3IgPSBOVUxMDQogICkgKw0KICB0aGVtZV9taW5pbWFsKGJhc2Vfc2l6ZSA9IDE0KSArDQogIHRoZW1lKA0KICAgIHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoZmFjZSA9ICJib2xkIiksDQogICAgbGVnZW5kLnBvc2l0aW9uID0gImJvdHRvbSINCiAgKQ0KDQpgYGANCg0KYGBge3J9DQpzaGFyZV9kZiA8LSBlbmVyZ3kgJT4lDQogIHRyYW5zbXV0ZSgNCiAgICBZZWFyLA0KICAgIEZvc3NpbCA9IENvYWwgKyBPaWwgKyBHYXMsDQogICAgT3RoZXIgPQ0KICAgICAgTnVjbGVhciArDQogICAgICBIeWRyb3Bvd2VyICsNCiAgICAgIFdpbmQgKw0KICAgICAgU29sYXIgKw0KICAgICAgQmlvZnVlbHMgKw0KICAgICAgYE90aGVyIHJlbmV3YWJsZXNgICsNCiAgICAgIGBUcmFkaXRpb25hbCBiaW9tYXNzYA0KICApICU+JQ0KICBtdXRhdGUoDQogICAgRm9zc2lsU2hhcmUgPSBGb3NzaWwgLyAoRm9zc2lsICsgT3RoZXIpDQogICkNCg0KZ2dwbG90KA0KICBzaGFyZV9kZiwNCiAgYWVzKA0KICAgIHggPSBZZWFyLA0KICAgIHkgPSBGb3NzaWxTaGFyZQ0KICApDQopICsNCiAgZ2VvbV9saW5lKA0KICAgIGNvbG9yID0gIiNCMjIyMjIiLA0KICAgIGxpbmV3aWR0aCA9IDEuNQ0KICApICsNCiAgc2NhbGVfeV9jb250aW51b3VzKA0KICAgIGxhYmVscyA9IHBlcmNlbnRfZm9ybWF0KGFjY3VyYWN5ID0gMSkNCiAgKSArDQogIGxhYnMoDQogICAgdGl0bGUgPSAiRm9zc2lsIEZ1ZWwgU2hhcmUgb2YgR2xvYmFsIFByaW1hcnkgRW5lcmd5IiwNCiAgICBzdWJ0aXRsZSA9ICJDb2FsICsgT2lsICsgR2FzIGFzIGEgUGVyY2VudGFnZSBvZiBUb3RhbCBFbmVyZ3kiLA0KICAgIHggPSBOVUxMLA0KICAgIHkgPSAiU2hhcmUgb2YgVG90YWwgRW5lcmd5Ig0KICApICsNCiAgdGhlbWVfbWluaW1hbChiYXNlX3NpemUgPSAxNCkgKw0KICB0aGVtZSgNCiAgICBwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGZhY2UgPSAiYm9sZCIpDQogICkNCg0KYGBgDQoNCiMjIEFuYWx5c2lzDQoNClRoZSBmaW5kaW5ncyBwb2ludCB0byBkZWNsaW5pbmcgZm9zc2lsIGZ1ZWwgZG9taW5hbmNlIGJ1dCBub3QgdG8gZGltaW5pc2hpbmcgY29uc3VtcHRpb24uICBDb25zdW1wdGlvbiBpcyBpbmNyZWFzaW5nLiAgQW4gaW5mZXJlbmNlIGlzIHRoYXQgYWx0ZXJuYXRpdmUgZW5lcmd5IG1heSBub3QgYmUgZGlzcGxhY2luZyBmb3NzaWwgKGdsb2JhbGx5KSBidXQgbWF5IGJlIHN1cHBsYW50aW5nIGZvc3NpbCB3aGVuIGl0IGNvbWVzIHRvIG5ldyBkZW1hbmQgZ3Jvd3RoLg0KDQpUaGUgZHJvcCBhbmQgcmlzZSBpbiB0aGUgbGF0ZSAxOTgwcyBhbmQgdGhlIHN0ZWVwIHJpc2UgaW4gdGhlIDIwMDBzIG1pZ2h0IGJlIGV4cGxhaW5lZCBieSB0aGUgY29sbGFwc2Ugb2YgdGhlIFNvdmlldCBVbmlvbiBhbmQgaXRzIEJsb2MgY291bnRyaWVzIGFuZCB0aGUgc3Vic2VxdWVudCByaXNlIGRyaXZlbiBieSB0aGUgcmFwaWQgaW5kdXN0cmlhbGl6YXRpb24gb2YgQ2hpbmEuICBNaWdodCB0aGlzIGJlIGEgZm9yZXNoYWRvd2luZyBvZiB0aGUgaW5kdXN0cmlhbGl6YXRpb24gb2YgQWZyaWNhPyANCg0KQXMgbmV3IGRlbWFuZHMgZW1lcmdlIG9uZSBtaWdodCBleHBlY3QgYSBjb21wbGV4IGludGVyYWN0aW9uIGJldHdlZW4gZm9zc2lsIGZ1ZWxzIGFuZCBhbHRlcm5hdGl2ZSBlbmVyZ3kgc291cmNlcy4gIElmIGFsdGVybmF0aXZlIGVuZXJneSBzb3VyY2VzIHJlZHVjZSBmb3NzaWwgZGVtYW5kLCBmb3NzaWwgcHJpY2UgbWF5IGRyb3AgYW5kIG1ha2UgZm9zc2lsIGZ1ZWxzIG1vcmUgYXR0cmFjdGl2ZS4gIFRoaXMgaW1wYWN0IG1pZ2h0IGJlIG1pdGlnYXRlZCBieSBwb2xpdGljYWwgd2lsbCBhbmQgYnkgYWx0ZXJuYXRpdmUgaW52ZXN0bWVudHMgbWFkZSBzd2F5aW5nIGNob2ljZS4gIE9uZSBtaWdodCBub3cgc3dpdGNoIGZyb20gYWx0ZXJuYXRpdmUgdG8gZm9zc2lsIGlmIHRoZSBhbHRlcm5hdGl2ZSBpcyBpbiBwbGFjZSBhbmQgd29ya2luZyB3ZWxsLg0KDQpBcyBhbHdheXMsIGFub3RoZXIgZ3JhbnQgaXMgbmVlZGVkIGZvciBtb3JlIHN0dWR5IHRvIGZhY3RvciBpbiByZWdpb25zLCBlY29ub21pZXMsIGFuZCBvdGhlciB3YXlzIHRvIHBhcnRpdGlvbiB0aGUgZGF0YS4=