Total greenhouse gas emissions including LULUCF (Mt CO2e)

Source: worldbank.org, 03.09.2025

Year: 2022

Flag Country Value Value change, % Rank
Afghanistan Afghanistan 39.2 +2.54% 90
Angola Angola 138 +2.08% 42
Albania Albania 9.16 -5.99% 130
United Arab Emirates United Arab Emirates 259 +4.29% 32
Argentina Argentina 443 +1.64% 19
Armenia Armenia 9.89 -3.01% 125
Antigua & Barbuda Antigua & Barbuda 0.564 +0.231% 145
Australia Australia 512 -2.24% 16
Austria Austria 64.9 -7.57% 65
Azerbaijan Azerbaijan 55.7 +3.8% 74
Burundi Burundi 6.11 +2.7% 134
Belgium Belgium 112 -6.26% 46
Benin Benin 12.7 +4.95% 117
Burkina Faso Burkina Faso 74.2 +0.51% 57
Bangladesh Bangladesh 279 +3.36% 30
Bulgaria Bulgaria 54.6 +8.33% 75
Bahrain Bahrain 62.5 -1.39% 66
Bahamas Bahamas -2.2 -0.394% 160
Bosnia & Herzegovina Bosnia & Herzegovina 23.8 -0.163% 99
Belarus Belarus 43.7 -4.15% 85
Belize Belize -7.99 -0.291% 167
Bolivia Bolivia 89.6 +1.58% 51
Brazil Brazil 1,664 +0.24% 6
Barbados Barbados 0.893 +0.27% 144
Brunei Brunei 9.21 -4.61% 129
Bhutan Bhutan -4.76 -0.639% 164
Botswana Botswana 9.57 +9.68% 128
Central African Republic Central African Republic -147 -0.269% 176
Canada Canada 727 +2.39% 11
Switzerland Switzerland 41.6 -7.07% 86
Chile Chile 75.7 +0.129% 56
China China 13,819 -0.115% 1
Côte d’Ivoire Côte d’Ivoire 59.4 +1.09% 70
Cameroon Cameroon -37.1 -1.59% 171
Congo - Kinshasa Congo - Kinshasa 57.9 +6.15% 71
Congo - Brazzaville Congo - Brazzaville 5.48 +12.2% 137
Colombia Colombia 312 +1.64% 27
Comoros Comoros -1.38 +1.16% 158
Cape Verde Cape Verde 1.2 +4.14% 143
Costa Rica Costa Rica 12.9 +1.91% 116
Cuba Cuba 11.3 -5.16% 120
Cyprus Cyprus 9.83 +4.93% 126
Czechia Czechia 132 +0.378% 43
Germany Germany 758 -2.76% 10
Djibouti Djibouti -4.88 +0.546% 165
Dominica Dominica -2.62 -0.0115% 161
Denmark Denmark 45.3 -3.65% 82
Dominican Republic Dominican Republic 48.6 +0.422% 79
Algeria Algeria 255 +3.77% 33
Ecuador Ecuador 86.9 +2.4% 52
Eritrea Eritrea 6.16 -0.207% 133
Spain Spain 260 -1.41% 31
Estonia Estonia 18.1 +1.6% 104
Ethiopia Ethiopia 290 +0.695% 29
Finland Finland 46.1 -8.41% 81
Fiji Fiji 3.87 +4.53% 138
France France 397 -3.26% 22
Micronesia (Federated States of) Micronesia (Federated States of) -0.519 -0.154% 157
Gabon Gabon -89 -1.03% 172
United Kingdom United Kingdom 401 -3.17% 21
Georgia Georgia 13.8 +4.14% 115
Ghana Ghana 56.1 +2.21% 73
Guinea Guinea 61.6 +1.6% 69
Gambia Gambia 3.11 +2.67% 139
Guinea-Bissau Guinea-Bissau 2.43 +2.92% 140
Equatorial Guinea Equatorial Guinea 16.7 -2.61% 107
Greece Greece 67.5 +0.131% 62
Grenada Grenada 0.0153 +9.29% 152
Guatemala Guatemala 44.7 +0.153% 84
Guyana Guyana -134 -0.686% 175
Honduras Honduras 14.7 +4.35% 111
Croatia Croatia 19.1 -1.95% 103
Haiti Haiti 14.7 +0.644% 112
Hungary Hungary 57 -4.74% 72
Indonesia Indonesia 2,078 +3.78% 5
India India 3,412 +6.8% 3
Ireland Ireland 66.7 -1.39% 64
Iran Iran 982 +3.03% 8
Iceland Iceland 10 +0.123% 124
Israel Israel 80.5 +2.93% 54
Italy Italy 374 -0.948% 24
Jamaica Jamaica 6.03 -1.25% 135
Jordan Jordan 30.9 +1.08% 98
Japan Japan 1,055 -6.57% 7
Kazakhstan Kazakhstan 324 -0.705% 26
Kenya Kenya 162 +1.55% 40
Kyrgyzstan Kyrgyzstan 11.1 +0.302% 122
Cambodia Cambodia 78.1 -0.714% 55
St. Kitts & Nevis St. Kitts & Nevis 0.0285 +33.8% 151
South Korea South Korea 627 -6.31% 13
Kuwait Kuwait 166 +4.8% 38
Laos Laos 51.1 +2.57% 76
Lebanon Lebanon 20.8 +1.21% 100
Liberia Liberia -15.9 -0.927% 170
St. Lucia St. Lucia 0.205 +2.65% 149
Sri Lanka Sri Lanka 19.2 -13.1% 102
Lesotho Lesotho 10.1 +1.26% 123
Lithuania Lithuania 14.6 -10.4% 113
Luxembourg Luxembourg 7.51 -12.6% 131
Latvia Latvia 12 -6.09% 119
Morocco Morocco 105 -2.63% 48
Moldova Moldova 15.5 -1.6% 110
Madagascar Madagascar 67.6 +0.417% 61
Mexico Mexico 486 +3.63% 18
North Macedonia North Macedonia 9.64 +8.57% 127
Mali Mali -110 +0.54% 174
Malta Malta 2.11 +6.36% 141
Myanmar (Burma) Myanmar (Burma) 167 -0.519% 37
Mongolia Mongolia 36.7 -1.12% 92
Mozambique Mozambique 68.2 +3.82% 60
Mauritania Mauritania 15.5 +2% 109
Mauritius Mauritius 5.7 +2.07% 136
Malawi Malawi 18 +0.965% 105
Malaysia Malaysia 101 +18.8% 49
Namibia Namibia -104 -0.605% 173
Niger Niger 31.9 +5.9% 96
Nigeria Nigeria 696 -0.945% 12
Nicaragua Nicaragua 32.5 +1.44% 94
Netherlands Netherlands 165 -7.58% 39
Norway Norway 41.3 -1.57% 87
Nepal Nepal 39.6 +1.2% 89
New Zealand New Zealand 62 -1.86% 67
Pakistan Pakistan 564 -2.59% 14
Panama Panama -11.7 -9.52% 168
Peru Peru 193 +2.24% 36
Philippines Philippines 292 +1.43% 28
Palau Palau 1.36 +5.62% 142
Papua New Guinea Papua New Guinea -3.33 -7.12% 162
Poland Poland 375 -2.05% 23
North Korea North Korea 68.7 +4.08% 59
Portugal Portugal 49.3 +0.877% 78
Paraguay Paraguay 67.5 -2.64% 63
Romania Romania 61.6 -7.33% 68
Russia Russia 2,090 +3.65% 4
Rwanda Rwanda 0.385 -35.6% 148
Saudi Arabia Saudi Arabia 778 +4.82% 9
Sudan Sudan 146 -0.368% 41
Senegal Senegal 15.8 +2.78% 108
Singapore Singapore 71.6 +1.39% 58
Solomon Islands Solomon Islands 16.9 +0.161% 106
El Salvador El Salvador 12.2 +3.53% 118
Somalia Somalia 49.7 +0.213% 77
São Tomé & Príncipe São Tomé & Príncipe -0.0872 -25.6% 154
Suriname Suriname -14.1 +0.625% 169
Slovakia Slovakia 37.8 -3.32% 91
Slovenia Slovenia 14 -5.44% 114
Sweden Sweden 6.84 -35.7% 132
Eswatini Eswatini -0.389 -21.9% 156
Seychelles Seychelles 0.477 +14.5% 147
Syria Syria 40.2 +0.337% 88
Chad Chad 85.9 +6.88% 53
Togo Togo 11.2 +3.3% 121
Thailand Thailand 351 +3.86% 25
Tajikistan Tajikistan 19.4 +0.109% 101
Turkmenistan Turkmenistan 99 +1.51% 50
Timor-Leste Timor-Leste 0.537 +22.7% 146
Tonga Tonga -1.66 -0.717% 159
Trinidad & Tobago Trinidad & Tobago 32.6 -1.79% 93
Tunisia Tunisia 46.3 -1.41% 80
Turkey Turkey 550 -4.48% 15
Tuvalu Tuvalu 0.00397 +2.59% 153
Tanzania Tanzania 131 +0.389% 44
Uganda Uganda 110 +0.022% 47
Ukraine Ukraine 214 -23.3% 34
Uruguay Uruguay 32.3 -1.28% 95
United States United States 5,214 +0.94% 2
Uzbekistan Uzbekistan 208 +2.97% 35
St. Vincent & Grenadines St. Vincent & Grenadines 0.0901 +0.446% 150
Venezuela Venezuela 114 +8.83% 45
Vietnam Vietnam 434 -3.75% 20
Vanuatu Vanuatu -6.28 -0.237% 166
Samoa Samoa -0.133 -12.3% 155
Yemen Yemen 31.3 -0.811% 97
South Africa South Africa 505 -3.44% 17
Zambia Zambia -3.81 -29.5% 163
Zimbabwe Zimbabwe 45.1 +2.15% 83

The indicator 'Total greenhouse gas emissions including LULUCF (Land Use, Land-Use Change, and Forestry)' measures the total output of greenhouse gases into the atmosphere, calculated in million metric tons of CO2 equivalent (Mt CO2e). It encompasses emissions from various sectors, including energy production, and agriculture, as well as carbon fluxes linked to land use changes. LULUCF is particularly significant as it accounts for both emissions and sequestration; for example, forests can sequester carbon but also release it due to deforestation and soil degradation. An analysis of this indicator provides insights into a country's contribution to global warming and climate change, reflecting the effectiveness of policies aimed at reducing emissions.

The importance of tracking total greenhouse gas emissions lies primarily in its role in mitigating climate change. With the evidence tipping towards an urgent climate crisis, carbon emissions are scrutinized for potential reductions across various sectors. Policymakers and scientists utilize this data to understand trends and formulate actionable strategies in line with international climate agreements such as the Paris Agreement, which focuses on keeping global temperature rise below 1.5 degrees Celsius. Monitoring this indicator also allows for comparison between regions, highlighting the progress of different countries in reducing their carbon footprints.

Diving into the relations with other indicators, total greenhouse gas emissions have a direct correlation with energy consumption and economic growth. Higher emissions often signify increased energy usage, especially from fossil fuels, driving up national economic productivity. Indicators such as per capita emissions reveal the rate of emissions relative to the population size, offering significant insights into the sustainability of a nation's growth. Moreover, the efficiency of industrial processes and the adoption of renewable energy sources also factor into the total emissions figures. Similarly, improvements in waste management practices and agricultural approaches can drastically influence overall greenhouse gas output.

Several factors affect total greenhouse gas emissions, including economic conditions, technological advancements, and regulatory frameworks. For instance, countries rich in fossil fuel reserves may rely heavily on those resources for energy, significantly increasing their emissions. On the other hand, advancements in renewable energy technologies—like solar and wind power—can lead countries to adopt cleaner energy sources, subsequently reducing their carbon emissions. Furthermore, effective government regulations aimed at emissions reductions, such as carbon pricing or cap-and-trade systems, can create economic incentives for industries to adopt greener methods.

Various strategies are employed globally to mitigate greenhouse gas emissions. Transitioning to renewable energy sources, improving energy efficiency, and increasing the carbon sequestration capacity of forests through LULUCF practices like afforestation are pivotal. Enhancing public transportation systems and encouraging carpooling and electric vehicle usage can mitigate emissions from the transportation sector. Additionally, promoting sustainable agricultural practices will not only help improve land use but also significantly reduce methane and nitrous oxide emissions stemming from livestock and fertilizer application. Engaging communities and raising awareness about individual contributions to carbon emissions can also catalyze change on a grassroots level.

However, the measurement of total greenhouse gas emissions is not without its flaws. One inherent flaw is the reliance on estimations based on indirect data sources, which can lead to discrepancies. Countries may also report their emissions differently, based on their capabilities to monitor and maintain accurate data. This inconsistency can result in the underrepresentation or overrepresentation of a country's actual emission levels. Furthermore, while LULUCF may show negative emissions due to increased carbon intake by forests, it can create a false sense of accomplishment, masking higher emissions in other sectors.

As of the latest recorded year of 2020, the total greenhouse gas emissions worldwide amounted to 50,068.76 Mt CO2e. This represents a notable decrease compared to previous years, particularly following a global shift in production and consumption patterns as a result of the COVID-19 pandemic. The median value of total emissions stands at 44.03 Mt CO2e, illustrating regional disparities and indicating areas where emissions can be significantly reduced.

When analyzing the top five areas contributing to emissions, China leads with an immense 13,706.06 Mt CO2e, followed by the United States with 4,795.79 Mt CO2e, and India with 3,208.86 Mt CO2e. These countries are prominent industrial giants where energy demands for production and consumption are high. Indonesia and Russia round out the top five, also highlighting the energy-intensive nature of their economies. On the stark opposite end, the bottom five areas include the Central African Republic with -216.11 Mt CO2e, indicating a net carbon sink, followed by Mali, Namibia, Gabon, and Cameroon, all also showing negative emissions figures. This information suggests that these countries may possess extensive forests or land management systems promoting carbon uptake.

Overall, analyzing total greenhouse gas emissions, including LULUCF, provides a comprehensive view of global efforts towards climate action, revealing both challenges and opportunities. Acknowledging the complex relationships between emissions, policies, and practical implementations can empower nations to devise more robust strategies for reducing their carbon footprints effectively. The importance of this indicator cannot be overstated, as it remains at the forefront of environmental policy and sustainability efforts worldwide.

                    
# Install missing packages
import sys
import subprocess

def install(package):
subprocess.check_call([sys.executable, "-m", "pip", "install", package])

# Required packages
for package in ['wbdata', 'country_converter']:
try:
__import__(package)
except ImportError:
install(package)

# Import libraries
import wbdata
import country_converter as coco
from datetime import datetime

# Define World Bank indicator code
dataset_code = 'EN.GHG.ALL.LU.MT.CE.AR5'

# Download data from World Bank API
data = wbdata.get_dataframe({dataset_code: 'value'},
date=(datetime(1960, 1, 1), datetime.today()),
parse_dates=True,
keep_levels=True).reset_index()

# Extract year
data['year'] = data['date'].dt.year

# Convert country names to ISO codes using country_converter
cc = coco.CountryConverter()
data['iso2c'] = cc.convert(names=data['country'], to='ISO2', not_found=None)
data['iso3c'] = cc.convert(names=data['country'], to='ISO3', not_found=None)

# Filter out rows where ISO codes could not be matched — likely not real countries
data = data[data['iso2c'].notna() & data['iso3c'].notna()]

# Sort for calculation
data = data.sort_values(['iso3c', 'year'])

# Calculate YoY absolute and percent change
data['value_change'] = data.groupby('iso3c')['value'].diff()
data['value_change_percent'] = data.groupby('iso3c')['value'].pct_change() * 100

# Calculate ranks (higher GDP per capita = better rank)
data['rank'] = data.groupby('year')['value'].rank(ascending=False, method='dense')

# Calculate rank change from previous year
data['rank_change'] = data.groupby('iso3c')['rank'].diff()

# Select desired columns
final_df = data[['country', 'iso2c', 'iso3c', 'year', 'value',
'value_change', 'value_change_percent', 'rank', 'rank_change']].copy()

# Optional: Add labels as metadata (could be useful for export or UI)
column_labels = {
'country': 'Country name',
'iso2c': 'ISO 2-letter country code',
'iso3c': 'ISO 3-letter country code',
'year': 'Year',
'value': 'GDP per capita (current US$)',
'value_change': 'Year-over-Year change in value',
'value_change_percent': 'Year-over-Year percent change in value',
'rank': 'Country rank by GDP per capita (higher = richer)',
'rank_change': 'Change in rank from previous year'
}

# Display first few rows
print(final_df.head(10))

# Optional: Save to CSV
#final_df.to_csv("gdp_per_capita_cleaned.csv", index=False)
                    
                
                    
# Check and install required packages
required_packages <- c("WDI", "countrycode", "dplyr")

for (pkg in required_packages) {
  if (!requireNamespace(pkg, quietly = TRUE)) {
    install.packages(pkg)
  }
}

# Load the necessary libraries
library(WDI)
library(dplyr)
library(countrycode)

# Define the dataset code (World Bank indicator code)
dataset_code <- 'EN.GHG.ALL.LU.MT.CE.AR5'

# Download data using WDI package
dat <- WDI(indicator = dataset_code)

# Filter only countries using 'is_country' from countrycode
# This uses iso2c to identify whether the entry is a recognized country
dat <- dat %>%
  filter(countrycode(iso2c, origin = 'iso2c', destination = 'country.name', warn = FALSE) %in%
           countrycode::codelist$country.name.en)

# Ensure dataset is ordered by country and year
dat <- dat %>%
  arrange(iso3c, year)

# Rename the dataset_code column to "value" for easier manipulation
dat <- dat %>%
  rename(value = !!dataset_code)

# Calculate year-over-year (YoY) change and percentage change
dat <- dat %>%
  group_by(iso3c) %>%
  mutate(
    value_change = value - lag(value),                              # Absolute change from previous year
    value_change_percent = 100 * (value - lag(value)) / lag(value) # Percent change from previous year
  ) %>%
  ungroup()

# Calculate rank by year (higher value => higher rank)
dat <- dat %>%
  group_by(year) %>%
  mutate(rank = dense_rank(desc(value))) %>% # Rank countries by descending value
  ungroup()

# Calculate rank change (positive = moved up, negative = moved down)
dat <- dat %>%
  group_by(iso3c) %>%
  mutate(rank_change = rank - lag(rank)) %>% # Change in rank compared to previous year
  ungroup()

# Select and reorder final columns
final_data <- dat %>%
  select(
    country,
    iso2c,
    iso3c,
    year,
    value,
    value_change,
    value_change_percent,
    rank,
    rank_change
  )

# Add labels (variable descriptions)
attr(final_data$country, "label") <- "Country name"
attr(final_data$iso2c, "label") <- "ISO 2-letter country code"
attr(final_data$iso3c, "label") <- "ISO 3-letter country code"
attr(final_data$year, "label") <- "Year"
attr(final_data$value, "label") <- "GDP per capita (current US$)"
attr(final_data$value_change, "label") <- "Year-over-Year change in value"
attr(final_data$value_change_percent, "label") <- "Year-over-Year percent change in value"
attr(final_data$rank, "label") <- "Country rank by GDP per capita (higher = richer)"
attr(final_data$rank_change, "label") <- "Change in rank from previous year"

# Print the first few rows of the final dataset
print(head(final_data, 10))