Welcome to Kaya Decomposition Factor Analysis: R codes for rapid iterative analysis with GCAM-USA modeling output data
The purpose of this repository is to facilitate comprehensive data analysis and strategic environmental planning using Global Change Analysis Model (GCAM) modeling outputs. By providing R scripts, we aim to streamline the data processing and analysis of GCAM-USA scenario-based outputs across 50 states. The R-markdown files enable users to efficiently read, merge, and analyze outputs from GCAM ModelInterface queries. It also guides to calculate decomposition factors and rank sectors and technologies by their impact on CO2 emissions or alternative air pollutants. Additionally, the repository supports visualization of data for individual states or all states collectively, making it a useful resource for state governments and other stakeholders involved in environmental and energy modeling.
We combine energy systems modeling with decomposition analysis methods to investigate changes in emissions of air pollutants under alternative policy scenarios. The Kaya Identity provides a robust framework for identifying the driving forces of GHG or air pollutant emissions, facilitating development of potential reduction strategies tailored to the specific characteristics of the 50 U.S. states. When coupled with emissions projections for the 50 U.S. states, it could highlight differences and similarities of strategies with neighboring regions.
For this repository, our focus is on using Global Change Analysis Model-USA (GCAM-USA) to simulate alternative policy scenarios compared to the business-as-usual scenario. We run GCAM-USA since it produces state-level results. The decomposition analysis is then applied to the model's results, using the Kaya Identity to break down the factors influencing CO2 emissions or other air pollutant emissions into categories such as decreasing the emissions intensity of energy and decreasing the energy intensity of activities.
-
Model: GCAM-USA 7.0 and 7.1
-
Modeling Platform: GLIMPSE v1.01 and v1.2
The GLIMPSE (GCAM-Long-Term Interactive Multi-Pollutant Scenario Evaluator) developed by EPA's Office of Research and Development facilitates the GCAM-USA modeling by providing a graphical user interface. GCAM simulates the co-evolution of the economy, energy system, land use, and climate system, including how this co-evolution is shaped by policy and other external factors. GLIMPSE allows users to explore or modify GCAM scenario inputs and to take simulation outputs through its ModelInterface. The outputs of the ModelInterface is used as inputs for the Kaya decomposition analysis, which is analyzed through the R codes in this repository.
For more information about the GLIMPSE user interface and GCAM-USA model, please visit EPA's GLIMPSE project repository at https://github.com/USEPA/GLIMPSE and GCAM repository at https://github.com/JGCRI/gcam-core.
The `data` folder in this repository provides five input files for the Kaya decomposition analysis, which are taken out from the GCAM ModelInterface queries. GCAM inputs include population growth, GDP growth, resource availability, and technology development by sector, and its outputs include energy technology penetrations, fuel use, and emissions by technology. The inputs and outputs will be used in the decomposition analysis. The data are state-level data for all 50 U.S. states from 2020 to 2050, presented in 5-year intervals. The ModelInterface queries that we utilized for the decomposition analysis include:
(1) All emissions by technology
(2) Inputs by technology
(3) Outputs by technology
(4) Population by state
(5) GDP per capita by state
The (1)-(3) queries provide data by scenarios while (4) population by state and (5) GDP per capita by state queries project data over the period but stay consistent across scenarios.
The following is a description of how the five inputs were cleaned and modified from the raw output data of the ModelInterface.
-
All_emissions_by_tech_damage.csv: This is a file created by the All-emissions-by-technology query. The query output is cleaned by deleting unnecessary columns such as date and unnecessary information, depth=1 from the raw file. This cleanup process is optional to run the Kaya decomposition analysis using the R code in this repository. -
Inputs_by_tech_airco2rename.csv: This file is generated by the Inputs-by-technology query and cleaned up by removing unnecessary columns such as date and unnecessary information, depth=1. Additionally, it changed the name of the airCO2 sector in the sector column to "CO2 removal" so that it conveys appropriate meaning. -
Outputs_by_tech.csv: This file is almost identical to the raw file generated by the Outputs-by-technology query in the ModelInterface, except for the deletion of unnecessary columns such as date and unnecessary information, depth=1. -
Population_by_region.csv: This file is identical to the raw file generated by the Population-by-state query in the ModelInterface. -
GDP_per_capita_PPP_by_region.csv: This file is also identical to the raw file generated by the GDP-per-capita-by-state query in the ModelInterface.
The five inputs were started with GLIMPSEv1.01-Reference and GLIMPSEv1.01-DeepDecarb scenario outputs, and later three additional scenarios related with damage functions were added. The details of scenario design will be explained below. Users of this repository can also utilize it in accordance with their purpose by adding their own scenario outputs.
This repository contains data from five scenarios. Two scenarios were initially considered for the decomposition analysis of CO2 emission in 2024. Three scenarios were added later when GLIMPSE version 1.2 became available in April 2025. At the time this repository was formed, GLIMPSE version 1.2 was the latest version.
(1) Reference scenario (GLIMPSE v1.01-Reference) is based on the GCAM-USA 7.0 reference scenario where there is business as usual,
(2) Alternative policy scenario (GLIMPSE v1.01-DeepDecarb) is the GLIMPSE v1.01-Reference scenario with a CO2 emission constraint that reaches net-zero in 2050.
(3) GLIMPSE v1.2-Reference-damage is based on the GCAM-USA 7.1 reference scenario, but includes updated regulations and policies that would impact the evolution of the energy system. It includes the Regional Greenhouse Gas Initiative (RGGI), state-specific renewable portfolio standards (RPS) and clean energy standards, technology subsidies associated with the Inflation Reduction Act (IRA), and zero-emission electric vehicle market share estimates for light, medium, and heavy-duty vehicles.
(4) GLIMPSE v1.2-damage_all_15pct is the GLIMPSE v1.2-Reference-damage scenario with an added constraint to reduce the health damages from the national level of total emissions by 15% in 2050, relative to the reference levels in 2020. The national-level constraint allows for heterogeneous reductions across states.
(5) GLIMPSE v1.2-state_damages is the GLIMPSE v1.2-Reference-damage scenario with an added constraint to reduce the health damages from each state's emissions by 15% in 2050, relative to the reference level of each state's emissions in 2020. The state-level case forces homogeneous reductions across states.
The scenarios in this repository are an example of various scenarios that can be analyzed through GCAM modeling. Users of this repository could apply their own scenario data to conduct the Kaya decomposition analysis using the R code in this repository.
The decomposition analysis, theoretically rooted in the Kaya Identity (Kaya & Keiichi, 1997), begins with breaking down the factors of selective emissions as shown in the following equation below:
where
Each component represents the factors influencing emissions by breaking them down into population growth (
Given the large volume of the 50 states’ data, the R-markdown files in `src` folder outline the steps to calculate the decomposition factors, loop over 50 states and time periods, and visualize the outputs for a single state or for all 50 states.
For more details, please find a README.md under src folder.
Kaya, Y., & Keiichi, Y. (1997). Environment, energy, and economy: strategies for sustainability. United Nations University Press.
-
Gyungwon Joyce Kim, U.S. Environmental Protection Agency, kim.joyce@epa.gov
-
Farnaz Nojavan Asghari, U.S. Environmental Protection Agency, nojavanasghari.farnaz@epa.gov
The United States Environmental Protection Agency (EPA) GitHub project code is provided on an "as is" basis and the user assumes responsibility for its use. EPA has relinquished control of the information and no longer has responsibility to protect the integrity , confidentiality, or availability of the information. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by EPA. The EPA seal and logo shall not be used in any manner to imply endorsement of any commercial product or activity by EPA or the United States Government.