CO2 & Greenhouse Gas Emissions Data Analysis

CO2 Emission Project

Image: CO2 & Greenhouse Gas Emissions Dashboard, created using Power BI

Technologies used: SQL Server (T-SQL), Excel, Power BI
Dashboard File: CO2_Emissions_Dashboard.pbix
Dataset: CO2-Emissions-DB.xlsx
T-SQL Queries: CO2_Emissions_Queries_1.sql
Github: co2-emission-T-SQL

Needless to say that climate change and global warming are major concerns for the world - ever more so today. CO2 and Greenhouse gas emissions - explained very briefly - trap the solar radiation bounced off the Earth's surface, causing the planet to get warmer.

In this project, I cleaned, analyzed and visualized a dataset (source: Our World In Data) about CO2 and Greenhouse Gas (GHG) emissions from every country from 1750 to 2020.

I utilized Microsoft Excel to clean and break down the data into 5 tables:

  • ContinentsCO2EmissionsPerYear
  • CountriesCO2EmissionsPerYear
  • CountriesEnergyConsumption
  • CountriesOtherEmissions
  • CountryCO2EmissionPerSourceType

I also added to the dataset the population size of each country from 1750 to 2020. The tables were loaded into SQL Server and analyzed using T-SQL queries. Finally, I created a dashboard (see above) in Microsoft Power BI to visualize essential parts of the data.


Some queries...

See the full list of queries here.

Finding the year with most CO2 emission for each emission source type.

Input:

WITH sum_src_emission AS (
SELECT year AS [Year],
	SUM(coal_co2) AS coal_co2,
	SUM(cement_co2) AS cement_co2,
	SUM(flaring_co2) AS flaring_co2,
	SUM(gas_co2) AS gas_co2,
	SUM(oil_co2) AS oil_co2,
	SUM(other_industry_co2) AS other_industry_co2
FROM CO2EmissionsDB..CountryCO2EmissionPerSourceType
GROUP BY [Year]
),
unpivoted_src_emission AS (
	SELECT *
	FROM (
			SELECT *
			FROM sum_src_emission
		) AS a
		UNPIVOT (
			SourceCO2Emission FOR Sources IN (
				coal_co2,
				cement_co2,
				flaring_co2,
				gas_co2,
				oil_co2,
				other_industry_co2
			)
		) AS p
),
emission_group_by_yr_source  AS (
	SELECT Sources,
		MAX(SourceCO2Emission) AS MaxSrcCO2Emission
	FROM unpivoted_src_emission
	GROUP BY Sources
)
SELECT unpivotedTable.[Year],
	unpivotedTable.SourceCO2Emission AS [Source CO2 Emission],
	SUBSTRING(REPLACE(unpivotedTable.Sources, '_', ' '), 1, LEN(unpivotedTable.Sources) - 4) AS [Source]
FROM emission_group_by_yr_source maxEmission
	INNER JOIN unpivoted_src_emission unpivotedTable
	ON maxEmission.Sources = unpivotedTable.Sources AND
	maxEmission.MaxSrcCO2Emission = unpivotedTable.SourceCO2Emission

Output:

Year Source CO2 Emission (in million tonnes) Source
2019 7562.807 gas
2019 11002.896 oil
2014 15064.781 coal
2014 304.664 other industry
2020 1626.533 cement
2020 436.052 flaring

• The most CO2 emission for each source type happened after 2010. 🤔
• Coal had the highest maximum CO2 emission (~15k million tonnes) out of all source types in the dataset.


Finding the top 10 countries with highest CO2 emission per capita in 2011.

Input:

SELECT TOP(10) country AS Country,
	   MAX([co2_per_capita]) AS [CO2 Per Capita]
FROM CO2EmissionsDB..CountriesCO2EmissionsPerYear
WHERE co2 IS NOT NULL AND
	  year = 2011 AND
	  gdp IS NOT NULL
GROUP BY country
ORDER BY [CO2 Per Capita] DESC
Output:

Country CO2 Per Capita
Qatar 39.122
Trinidad and Tobago 34.936
Kuwait 27.229
Bahrain 22.272
United Arab Emirates 21.571
Luxembourg 21.379
United States 17.781
Saudi Arabia 17.605
Canada 16.499
Oman 16.448

• Recall that Qatar was - and still is at the time of writing - the largest Liquefied Natural Gas (LNG) producer in 2011 and has a fairly small population compared to other countries.


For each country, find the major source of C02 emission in the year with their record-high C02 emission

Input:


WITH max_co2_per_country AS (
	SELECT country AS [Country],
			year AS [Year],
			co2 AS CO2,
			MAX(co2) OVER (PARTITION BY country) AS [Max CO2 Emission]
	FROM CO2EmissionsDB..CountriesCO2EmissionsPerYear
	WHERE co2 IS NOT NULL
),
max_co2_per_country2 AS (
	SELECT [Country], [Year], [Max CO2 Emission]
	FROM max_co2_per_country
	WHERE [MAX CO2 Emission] = co2
),
max_co2_shares AS (
	SELECT perCountry.[Country],
			perCountry.[Year],
			perCountry.[Max CO2 Emission],
			perSrc.coal_co2 / perCountry.[Max CO2 Emission] AS [Coal Share],
			perSrc.cement_co2 / perCountry.[Max CO2 Emission] AS [Cement Share],
			perSrc.flaring_co2 / perCountry.[Max CO2 Emission] AS [Flaring Share],
			perSrc.gas_co2 / perCountry.[Max CO2 Emission] AS [Gas Share],
			perSrc.oil_co2 / perCountry.[Max CO2 Emission] AS [Oil Share],
			perSrc.other_industry_co2 / perCountry.[Max CO2 Emission] AS [Other Industry Share]
	FROM max_co2_per_country2 perCountry
			INNER JOIN CO2EmissionsDB..CountryCO2EmissionPerSourceType perSrc
			ON perCountry.[Country] = perSrc.country AND 
			perCountry.[Year] = perSrc.year
),
cross_apply_src_shares AS (
	SELECT ms.[Country], ms.[Year], ms.[Max CO2 Emission],
			t.[Source Type], t.[CO2 Emission Share]
	FROM max_co2_shares ms
			CROSS APPLY (
			VALUES
				('coal', ms.[Coal Share]),
				('cement', ms.[Cement Share]),
				('flaring', ms.[Flaring Share]),
				('Gas', ms.[Gas Share]),
				('oil', ms.[Oil Share]),
				('Other Industry', ms.[Other Industry Share])
			) t ([Source Type], [CO2 Emission Share])
)
SELECT c1.[Country], c1.[Year], c1.[Source Type], 
	   ROUND(c1.[Max CO2 Emission], 3) AS [Max CO2 Emission],
	   ROUND(c1.[CO2 Emission Share], 3) AS [Source CO2 Emission Share]
FROM cross_apply_src_shares c1
WHERE c1.[CO2 Emission Share] = (
	SELECT MAX(c2.[CO2 Emission Share])
	FROM cross_apply_src_shares c2
	WHERE c1.[Country] = c2.[Country]
)


Output:

Country Year Source Type Max CO2 Emission Source CO2 Emission Share
Afghanistan 2020 coal 12.16 0.617
Albania 1989 oil 8.977 0.456
Algeria 2019 Gas 166.642 0.555
Andorra 2005 oil 0.575 1
Angola 2012 oil 33.801 0.511
Anguilla 2015 oil 0.154 1
Anguilla 2016 oil 0.154 1
Antigua and Barbuda 1969 oil 1.257 1
Argentina 2015 Gas 192.406 0.486
Armenia 1989 Gas 9.523 0.485
Aruba 2007 oil 2.821 1
Austria 2005 oil 79.068 0.498
Azerbaijan 1992 oil 56.174 0.556
Bahamas 1977 oil 9.709 0.996
Bahrain 2020 Gas 34.96 0.882
Bangladesh 2019 Gas 94.215 0.639
Barbados 2008 oil 1.612 0.889
Belarus 1986 oil 121.013 0.778
Belgium 1979 oil 139.787 0.485
Belize 2019 oil 0.658 0.986
Benin 2019 oil 7.315 0.966
Bermuda 1989 oil 0.78 1
Bhutan 2019 coal 1.927 0.502
Bolivia 2018 oil 23.856 0.54
Bonaire Sint Eustatius and Saba 1976 oil 0.939 1
Bosnia and Herzegovina 2019 coal 24.847 0.776
Botswana 2018 coal 7.561 0.612
Brazil 2014 oil 557.901 0.639
British Virgin Islands 2014 oil 0.213 1
British Virgin Islands 2015 oil 0.213 1
British Virgin Islands 2016 oil 0.213 1
Brunei 1949 oil 11.468 0.898
Bulgaria 1987 coal 91.273 0.458
Burkina Faso 2019 oil 4.336 0.972
Burundi 2019 oil 0.704 0.939
Cambodia 2019 oil 15.329 0.487
Cameroon 2018 oil 7.932 0.671
Canada 2007 oil 594.665 0.448
Cape Verde 2011 oil 0.616 1
Central African Republic 1987 oil 0.26 1
Chad 2011 oil 1.118 1
Chile 2019 oil 86.129 0.541
China 2020 coal 10667.887 0.696
Christmas Island 1975 oil 0.136 1
Colombia 2016 oil 93.242 0.488
Comoros 2019 oil 0.306 1
Congo 2016 oil 3.702 0.597
Cook Islands 2019 oil 0.079 1
Cook Islands 2020 oil 0.079 1
Costa Rica 2019 oil 8.818 0.916
Cote d'Ivoire 2017 oil 11.86 0.636
Croatia 2007 oil 24.866 0.543
Cuba 1989 oil 35.719 0.942
Curacao 1976 oil 17.589 1
Cyprus 2008 oil 8.714 0.884
Czechia 1978 coal 184.394 0.759
Democratic Republic of Congo 2014 oil 4.631 0.971
Denmark 1996 coal 74.852 0.469
Djibouti 2013 oil 0.557 0.894
Dominica 2007 oil 0.183 1
Dominican Republic 2020 oil 27.769 0.566
Ecuador 2014 oil 43.207 0.87
Egypt 2017 oil 250.605 0.475
El Salvador 2019 oil 6.853 0.943
Equatorial Guinea 2017 Gas 12.285 0.501
Eritrea 1996 oil 0.898 0.979
Estonia 1989 coal 38.869 0.675
Eswatini 2013 oil 1.4 0.517
Ethiopia 2019 oil 16.371 0.695
Faeroe Islands 2001 oil 0.762 1
Fiji 2020 oil 1.393 0.961
Finland 2003 coal 72.658 0.482
France 1973 oil 537.407 0.679
French Equatorial Africa 1958 oil 0.429 1
French Guiana 1993 oil 0.859 1
French Polynesia 2020 oil 0.828 1
French West Africa 1957 oil 1.403 0.943
Gabon 1978 oil 7.555 0.586
Gambia 2019 oil 0.547 0.993
Georgia 1988 Gas 16.315 0.502
Germany 1979 coal 1117.888 0.491
Ghana 2019 oil 16.918 0.699
Greece 2007 oil 114.592 0.472
Greenland 2011 oil 0.725 1
Grenada 2019 oil 0.332 1
Guadeloupe 2019 oil 2.562 0.817
Guadeloupe 2020 oil 2.562 0.817
Guatemala 2019 oil 21.934 0.618
Guinea 2019 oil 3.717 1
Guinea-Bissau 2019 oil 0.314 1
Guyana 2019 oil 2.487 0.935
Haiti 2018 oil 3.368 0.977
Honduras 2019 oil 10.789 0.929
Hong Kong 2014 coal 45.492 0.678
Hungary 1984 coal 90.561 0.407
Iceland 2008 oil 3.811 0.766
India 2019 coal 2625.968 0.639
Indonesia 2019 coal 660.594 0.477
Iran 2020 Gas 745.035 0.583
Iraq 2019 oil 222.991 0.657
Ireland 2005 oil 48.156 0.535
Israel 2012 oil 74.785 0.47
Italy 2005 oil 502.26 0.477
Jamaica 2006 oil 11.577 0.967
Japan 2013 oil 1315.343 0.412
Jordan 2014 oil 25.895 0.866
Kazakhstan 2018 coal 317.28 0.552
Kenya 2019 oil 18.347 0.796
Kiribati 2019 oil 0.068 1
Kiribati 2020 oil 0.068 1
Kuwait 2016 oil 100.859 0.551
Kyrgyzstan 1985 oil 22.564 0.43
Laos 2019 coal 33.932 0.862
Latvia 1985 oil 25.687 0.714
Lebanon 2017 oil 27.977 0.892
Leeward Islands 1955 oil 0.033 0.879
Leeward Islands 1956 oil 0.033 0.879
Lesotho 2012 coal 3.092 0.808
Liberia 1980 oil 2.038 0.976
Libya 2014 oil 71.39 0.579
Liechtenstein 2006 oil 0.231 0.684
Lithuania 1985 oil 40.311 0.686
Luxembourg 1974 coal 14.424 0.64
Macao 2015 oil 2.028 0.885
Madagascar 2018 oil 4.167 0.624
Malawi 2019 oil 1.588 0.819
Malaysia 2019 oil 278.659 0.313
Maldives 2020 oil 1.796 1
Mali 2019 oil 3.688 0.931
Malta 2003 oil 2.979 1
Marshall Islands 2019 oil 0.151 1
Marshall Islands 2020 oil 0.151 1
Martinique 2005 oil 2.441 1
Mauritania 2019 oil 3.698 1
Mauritius 2017 oil 4.536 0.607
Mayotte 2019 oil 0.306 1
Mayotte 2020 oil 0.306 1
Mexico 2012 oil 496.3 0.585
Micronesia (country) 2020 oil 0.148 1
Moldova 1985 oil 41.765 0.599
Mongolia 2019 coal 88.691 0.946
Montenegro 2019 coal 2.645 0.625
Montserrat 2010 oil 0.062 1
Morocco 2019 oil 68.217 0.534
Mozambique 2017 oil 8.323 0.712
Myanmar 2020 oil 36.326 0.545
Namibia 2017 oil 4.216 0.883
Nauru 1986 oil 0.161 1
Nepal 2019 oil 16.967 0.429
Netherlands 1979 oil 187.007 0.479
New Caledonia 2019 coal 8.706 0.665
New Zealand 2008 oil 37.713 0.5
Nicaragua 2019 oil 5.673 0.938
Niger 2014 oil 2.075 0.809
Nigeria 2019 oil 130.104 0.528
Niue 2014 oil 0.011 1
Niue 2018 oil 0.011 1
Niue 2019 oil 0.011 1
Niue 2020 oil 0.011 1
North Korea 1989 coal 213.072 0.902
North Macedonia 1988 coal 14.383 0.596
Norway 2007 oil 45.714 0.534
Oceania 2019 coal 471.189 0.373
Oman 2017 Gas 65.906 0.721
Pakistan 2018 oil 238.306 0.42
Palau 2007 oil 0.253 1
Palestine 2017 oil 3.268 1
Panama 2019 oil 12.294 0.794
Papua New Guinea 2020 oil 6.652 0.848
Paraguay 2019 oil 8.525 0.951
Peru 2010 oil 57.173 0.406
Philippines 2019 coal 146.615 0.473
Poland 1987 coal 463.733 0.851
Portugal 2002 oil 69.749 0.621
Puerto Rico 1920 oil 0.209 1
Qatar 2019 Gas 115.037 0.822
Reunion 2019 oil 4.588 0.541
Reunion 2020 oil 4.588 0.541
Romania 1989 coal 213.599 0.391
Russia 1990 oil 2525.518 0.352
Rwanda 2019 oil 1.187 0.837
Ryukyu Islands 1972 oil 9.005 0.986
Saint Helena 2016 oil 0.015 1
Saint Kitts and Nevis 2018 oil 0.245 1
Saint Lucia 2018 oil 0.509 1
Saint Pierre and Miquelon 1989 oil 0.103 1
Saint Pierre and Miquelon 1991 oil 0.103 1
Saint Vincent and the Grenadines 2009 oil 0.278 1
Samoa 2020 oil 0.246 1
Sao Tome and Principe 2018 oil 0.132 1
Saudi Arabia 2015 oil 674.878 0.615
Senegal 2018 oil 11.33 0.614
Serbia 2006 coal 60.838 0.659
Seychelles 2019 oil 0.581 1
Sierra Leone 2014 oil 1.11 1
Singapore 2009 oil 90.098 0.848
Sint Maarten (Dutch part) 1976 oil 2.098 1
Slovakia 1990 coal 61.475 0.547
Slovenia 2008 oil 18.25 0.481
Solomon Islands 2013 oil 0.374 1
Somalia 1988 oil 1.004 0.978
South Africa 2009 coal 502.259 0.822
South Korea 2018 coal 671.631 0.507
South Sudan 2015 oil 1.913 1
Spain 2005 oil 369.681 0.512
Sri Lanka 2017 oil 23.03 0.705
St. Kitts-Nevis-Anguilla 1980 oil 0.051 1
Sudan 2019 oil 22.031 0.929
Suriname 2014 oil 2.809 0.986
Sweden 1970 oil 92.287 0.902
Switzerland 1973 oil 46.203 0.904
Syria 2008 oil 66.877 0.791
Taiwan 2017 coal 284.812 0.577
Tajikistan 1985 oil 13.107 0.594
Tanzania 2019 oil 12.043 0.602
Thailand 2013 oil 287.598 0.417
Timor 2014 oil 0.608 0.844
Togo 2009 oil 2.741 0.801
Tonga 2017 oil 0.158 1
Trinidad and Tobago 2010 Gas 46.957 0.895
Tunisia 2019 oil 30.011 0.46
Turkey 2017 coal 425.329 0.371
Turkmenistan 2019 Gas 76.319 0.711
Turks and Caicos Islands 2018 oil 0.234 1
Tuvalu 1990 oil 0.011 1
Tuvalu 1995 oil 0.011 1
Tuvalu 1998 oil 0.011 1
Tuvalu 2001 oil 0.011 1
Tuvalu 2002 oil 0.011 1
Tuvalu 2003 oil 0.011 1
Tuvalu 2004 oil 0.011 1
Tuvalu 2006 oil 0.011 1
Tuvalu 2007 oil 0.011 1
Tuvalu 2008 oil 0.011 1
Tuvalu 2009 oil 0.011 1
Tuvalu 2010 oil 0.011 1
Tuvalu 2011 oil 0.011 1
Tuvalu 2012 oil 0.011 1
Tuvalu 2013 oil 0.011 1
Uganda 2019 oil 5.721 0.935
Ukraine 1985 coal 742.189 0.5
United Arab Emirates 2015 Gas 216.583 0.619
United Kingdom 1971 coal 660.388 0.517
United States 2005 oil 6134.521 0.425
Uruguay 2012 oil 8.592 0.947
Uzbekistan 2002 Gas 127.518 0.8
Vanuatu 2020 oil 0.182 1
Venezuela 2013 oil 207.425 0.618
Vietnam 2019 coal 260.312 0.476
Wallis and Futuna 2005 oil 0.029 1
Wallis and Futuna 2006 oil 0.029 1
Wallis and Futuna 2007 oil 0.029 1
Wallis and Futuna 2009 oil 0.029 1
Wallis and Futuna 2010 oil 0.029 1
Yemen 2013 oil 24.976 0.854
Zambia 2018 oil 7.313 0.479
Zimbabwe 1994 coal 17.394 0.779

• At a glance, it seems most countries' major source of CO2 emission is oil-related. 🤔


Citations

Hannah Ritchie, Max Roser and Pablo Rosado (2020) - "CO₂ and Greenhouse Gas Emissions". Published online at OurWorldInData.org. Retrieved from: 'https://ourworldindata.org/co2- and-other-greenhouse-gas-emissions' [Online Resource]