{ "cells": [ { "cell_type": "markdown", "id": "5b280157-80eb-498c-9b37-2d60257eb3f7", "metadata": {}, "source": [ "# Data exploration of the Climate TRACE dataset\n", "\n", "In this chapter, we look at the dataset and we answer a few questions:\n", "- which countries are the biggest emitters?\n", "- what sectors are the most responsible for emissions?\n", "\n", "In a second part, we compare two different views on emissions:\n", "\n", "- the _source_ view, which looks from a bottom up view at all the sources (factories, mines, farms, ...)\n", "- the _country_ view, which is a top down approach, and derives many values from aggregate economic activity, for example how many tons of coal were burned to produced annually. This is the official reporting method followed by countries to report their emissions to the United Nations as part of the Paris agreements.\n", "\n", "The data has already been prepared from the original Climate TRACE dataset. If you want to understand the preprocessing, read the chapter [Ingestion](./ingestion.ipynb).\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "098161b5-cbdc-4974-b579-3159cfb107d1", "metadata": {}, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2" ] }, { "cell_type": "code", "execution_count": 2, "id": "b9eff952-a85f-48aa-bfae-f767fb036e5e", "metadata": {}, "outputs": [], "source": [ "import logging\n", "logging.basicConfig(level=logging.INFO)" ] }, { "cell_type": "markdown", "id": "50e077ce-d044-4840-80a8-f38f232d39d8", "metadata": {}, "source": [ "We import all the libraries that we will use in this notebook:\n", "- the [Polars](https://pola.rs/) library, a very fast package with a clear interface.\n", "- the [Plotly Express](https://plotly.com/python/plotly-express/) visualization library\n", "- the `ctrace` package (included in this repository), that contains tools to read and understand the Climate TRACE data." ] }, { "cell_type": "code", "execution_count": 3, "id": "14b5ed9f-45f7-471f-b654-627501391f32", "metadata": {}, "outputs": [], "source": [ "import polars as pl\n", "import plotly.io\n", "plotly.io.templates.default = \"plotly_white\"\n", "import plotly.express as px\n", "\n", "from ctrace.constants import * # We import many useful constants\n", "import ctrace as ct" ] }, { "cell_type": "markdown", "id": "6a5363f2-ed1b-4c04-92c6-0b096520967a", "metadata": {}, "source": [ "# Country emissions\n", "\n", "The country emissions are available through the `read_country_emissions()` function. This function will download by default the latest set of reports (currently the V3, publised in November 2024). If the data has already been downloaded, it will use this copy.\n", "\n", "The format being returned is a Polars `DataFrame`. This format will be very familiar to people used to working with Pandas, Spark or R dataframes. The `GAS_LIST` indicates that we want to load all the gases available.\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "c9eea6a9-0f47-45bf-aa06-e156a03250fc", "metadata": {}, "outputs": [], "source": [ "cedf = ct.read_country_emissions(GAS_LIST)" ] }, { "cell_type": "code", "execution_count": 5, "id": "35f7d301-eb09-412d-94a7-696fbd5cb439", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "shape: (3, 11)
iso3_countrystart_timeend_timegassectorsubsectoremissions_quantityemissions_quantity_unitstemporal_granularitycreated_datemodified_date
enumdatetime[ms, UTC]datetime[ms, UTC]enumenumenumf64catenumdatetime[ms, UTC]datetime[ms, UTC]
"ABW"2015-01-01 00:00:00 UTC2015-12-31 00:00:00 UTC"co2""fossil-fuel-operations""other-fossil-fuel-operations"0.0null"annual"nullnull
"ABW"2015-01-01 00:00:00 UTC2015-12-31 00:00:00 UTC"co2""mineral-extraction""bauxite-mining"0.0null"annual"nullnull
"ABW"2015-01-01 00:00:00 UTC2015-12-31 00:00:00 UTC"co2""transportation""domestic-shipping"90613.375994null"annual"nullnull
" ], "text/plain": [ "shape: (3, 11)\n", "┌────────────┬────────────┬────────────┬──────┬───┬────────────┬───────────┬───────────┬───────────┐\n", "│ iso3_count ┆ start_time ┆ end_time ┆ gas ┆ … ┆ emissions_ ┆ temporal_ ┆ created_d ┆ modified_ │\n", "│ ry ┆ --- ┆ --- ┆ --- ┆ ┆ quantity_u ┆ granulari ┆ ate ┆ date │\n", "│ --- ┆ datetime[m ┆ datetime[m ┆ enum ┆ ┆ nits ┆ ty ┆ --- ┆ --- │\n", "│ enum ┆ s, UTC] ┆ s, UTC] ┆ ┆ ┆ --- ┆ --- ┆ datetime[ ┆ datetime[ │\n", "│ ┆ ┆ ┆ ┆ ┆ cat ┆ enum ┆ ms, UTC] ┆ ms, UTC] │\n", "╞════════════╪════════════╪════════════╪══════╪═══╪════════════╪═══════════╪═══════════╪═══════════╡\n", "│ ABW ┆ 2015-01-01 ┆ 2015-12-31 ┆ co2 ┆ … ┆ null ┆ annual ┆ null ┆ null │\n", "│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ ┆ ┆ │\n", "│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ ┆ │\n", "│ ABW ┆ 2015-01-01 ┆ 2015-12-31 ┆ co2 ┆ … ┆ null ┆ annual ┆ null ┆ null │\n", "│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ ┆ ┆ │\n", "│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ ┆ │\n", "│ ABW ┆ 2015-01-01 ┆ 2015-12-31 ┆ co2 ┆ … ┆ null ┆ annual ┆ null ┆ null │\n", "│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ ┆ ┆ │\n", "│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ ┆ ┆ │\n", "└────────────┴────────────┴────────────┴──────┴───┴────────────┴───────────┴───────────┴───────────┘" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cedf.head(3)" ] }, { "cell_type": "markdown", "id": "7a69c86f-3b4f-4439-bca3-366144ff4356", "metadata": {}, "source": [ "# Understanding the data format\n", "\n", "These rows are a mouthful to digest. Here is how the emissions data is structured.\n", "\n", "This data is highly structured, which is reflected in the schema itself. This schema has a lot of enumerations (`iso3_country`, `gas`, ...), where only a few values are expected. For example, all the country names are represented by their official [ISO 3166 3-letter country codes](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes). Internally, Polars can assign small integers to represent them all, which consumes less memory and speeds up manipulations. This has a further advantage: since we know the values to expect, we can give them names in the code such as `CH4`, `CO2`, .... We can use all the software tools to find and update references to various gas as we work with it. \n", "\n", "```{admonition} TODO\n", "move all this part in its own notebook, this is about technical details\n", "```\n" ] }, { "cell_type": "code", "execution_count": 6, "id": "37a1e1c6-a92c-4093-bc2e-2a70475adf0d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Schema([('iso3_country',\n", " Enum(categories=['ABW', 'AFG', 'AGO', 'AIA', 'ALA', 'ALB', 'AND', 'ARE', 'ARG', 'ARM', 'ASM', 'ATA', 'ATF', 'ATG', 'AUS', 'AUT', 'AZE', 'BDI', 'BEL', 'BEN', 'BES', 'BFA', 'BGD', 'BGR', 'BHR', 'BHS', 'BIH', 'BLM', 'BLR', 'BLZ', 'BMU', 'BOL', 'BRA', 'BRB', 'BRN', 'BTN', 'BVT', 'BWA', 'CAF', 'CAN', 'CCK', 'CHE', 'CHL', 'CHN', 'CIV', 'CMR', 'COD', 'COG', 'COK', 'COL', 'COM', 'CPV', 'CRI', 'CUB', 'CUW', 'CXR', 'CYM', 'CYP', 'CZE', 'DEU', 'DJI', 'DMA', 'DNK', 'DOM', 'DZA', 'ECU', 'EGY', 'ERI', 'ESH', 'ESP', 'EST', 'ETH', 'FIN', 'FJI', 'FLK', 'FRA', 'FRO', 'FSM', 'GAB', 'GBR', 'GEO', 'GGY', 'GHA', 'GIB', 'GIN', 'GLP', 'GMB', 'GNB', 'GNQ', 'GRC', 'GRD', 'GRL', 'GTM', 'GUF', 'GUM', 'GUY', 'HKG', 'HMD', 'HND', 'HRV', 'HTI', 'HUN', 'IDN', 'IMN', 'IND', 'IOT', 'IRL', 'IRN', 'IRQ', 'ISL', 'ISR', 'ITA', 'JAM', 'JEY', 'JOR', 'JPN', 'KAZ', 'KEN', 'KGZ', 'KHM', 'KIR', 'KNA', 'KOR', 'KWT', 'LAO', 'LBN', 'LBR', 'LBY', 'LCA', 'LIE', 'LKA', 'LSO', 'LTU', 'LUX', 'LVA', 'MAC', 'MAF', 'MAR', 'MCO', 'MDA', 'MDG', 'MDV', 'MEX', 'MHL', 'MKD', 'MLI', 'MLT', 'MMR', 'MNE', 'MNG', 'MNP', 'MOZ', 'MRT', 'MSR', 'MTQ', 'MUS', 'MWI', 'MYS', 'MYT', 'NAM', 'NCL', 'NER', 'NFK', 'NGA', 'NIC', 'NIU', 'NLD', 'NOR', 'NPL', 'NRU', 'NZL', 'OMN', 'PAK', 'PAN', 'PCN', 'PER', 'PHL', 'PLW', 'PNG', 'POL', 'PRI', 'PRK', 'PRT', 'PRY', 'PSE', 'PYF', 'QAT', 'REU', 'ROU', 'RUS', 'RWA', 'SAU', 'SDN', 'SEN', 'SGP', 'SGS', 'SHN', 'SJM', 'SLB', 'SLE', 'SLV', 'SMR', 'SOM', 'SPM', 'SRB', 'SSD', 'STP', 'SUR', 'SVK', 'SVN', 'SWE', 'SWZ', 'SXM', 'SYC', 'SYR', 'TCA', 'TCD', 'TGO', 'THA', 'TJK', 'TKL', 'TKM', 'TLS', 'TON', 'TTO', 'TUN', 'TUR', 'TUV', 'TWN', 'TZA', 'UGA', 'UKR', 'UMI', 'URY', 'USA', 'UZB', 'VAT', 'VCT', 'VEN', 'VGB', 'VIR', 'VNM', 'VUT', 'WLF', 'WSM', 'XKX', 'YEM', 'ZAF', 'ZMB', 'ZWE', 'ZNC', 'UNK', 'SCG', 'XAD'])),\n", " ('start_time', Datetime(time_unit='ms', time_zone='UTC')),\n", " ('end_time', Datetime(time_unit='ms', time_zone='UTC')),\n", " ('gas', Enum(categories=['co2', 'ch4', 'n2o', 'co2e_100yr'])),\n", " ('sector',\n", " Enum(categories=['agriculture', 'buildings', 'fluorinated-gases', 'forestry-and-land-use', 'fossil-fuel-operations', 'manufacturing', 'mineral-extraction', 'power', 'transportation', 'waste'])),\n", " ('subsector',\n", " Enum(categories=['aluminum', 'bauxite-mining', 'biological-treatment-of-solid-waste-and-biogenic', 'cement', 'chemicals', 'coal-mining', 'copper-mining', 'crop-residues', 'cropland-fires', 'domestic-aviation', 'domestic-shipping', 'domestic-shipping-ship', 'domestic-wastewater-treatment-and-discharge', 'electricity-generation', 'enteric-fermentation-cattle-operation', 'enteric-fermentation-cattle-pasture', 'enteric-fermentation-other', 'fluorinated-gases', 'food-beverage-tobacco', 'forest-land-clearing', 'forest-land-degradation', 'forest-land-fires', 'glass', 'heat-plants', 'incineration-and-open-burning-of-waste', 'industrial-wastewater-treatment-and-discharge', 'international-aviation', 'international-shipping', 'international-shipping-ship', 'iron-and-steel', 'iron-mining', 'lime', 'manure-applied-to-soils', 'manure-left-on-pasture-cattle', 'manure-management-cattle-operation', 'manure-management-other', 'net-forest-land', 'net-shrubgrass', 'net-wetland', 'non-residential-onsite-fuel-usage', 'oil-and-gas-production', 'oil-and-gas-refining', 'oil-and-gas-transport', 'other-agricultural-soil-emissions', 'other-chemicals', 'other-energy-use', 'other-fossil-fuel-operations', 'other-manufacturing', 'other-metals', 'other-mining-quarrying', 'other-onsite-fuel-usage', 'other-transport', 'petrochemical-steam-cracking', 'pulp-and-paper', 'railways', 'removals', 'residential-onsite-fuel-usage', 'rice-cultivation', 'road-transportation', 'road-transportation-road-segment', 'rock-quarrying', 'sand-quarrying', 'shrubgrass-fires', 'soil-organic-carbon', 'solid-fuel-transformation', 'solid-waste-disposal', 'synthetic-fertilizer-application', 'textiles-leather-apparel', 'water-reservoirs', 'wetland-fires', 'wood-and-wood-products'])),\n", " ('emissions_quantity', Float64),\n", " ('emissions_quantity_units', Categorical(ordering='physical')),\n", " ('temporal_granularity',\n", " Enum(categories=['annual', 'other', 'month', 'week', 'day', 'hour'])),\n", " ('created_date', Datetime(time_unit='ms', time_zone='UTC')),\n", " ('modified_date', Datetime(time_unit='ms', time_zone='UTC'))])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cedf.schema" ] }, { "cell_type": "markdown", "id": "4aef5438-e8b1-41d5-bfa0-62307d4f9403", "metadata": {}, "source": [ "Another trick is to define all the Dataframe _columns_ that we are going to manipulate.\n", "For example, there is a column called `gas` that refers to all the gas being tabulated.\n", "Coming from the Pandas world, it would be normal to refer to this column:\n", "\n", "```py\n", "cedf_pdf[cedf_pdf[\"gas\"]==\"ch4\"]\n", "```\n", "\n", "Polars offers a more succint syntax by considering an _abstract column_, for example for the gas:" ] }, { "cell_type": "code", "execution_count": 7, "id": "db31255d-3854-49b9-8490-2ea461423fef", "metadata": {}, "outputs": [ { "data": { "text/html": [ "col(\"gas\")" ], "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pl.col(\"gas\")" ] }, { "cell_type": "markdown", "id": "8d585d85-0c0b-45f1-b66e-6abc4a30be5d", "metadata": {}, "source": [ "That `col(\"gas\")` refers to any dataframe column called `gas`. The `select` method operates on a polars dataframe takes such columns as instructions to select specific columns." ] }, { "cell_type": "code", "execution_count": 8, "id": "6812f202-9759-42e2-b99a-9c7e43468ae6", "metadata": {}, "outputs": [], "source": [ "cedf.select(pl.col(\"gas\"));" ] }, { "cell_type": "markdown", "id": "30478d30-6104-48ec-a8fd-41318eb7a2bd", "metadata": {}, "source": [ "The `ctrace` library predefines all the columns defined in the Climate TRACE datasets, all prefixed by the `c_` prefix:" ] }, { "cell_type": "code", "execution_count": 9, "id": "78e09c07-6703-49d5-9dd2-d81e0662e6d4", "metadata": {}, "outputs": [ { "data": { "text/html": [ "col(\"gas\")" ], "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ct.constants.c_gas" ] }, { "cell_type": "markdown", "id": "86de4661-d05a-4a26-9eb8-d875498f45e4", "metadata": {}, "source": [ "This reduces the chance of making a typo, allows us to use the autocompletion features of editors, and it will catch any mistake before executing the code. Selecting all the data related to CO2 is simply:" ] }, { "cell_type": "code", "execution_count": 10, "id": "074dcb9e-af56-4afa-92f1-5c93b9c95c76", "metadata": {}, "outputs": [], "source": [ "# cedf.filter(c_gas == CO2);" ] }, { "cell_type": "markdown", "id": "bab455e0-32a9-4a22-ac4c-e0485cdc28d6", "metadata": {}, "source": [ "**Using a different data processing framework**\n", "\n", "This notebook is using Polars. Are you more familiar with other frameworks such as `pandas`, `PySpark`, `Modin`, `DuckDB`, R's dataframes? No problem. Polars can convert directly to most of these other representations. Here is an example for pandas below. You can also directly point to the underlying Parquet representation on the [HuggingFace Hub of the project](https://huggingface.co/datasets/tjhunter/climate-trace/tree/main)." ] }, { "cell_type": "code", "execution_count": 11, "id": "1eceedda-3818-43dd-82b9-d8bedfdddf47", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
iso3_countrystart_timeend_timegassectorsubsectoremissions_quantityemissions_quantity_unitstemporal_granularitycreated_datemodified_date
0ABW2015-01-01 00:00:00+00:002015-12-31 00:00:00+00:00co2fossil-fuel-operationsother-fossil-fuel-operations0.000000NaNannualNaTNaT
1ABW2015-01-01 00:00:00+00:002015-12-31 00:00:00+00:00co2mineral-extractionbauxite-mining0.000000NaNannualNaTNaT
2ABW2015-01-01 00:00:00+00:002015-12-31 00:00:00+00:00co2transportationdomestic-shipping90613.375994NaNannualNaTNaT
\n", "
" ], "text/plain": [ " iso3_country start_time end_time gas \\\n", "0 ABW 2015-01-01 00:00:00+00:00 2015-12-31 00:00:00+00:00 co2 \n", "1 ABW 2015-01-01 00:00:00+00:00 2015-12-31 00:00:00+00:00 co2 \n", "2 ABW 2015-01-01 00:00:00+00:00 2015-12-31 00:00:00+00:00 co2 \n", "\n", " sector subsector emissions_quantity \\\n", "0 fossil-fuel-operations other-fossil-fuel-operations 0.000000 \n", "1 mineral-extraction bauxite-mining 0.000000 \n", "2 transportation domestic-shipping 90613.375994 \n", "\n", " emissions_quantity_units temporal_granularity created_date modified_date \n", "0 NaN annual NaT NaT \n", "1 NaN annual NaT NaT \n", "2 NaN annual NaT NaT " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Use pandas instead:\n", "cedf_pandas = ct.read_country_emissions(GAS_LIST).to_pandas()\n", "cedf_pandas.head(3)" ] }, { "cell_type": "markdown", "id": "4e061de9-2bea-4d69-9c49-3cf55f0997fd", "metadata": {}, "source": [ "# Country checks\n", "\n", "In this section, we identify the biggest emitters and sort out a few unexpected insights.\n", "\n", "We focus this analysis on the year *2023* and on the aggregated emissions for carbon dioxyde (CO2). You can look at how the results change when you focus on another specific gas (`co2`, `nh4`, ...) or the global warming potentials (`co2e_100yr`)" ] }, { "cell_type": "code", "execution_count": 12, "id": "b4d4b73d-59cb-43f4-ad37-f68c8746be4b", "metadata": {}, "outputs": [], "source": [ "gas = CO2 #gas = CO2E_100YR\n", "year = 2023\n", "\n", "cedf_gy = cedf.filter(c_gas == gas).filter(c_start_time.dt.year()==year)" ] }, { "cell_type": "markdown", "id": "abca0337-d101-4f4e-bea0-e1b8d316411c", "metadata": {}, "source": [ "First question: how much do we emit? About 50GT of CO2 (gigatonnes of CO2). Note the first wrinkle already: this takes into account the absorption by the vegetation. If we did not take into action the beneficial actions of our friends the trees, our emissions would be already higher. Trees will come back as a complicated topic.\n", "\n", "Here are the net emissions, taking into account all the contribution of the forestry and land use sector: 55GT of CO2 equivalent" ] }, { "cell_type": "code", "execution_count": 13, "id": "fd631d03-f831-4e3e-96b9-9f46104d09e0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "shape: (1, 1)
emissions_quantity
f64
5.0609e10
" ], "text/plain": [ "shape: (1, 1)\n", "┌────────────────────┐\n", "│ emissions_quantity │\n", "│ --- │\n", "│ f64 │\n", "╞════════════════════╡\n", "│ 5.0609e10 │\n", "└────────────────────┘" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cedf_gy.select(c_emissions_quantity.sum())" ] }, { "cell_type": "markdown", "id": "4d54729d-db9a-429e-94d5-eef8bff2753e", "metadata": {}, "source": [ "Looking at the increase by year, we see that the emissions of CO2 are still increasing." ] }, { "cell_type": "code", "execution_count": 14, "id": "27331014-2f44-4e11-a77a-48dbe7c3f488", "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "gas=co2e_100yr
start_time=%{x}
emissions_quantity=%{y}", "legendgroup": "co2e_100yr", "line": { "color": "#636efa", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "co2e_100yr", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 ], "xaxis": "x", "y": [ 76909676741.27464, 77324685168.91852, 78919080767.23872, 78349352454.73698, 78419788021.7663, 79986816819.51863, 80591045843.217, 77532094808.15987, 81589947620.20726, 81869185652.92677 ], "yaxis": "y" }, { "hovertemplate": "gas=ch4
start_time=%{x}
emissions_quantity=%{y}", "legendgroup": "ch4", "line": { "color": "#EF553B", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "ch4", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 ], "xaxis": "x", "y": [ 361929149.96128917, 366406643.55802816, 373677640.92013764, 374516361.4841081, 378901906.33765, 376181548.14689404, 387958866.3325299, 392730729.0765844, 394972253.6723687, 395612125.3896557 ], "yaxis": "y" }, { "hovertemplate": "gas=n2o
start_time=%{x}
emissions_quantity=%{y}", "legendgroup": "n2o", "line": { "color": "#00cc96", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "n2o", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 ], "xaxis": "x", "y": [ 8779050.899786064, 8871984.81142264, 9022645.633068712, 9012557.647310508, 9077712.656795321, 9252391.866696099, 9462030.000830622, 9348923.252506254, 9394896.090902096, 9378365.062176198 ], "yaxis": "y" }, { "hovertemplate": "gas=co2
start_time=%{x}
emissions_quantity=%{y}", "legendgroup": "co2", "line": { "color": "#ab63fa", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "co2", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 ], "xaxis": "x", "y": [ 63226096091.19733, 63443855976.00208, 64725773804.456566, 64067586954.64454, 63943771297.89296, 65479318052.18504, 65656785701.46795, 62499744882.61765, 66481024334.72974, 66748381581.61062 ], "yaxis": "y" } ], "layout": { "legend": { "title": { "text": "gas" }, "tracegroupgap": 0 }, "margin": { "t": 60 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "white", "showlakes": true, "showland": true, "subunitcolor": "#C8D4E3" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "white", "polar": { "angularaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" }, "bgcolor": "white", "radialaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "yaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "zaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "baxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "bgcolor": "white", "caxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 } } }, "xaxis": { "anchor": "y", "domain": [ 0, 1 ], "title": { "text": "start_time" } }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ], "title": { "text": "emissions_quantity" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "px.line(\n", " cedf\n", " .filter(c_emissions_quantity > 0)\n", " .group_by(c_start_time.dt.year(), c_gas)\n", " .agg(c_emissions_quantity.sum())\n", " .sort(by=c_start_time),\n", " x=\"start_time\", y=\"emissions_quantity\",\n", " color=\"gas\")" ] }, { "cell_type": "markdown", "id": "adf9643d-7b75-4085-b102-04a82111bcfe", "metadata": {}, "source": [ "Most reports do not account for the forestry and land use, because it is very hard to measure and because there are still some debates on what exactly to report in that category. Excluding this category, we get to a amount of 46GT CO2 equivalent, which is what Climate TRACE reports on its website:" ] }, { "cell_type": "code", "execution_count": 15, "id": "16d7a6ea-0861-49fb-901b-5710c220600d", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "shape: (1, 1)
emissions_quantity
f64
4.6174e10
" ], "text/plain": [ "shape: (1, 1)\n", "┌────────────────────┐\n", "│ emissions_quantity │\n", "│ --- │\n", "│ f64 │\n", "╞════════════════════╡\n", "│ 4.6174e10 │\n", "└────────────────────┘" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(cedf_gy\n", " .filter(c_sector != FORESTRY_AND_LAND_USE)\n", " .select(c_emissions_quantity.sum()))" ] }, { "cell_type": "markdown", "id": "2360534c-4c18-4c78-bbb3-8fcacdae24dc", "metadata": {}, "source": [ "For now, we will still include forestry and land use. You will see how much this can skew the figures and why it is at the center of many discussions.\n", "\n", "And when splitting between sinks and sources" ] }, { "cell_type": "code", "execution_count": 16, "id": "a95128c4-9d9d-4fc1-ba03-c6aa8c2b5e45", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "shape: (2, 2)
is_sourceemissions_quantity
boolf64
true6.6481e10
false-1.5872e10
" ], "text/plain": [ "shape: (2, 2)\n", "┌───────────┬────────────────────┐\n", "│ is_source ┆ emissions_quantity │\n", "│ --- ┆ --- │\n", "│ bool ┆ f64 │\n", "╞═══════════╪════════════════════╡\n", "│ true ┆ 6.6481e10 │\n", "│ false ┆ -1.5872e10 │\n", "└───────────┴────────────────────┘" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(\n", " cedf_gy\n", " .select([c_emissions_quantity])\n", " .with_columns((c_emissions_quantity > 0).alias(\"is_source\"))\n", " .group_by(\"is_source\")\n", " .agg(c_emissions_quantity.sum())\n", " .drop_nulls()\n", ")\n" ] }, { "cell_type": "markdown", "id": "147a09d5-eba9-4dfd-a848-a3ad5f938ce2", "metadata": {}, "source": [ "Look at the top emitters for all the emissions sources. The usual suspects\n", "come at the top (China, USA, Russia). However, it is very important to\n", "keep the orders of magnitude in mind: China has more emissions than the next 3 countries (USA, Russia, India) _combined_." ] }, { "cell_type": "code", "execution_count": 17, "id": "36f1d59a-807c-4758-be98-9de812cfa2df", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "alignmentgroup": "True", "hovertemplate": "iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "", "offsetgroup": "", "orientation": "v", "showlegend": false, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "RUS", "IND", "BRA", "AUS", "CAN", "COD", "IDN", "AGO", "JPN", "IRN", "MEX", "SAU", "DEU", "KOR", "ZAF", "MOZ", "ZMB", "BOL" ], "xaxis": "x", "y": [ 14562136352.971132, 6292588801.389693, 3651821585.216888, 3024480584.201423, 2907731776.957946, 2581928240.6659784, 2253630394.5634236, 1660746253.6942596, 1494261450.694028, 1318713861.570348, 1277855724.7064266, 1043400905.8056568, 945369962.0492785, 804346734.3215549, 747184958.8196052, 742446019.9561703, 669661943.1591144, 665952179.4704338, 631087350.8785418, 581189307.4113564 ], "yaxis": "y" } ], "layout": { "barmode": "relative", "legend": { "tracegroupgap": 0 }, "margin": { "t": 60 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "white", "showlakes": true, "showland": true, "subunitcolor": "#C8D4E3" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "white", "polar": { "angularaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" }, "bgcolor": "white", "radialaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "yaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "zaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "baxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "bgcolor": "white", "caxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 } } }, "xaxis": { "anchor": "y", "domain": [ 0, 1 ], "title": { "text": "iso3_country" } }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ], "title": { "text": "emissions_quantity" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "px.bar(cedf_gy\n", " .filter(c_emissions_quantity > 0)\n", " .group_by(c_iso3_country)\n", " .agg(c_emissions_quantity.sum())\n", " .sort([c_emissions_quantity], descending=True)\n", " .head(20)\n", ",x=ISO3_COUNTRY, y=EMISSIONS_QUANTITY,log_y=False)\n" ] }, { "cell_type": "markdown", "id": "d7b1770b-047a-42de-9047-920d0234af40", "metadata": {}, "source": [ "Looking at each sector gives quickly a nuanced sector and shows the difference\n", "between the various countries.\n", "\n", "- the Chinese electricity sector emits more than Western Europe combined. This is not to say that Europeans should not make efforts - they should!. But these efforts can come from many ways, such as incentivizing China to reduce the role of coal in its domestic supply of electricity.\n", "\n", "- the emissions from the oil and gas sector in Russia is bigger than all the emissions of Germany. These emissions are typically quick wins (fixing leaks on old pipes).\n", "\n", "- Zimbabwe and Mozambique have as much gross emissions together as Japan! Clearing forested areas are very bad for the climate and have only short-term economic benefits. Finding fairer ways to preserve natural resources would also go a long way towards helping developing countries achieve their goals.\n", "\n", "- France is about twice as big as Russia looking at the economy (GDP), yet it contributes much less. This view emphasizes _direct_ emissions (where gases are emitted), not the _indirect_ emissions from consumption.\n", "\n", "```{admonition} CTODO\n", ":name: sec-emissions2\n", "Check these conclusions with experts\n", "```\n" ] }, { "cell_type": "code", "execution_count": 18, "id": "5bb687c7-a8d0-400f-8c26-527c0208548c", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "alignmentgroup": "True", "hovertemplate": "subsector=electricity-generation
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "electricity-generation", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "electricity-generation", "offsetgroup": "electricity-generation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "IND", "RUS", "FRA", "NLD", "MOZ" ], "xaxis": "x", "y": [ 5130179100, 1472846213.43, 1316867980, 615171560, 27669264, 26620963, 1477939 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=iron-and-steel
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "iron-and-steel", "marker": { "color": "#EF553B", "pattern": { "shape": "" } }, "name": "iron-and-steel", "offsetgroup": "iron-and-steel", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "IND", "RUS", "USA", "FRA", "NLD", "MOZ" ], "xaxis": "x", "y": [ 2241391578, 162245000.1, 124741553.1, 78458926.40724811, 23448385.988658093, 13301230.660038255, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=road-transportation
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "road-transportation", "marker": { "color": "#00cc96", "pattern": { "shape": "" } }, "name": "road-transportation", "offsetgroup": "road-transportation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "CHN", "RUS", "IND", "FRA", "NLD", "MOZ" ], "xaxis": "x", "y": [ 1450411029.6736217, 639698603.924263, 257897067.585432, 173921958.84801623, 140846482.199116, 18761972.87493591, 16485870.419035198 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=cement
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "cement", "marker": { "color": "#ab63fa", "pattern": { "shape": "" } }, "name": "cement", "offsetgroup": "cement", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "IND", "USA", "RUS", "FRA", "MOZ", "NLD" ], "xaxis": "x", "y": [ 1150200000, 205200000, 49464000, 33876316.005642265, 11663067.550853726, 1511999.9999855957, 1349999.9939565274 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=other-energy-use
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "other-energy-use", "marker": { "color": "#FFA15A", "pattern": { "shape": "" } }, "name": "other-energy-use", "offsetgroup": "other-energy-use", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "RUS", "USA", "FRA", "NLD", "MOZ", "IND" ], "xaxis": "x", "y": [ 1047371989.0550324, 244420866.5954353, 35551938.52300537, 20425444.88054814, 9450207.568846872, 341750.66225524055, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=residential-onsite-fuel-usage
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "residential-onsite-fuel-usage", "marker": { "color": "#19d3f3", "pattern": { "shape": "" } }, "name": "residential-onsite-fuel-usage", "offsetgroup": "residential-onsite-fuel-usage", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "IND", "RUS", "FRA", "NLD", "MOZ" ], "xaxis": "x", "y": [ 598041254.4188098, 467914281.8489097, 206730918.31265983, 182980060.42197004, 58699723.89, 17179384.661999997, 154060.31160000002 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=forest-land-clearing
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "forest-land-clearing", "marker": { "color": "#FF6692", "pattern": { "shape": "" } }, "name": "forest-land-clearing", "offsetgroup": "forest-land-clearing", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "RUS", "USA", "CHN", "IND", "MOZ", "FRA", "NLD" ], "xaxis": "x", "y": [ 564644278.9373727, 465927121.56109744, 243055421.19341505, 52793647.8468039, 47406322.42346986, 27630698.390768114, 469369.1881638029 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=other-manufacturing
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "other-manufacturing", "marker": { "color": "#B6E880", "pattern": { "shape": "" } }, "name": "other-manufacturing", "offsetgroup": "other-manufacturing", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "IND", "USA", "RUS", "FRA", "NLD", "MOZ" ], "xaxis": "x", "y": [ 552236798.9318964, 152258544.61443907, 116006826.863333, 40690301.80256175, 9179833.151450835, 2910099.890914369, 84243.82331209721 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=oil-and-gas-transport
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "oil-and-gas-transport", "marker": { "color": "#FF97FF", "pattern": { "shape": "" } }, "name": "oil-and-gas-transport", "offsetgroup": "oil-and-gas-transport", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "RUS", "USA", "CHN", "IND", "NLD", "MOZ", "FRA" ], "xaxis": "x", "y": [ 457050236.93810594, 256751054.7619469, 42550435.83861954, 13079242.96035158, 1760603.9528557225, 1701185.2427280454, 125725.09714003836 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=forest-land-fires
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "forest-land-fires", "marker": { "color": "#FECB52", "pattern": { "shape": "" } }, "name": "forest-land-fires", "offsetgroup": "forest-land-fires", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "MOZ", "RUS", "USA", "IND", "CHN", "FRA", "NLD" ], "xaxis": "x", "y": [ 418347288.6637572, 203896705.0791128, 70220608.1644276, 44897165.91498696, 11020036.061934132, 635971.4421929999, 131.43946 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=oil-and-gas-production
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "oil-and-gas-production", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "oil-and-gas-production", "offsetgroup": "oil-and-gas-production", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "RUS", "CHN", "IND", "NLD", "MOZ", "FRA" ], "xaxis": "x", "y": [ 373095048.8292682, 203388363.82717103, 115452130.5002792, 10761171.34683312, 3782668.13009727, 508785.0753883584, 138780.2441705971 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=lime
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "lime", "marker": { "color": "#EF553B", "pattern": { "shape": "" } }, "name": "lime", "offsetgroup": "lime", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "IND", "RUS", "FRA", "MOZ", "NLD" ], "xaxis": "x", "y": [ 365302850.5011087, 31108794.001598097, 18189298.70885492, 9078736.614852596, 5103399.982146878, 7948.310867236949, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=solid-fuel-transformation
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "solid-fuel-transformation", "marker": { "color": "#00cc96", "pattern": { "shape": "" } }, "name": "solid-fuel-transformation", "offsetgroup": "solid-fuel-transformation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "RUS", "USA", "FRA", "NLD", "MOZ", "IND" ], "xaxis": "x", "y": [ 328467505.61718154, 40155052.80727279, 5447069.246841477, 1353156.9566977553, 326026.68750905344, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=other-chemicals
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "other-chemicals", "marker": { "color": "#ab63fa", "pattern": { "shape": "" } }, "name": "other-chemicals", "offsetgroup": "other-chemicals", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "IND", "RUS", "NLD", "FRA", "MOZ" ], "xaxis": "x", "y": [ 289984911.8624015, 171892061.09609398, 26186430.446491785, 15005301.335736131, 10818662.511702225, 8420636.81534227, 315.8842042356619 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=chemicals
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "chemicals", "marker": { "color": "#FFA15A", "pattern": { "shape": "" } }, "name": "chemicals", "offsetgroup": "chemicals", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "RUS", "USA", "IND", "NLD", "FRA", "MOZ" ], "xaxis": "x", "y": [ 288283025.0264882, 53254045.166, 39375317.52, 35963696.531, 6931724.142000001, 5437766.322000001, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=aluminum
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "aluminum", "marker": { "color": "#19d3f3", "pattern": { "shape": "" } }, "name": "aluminum", "offsetgroup": "aluminum", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "IND", "RUS", "USA", "MOZ", "FRA", "NLD" ], "xaxis": "x", "y": [ 241111583.59182125, 18039567.94191592, 12560164.562790353, 3517039.76037724, 2041320.195449316, 1510528.4806916155, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=cropland-fires
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "cropland-fires", "marker": { "color": "#FF6692", "pattern": { "shape": "" } }, "name": "cropland-fires", "offsetgroup": "cropland-fires", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "IND", "CHN", "RUS", "USA", "MOZ", "FRA", "NLD" ], "xaxis": "x", "y": [ 218862170.016, 218796009.531, 27131027.955876183, 5326873.241000001, 1810414.6799319456, 434517.3720851696, 378.5174696718835 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=oil-and-gas-refining
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "oil-and-gas-refining", "marker": { "color": "#B6E880", "pattern": { "shape": "" } }, "name": "oil-and-gas-refining", "offsetgroup": "oil-and-gas-refining", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "CHN", "IND", "RUS", "NLD", "FRA", "MOZ" ], "xaxis": "x", "y": [ 186289729.3941164, 180659311.941057, 69784342.6329834, 64022891.83643082, 15194208.37312268, 11627392.964323305, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=net-forest-land
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "net-forest-land", "marker": { "color": "#FF97FF", "pattern": { "shape": "" } }, "name": "net-forest-land", "offsetgroup": "net-forest-land", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "RUS", "USA", "IND", "CHN", "MOZ", "NLD", "FRA" ], "xaxis": "x", "y": [ 157020884.13821676, 117684436.41615193, 97574705.08611505, 77834610.07558033, 74427942.80399993, -2138033.4621750014, -22643458.92000001 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=net-shrubgrass
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "net-shrubgrass", "marker": { "color": "#FECB52", "pattern": { "shape": "" } }, "name": "net-shrubgrass", "offsetgroup": "net-shrubgrass", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "RUS", "IND", "NLD", "MOZ", "FRA" ], "xaxis": "x", "y": [ 141926636.93460009, 138075975.95694998, 59618012.39106039, -544581.9912700005, -1052343.8772099991, -3692790.998000007, -21878487.9511 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=domestic-aviation
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "domestic-aviation", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "domestic-aviation", "offsetgroup": "domestic-aviation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "CHN", "IND", "RUS", "FRA", "MOZ", "NLD" ], "xaxis": "x", "y": [ 123972219.1839114, 87672207.02527396, 12235301.748651557, 9524917.785966236, 1635860.3399332685, 88035.08992988378, 698.707656074748 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=non-residential-onsite-fuel-usage
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "non-residential-onsite-fuel-usage", "marker": { "color": "#EF553B", "pattern": { "shape": "" } }, "name": "non-residential-onsite-fuel-usage", "offsetgroup": "non-residential-onsite-fuel-usage", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "CHN", "RUS", "FRA", "IND", "NLD", "MOZ" ], "xaxis": "x", "y": [ 119267250.262, 51428539.53903, 40366603.794, 12688825.02, 9247055.22316, 5313460.944, 1929.70767 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=shrubgrass-fires
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "shrubgrass-fires", "marker": { "color": "#00cc96", "pattern": { "shape": "" } }, "name": "shrubgrass-fires", "offsetgroup": "shrubgrass-fires", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "MOZ", "RUS", "USA", "CHN", "IND", "FRA", "NLD" ], "xaxis": "x", "y": [ 92469501.36193582, 29828836.7633069, 9273490.522821696, 3438342.5499059176, 3421280.688642701, 82023.77403457194, 131.93791999999996 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=domestic-shipping
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "domestic-shipping", "marker": { "color": "#ab63fa", "pattern": { "shape": "" } }, "name": "domestic-shipping", "offsetgroup": "domestic-shipping", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "RUS", "NLD", "FRA", "IND", "MOZ" ], "xaxis": "x", "y": [ 81553551.21528219, 32868599.453703005, 8791445.046162901, 7781131.9693314, 6334512.108903301, 6021659.801324401, 411090.8342074 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=international-aviation
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "international-aviation", "marker": { "color": "#FFA15A", "pattern": { "shape": "" } }, "name": "international-aviation", "offsetgroup": "international-aviation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "CHN", "FRA", "IND", "NLD", "RUS", "MOZ" ], "xaxis": "x", "y": [ 72459845.85572633, 21033793.357543588, 17054714.722831514, 11521673.997214504, 9892755.66248231, 4597109.323549403, 127302.55337711728 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=petrochemical-steam-cracking
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "petrochemical-steam-cracking", "marker": { "color": "#19d3f3", "pattern": { "shape": "" } }, "name": "petrochemical-steam-cracking", "offsetgroup": "petrochemical-steam-cracking", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "IND", "RUS", "NLD", "FRA", "MOZ" ], "xaxis": "x", "y": [ 69604508.55999999, 46142379.25369998, 8759724.072, 4728405.263359999, 4661032.177, 3076699.3221999984, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=other-onsite-fuel-usage
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "other-onsite-fuel-usage", "marker": { "color": "#FF6692", "pattern": { "shape": "" } }, "name": "other-onsite-fuel-usage", "offsetgroup": "other-onsite-fuel-usage", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "IND", "RUS", "USA", "FRA", "NLD", "MOZ" ], "xaxis": "x", "y": [ 63661942.01366195, 38446653.196893305, 5819140.705180859, 1551041.957653126, 1546676.4055466766, 205039.33549496063, 41585.528703657874 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=other-agricultural-soil-emissions
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "other-agricultural-soil-emissions", "marker": { "color": "#B6E880", "pattern": { "shape": "" } }, "name": "other-agricultural-soil-emissions", "offsetgroup": "other-agricultural-soil-emissions", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "RUS", "USA", "IND", "CHN", "FRA", "NLD", "MOZ" ], "xaxis": "x", "y": [ 59731046.9563975, 57222780.94594196, 37537055.60977952, 17599373.663152408, 7854296.240512339, 54125.89274032853, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=other-transport
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "other-transport", "marker": { "color": "#FF97FF", "pattern": { "shape": "" } }, "name": "other-transport", "offsetgroup": "other-transport", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "RUS", "USA", "CHN", "IND", "MOZ", "FRA", "NLD" ], "xaxis": "x", "y": [ 58885297.42414546, 58864696.140686005, 6607542.407321996, 978748.323562402, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=coal-mining
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "coal-mining", "marker": { "color": "#FECB52", "pattern": { "shape": "" } }, "name": "coal-mining", "offsetgroup": "coal-mining", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "IND", "USA", "RUS", "MOZ", "NLD", "FRA" ], "xaxis": "x", "y": [ 57492634.78782895, 17597293.101243928, 9268681.255, 8504305.703469232, 244641.2500000001, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=food-beverage-tobacco
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "food-beverage-tobacco", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "food-beverage-tobacco", "offsetgroup": "food-beverage-tobacco", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "CHN", "FRA", "RUS", "NLD", "IND", "MOZ" ], "xaxis": "x", "y": [ 57121965.83076, 48158026.13735726, 11147926.818110945, 5310925.223198713, 3120608.927553093, 24349.565230425196, 15583.620742292596 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=international-shipping
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "international-shipping", "marker": { "color": "#EF553B", "pattern": { "shape": "" } }, "name": "international-shipping", "offsetgroup": "international-shipping", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "IND", "NLD", "RUS", "FRA", "MOZ" ], "xaxis": "x", "y": [ 56971920.58697249, 37718651.33765083, 13068400.931197306, 10293617.6794051, 7318094.390161801, 6876359.386209402, 1310130.3745678 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=railways
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "railways", "marker": { "color": "#00cc96", "pattern": { "shape": "" } }, "name": "railways", "offsetgroup": "railways", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "RUS", "CHN", "IND", "FRA", "NLD", "MOZ" ], "xaxis": "x", "y": [ 36189222.3916378, 12751297.273673149, 8003928.051150542, 4347844.294000002, 329224.6252296653, 64114.91581421662, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=iron-mining
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "iron-mining", "marker": { "color": "#ab63fa", "pattern": { "shape": "" } }, "name": "iron-mining", "offsetgroup": "iron-mining", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "IND", "CHN", "RUS", "USA", "FRA", "NLD", "MOZ" ], "xaxis": "x", "y": [ 28783804, 12008510, 8701373.687706254, 2658966.0002456624, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=pulp-and-paper
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "pulp-and-paper", "marker": { "color": "#FFA15A", "pattern": { "shape": "" } }, "name": "pulp-and-paper", "offsetgroup": "pulp-and-paper", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "CHN", "RUS", "IND", "FRA", "MOZ", "NLD" ], "xaxis": "x", "y": [ 27051940.999999985, 12503236.780999985, 5094980.148999998, 1805050.7999999984, 904616.9999999998, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=net-wetland
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "net-wetland", "marker": { "color": "#19d3f3", "pattern": { "shape": "" } }, "name": "net-wetland", "offsetgroup": "net-wetland", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "CHN", "MOZ", "NLD", "FRA", "IND", "RUS" ], "xaxis": "x", "y": [ 20827919.75668764, 1415282.8786999967, 223220.30154999893, -61254.484622900105, -290832.40656759846, -1821400.5192870009, -57951649.93718669 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=textiles-leather-apparel
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "textiles-leather-apparel", "marker": { "color": "#FF6692", "pattern": { "shape": "" } }, "name": "textiles-leather-apparel", "offsetgroup": "textiles-leather-apparel", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "IND", "USA", "FRA", "RUS", "NLD", "MOZ" ], "xaxis": "x", "y": [ 20186214.5047087, 2205381.08582053, 1749208.7464979703, 259036.233594066, 212125.58116095976, 98517.71573206953, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=other-metals
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "other-metals", "marker": { "color": "#B6E880", "pattern": { "shape": "" } }, "name": "other-metals", "offsetgroup": "other-metals", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "FRA", "NLD", "MOZ", "CHN", "IND", "RUS" ], "xaxis": "x", "y": [ 20041427.99587647, 5010999.992384252, 114999.9998252223, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=other-mining-quarrying
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "other-mining-quarrying", "marker": { "color": "#FF97FF", "pattern": { "shape": "" } }, "name": "other-mining-quarrying", "offsetgroup": "other-mining-quarrying", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "FRA", "MOZ", "RUS", "NLD", "IND" ], "xaxis": "x", "y": [ 11256842.340938048, 3742796.820048403, 615126.2200789264, 565409.552233178, 287112.41270130203, 3129.4361362425934, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=copper-mining
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "copper-mining", "marker": { "color": "#FECB52", "pattern": { "shape": "" } }, "name": "copper-mining", "offsetgroup": "copper-mining", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "RUS", "IND", "FRA", "NLD", "MOZ" ], "xaxis": "x", "y": [ 9999490, 4474437.544003356, 1912912.0081854768, 16704, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=glass
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "glass", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "glass", "offsetgroup": "glass", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "FRA", "RUS", "CHN", "NLD", "IND", "MOZ" ], "xaxis": "x", "y": [ 9213645.99985768, 5658390.802734126, 3198589.441442125, 2091083.4383450816, 748759.5265805518, 109568.59331457216, 1902.033699754566 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=heat-plants
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "heat-plants", "marker": { "color": "#EF553B", "pattern": { "shape": "" } }, "name": "heat-plants", "offsetgroup": "heat-plants", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "NLD", "FRA", "USA", "MOZ", "RUS", "IND" ], "xaxis": "x", "y": [ 9191039, 848086.9999999997, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=wetland-fires
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "wetland-fires", "marker": { "color": "#00cc96", "pattern": { "shape": "" } }, "name": "wetland-fires", "offsetgroup": "wetland-fires", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "RUS", "MOZ", "USA", "CHN", "IND", "FRA", "NLD" ], "xaxis": "x", "y": [ 7852899.032129999, 4132136.203642339, 1054654.22401484, 236968.86173716557, 21443.673183358336, 36.35887999999999, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=wood-and-wood-products
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "wood-and-wood-products", "marker": { "color": "#ab63fa", "pattern": { "shape": "" } }, "name": "wood-and-wood-products", "offsetgroup": "wood-and-wood-products", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "CHN", "RUS", "FRA", "NLD", "IND", "MOZ" ], "xaxis": "x", "y": [ 4472349.29619552, 1930416.04652626, 1285528.5905620602, 207346.52548620096, 24227.55013923849, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=other-fossil-fuel-operations
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "other-fossil-fuel-operations", "marker": { "color": "#FFA15A", "pattern": { "shape": "" } }, "name": "other-fossil-fuel-operations", "offsetgroup": "other-fossil-fuel-operations", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "FRA", "RUS", "NLD", "IND", "MOZ", "USA", "CHN" ], "xaxis": "x", "y": [ 3840832.0417760615, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=incineration-and-open-burning-of-waste
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "incineration-and-open-burning-of-waste", "marker": { "color": "#19d3f3", "pattern": { "shape": "" } }, "name": "incineration-and-open-burning-of-waste", "offsetgroup": "incineration-and-open-burning-of-waste", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "FRA", "NLD", "IND", "USA", "MOZ", "RUS" ], "xaxis": "x", "y": [ 3569714.1853857697, 1846611.616033313, 362.4999558033402, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=forest-land-degradation
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "forest-land-degradation", "marker": { "color": "#FF6692", "pattern": { "shape": "" } }, "name": "forest-land-degradation", "offsetgroup": "forest-land-degradation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "IND", "CHN", "MOZ", "USA", "FRA", "NLD", "RUS" ], "xaxis": "x", "y": [ 3044949.698569074, 23620.242136180503, 5057.562190299999, 1592.1269901666667, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=bauxite-mining
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "bauxite-mining", "marker": { "color": "#B6E880", "pattern": { "shape": "" } }, "name": "bauxite-mining", "offsetgroup": "bauxite-mining", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "IND", "CHN", "RUS", "MOZ", "FRA", "USA", "NLD" ], "xaxis": "x", "y": [ 1561867, 283220.0000261667, 134530.75057566597, 121, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=water-reservoirs
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "water-reservoirs", "marker": { "color": "#FF97FF", "pattern": { "shape": "" } }, "name": "water-reservoirs", "offsetgroup": "water-reservoirs", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "IND", "RUS", "USA", "MOZ", "FRA", "NLD" ], "xaxis": "x", "y": [ 650588.7916581078, 368116.4901828774, 51993.80840509457, 864.7920921091454, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=rock-quarrying
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "rock-quarrying", "marker": { "color": "#FECB52", "pattern": { "shape": "" } }, "name": "rock-quarrying", "offsetgroup": "rock-quarrying", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "RUS", "FRA", "NLD", "USA", "IND", "MOZ", "CHN" ], "xaxis": "x", "y": [ 328687.00140647346, 60277.99986723528, 34432.999924159936, 8554.000000790304, 802, 108, 23.00000000212497 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=sand-quarrying
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "sand-quarrying", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "sand-quarrying", "offsetgroup": "sand-quarrying", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "NLD", "MOZ", "USA", "FRA", "IND", "RUS", "CHN" ], "xaxis": "x", "y": [ 64654.99985759477, 7037, 5272.00000048708, 1115.9999975419653, 15, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=manure-left-on-pasture-cattle
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "manure-left-on-pasture-cattle", "marker": { "color": "#EF553B", "pattern": { "shape": "" } }, "name": "manure-left-on-pasture-cattle", "offsetgroup": "manure-left-on-pasture-cattle", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "FRA", "IND", "MOZ", "CHN", "USA", "RUS", "NLD" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=domestic-wastewater-treatment-and-discharge
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "domestic-wastewater-treatment-and-discharge", "marker": { "color": "#00cc96", "pattern": { "shape": "" } }, "name": "domestic-wastewater-treatment-and-discharge", "offsetgroup": "domestic-wastewater-treatment-and-discharge", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "RUS", "USA", "NLD", "IND", "MOZ", "FRA" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=biological-treatment-of-solid-waste-and-biogenic
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "biological-treatment-of-solid-waste-and-biogenic", "marker": { "color": "#ab63fa", "pattern": { "shape": "" } }, "name": "biological-treatment-of-solid-waste-and-biogenic", "offsetgroup": "biological-treatment-of-solid-waste-and-biogenic", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "RUS", "FRA", "MOZ", "USA", "NLD", "IND", "CHN" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=rice-cultivation
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "rice-cultivation", "marker": { "color": "#FFA15A", "pattern": { "shape": "" } }, "name": "rice-cultivation", "offsetgroup": "rice-cultivation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "FRA", "IND", "RUS", "USA", "CHN", "NLD", "MOZ" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=enteric-fermentation-other
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "enteric-fermentation-other", "marker": { "color": "#19d3f3", "pattern": { "shape": "" } }, "name": "enteric-fermentation-other", "offsetgroup": "enteric-fermentation-other", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "MOZ", "NLD", "FRA", "RUS", "IND" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=manure-management-other
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "manure-management-other", "marker": { "color": "#FF6692", "pattern": { "shape": "" } }, "name": "manure-management-other", "offsetgroup": "manure-management-other", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "IND", "RUS", "NLD", "FRA", "MOZ" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=manure-management-cattle-operation
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "manure-management-cattle-operation", "marker": { "color": "#B6E880", "pattern": { "shape": "" } }, "name": "manure-management-cattle-operation", "offsetgroup": "manure-management-cattle-operation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "NLD", "MOZ", "USA", "RUS", "FRA", "CHN", "IND" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=solid-waste-disposal
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "solid-waste-disposal", "marker": { "color": "#FF97FF", "pattern": { "shape": "" } }, "name": "solid-waste-disposal", "offsetgroup": "solid-waste-disposal", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "FRA", "NLD", "IND", "MOZ", "RUS", "CHN", "USA" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=crop-residues
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "crop-residues", "marker": { "color": "#FECB52", "pattern": { "shape": "" } }, "name": "crop-residues", "offsetgroup": "crop-residues", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "IND", "USA", "FRA", "CHN", "RUS", "MOZ", "NLD" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=manure-applied-to-soils
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "manure-applied-to-soils", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "manure-applied-to-soils", "offsetgroup": "manure-applied-to-soils", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "MOZ", "USA", "CHN", "NLD", "RUS", "IND", "FRA" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=industrial-wastewater-treatment-and-discharge
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "industrial-wastewater-treatment-and-discharge", "marker": { "color": "#EF553B", "pattern": { "shape": "" } }, "name": "industrial-wastewater-treatment-and-discharge", "offsetgroup": "industrial-wastewater-treatment-and-discharge", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "NLD", "USA", "MOZ", "RUS", "FRA", "IND", "CHN" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=synthetic-fertilizer-application
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "synthetic-fertilizer-application", "marker": { "color": "#00cc96", "pattern": { "shape": "" } }, "name": "synthetic-fertilizer-application", "offsetgroup": "synthetic-fertilizer-application", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "RUS", "NLD", "CHN", "MOZ", "FRA", "USA", "IND" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=fluorinated-gases
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "fluorinated-gases", "marker": { "color": "#ab63fa", "pattern": { "shape": "" } }, "name": "fluorinated-gases", "offsetgroup": "fluorinated-gases", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "IND", "NLD", "FRA", "MOZ", "USA", "CHN", "RUS" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=enteric-fermentation-cattle-operation
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "enteric-fermentation-cattle-operation", "marker": { "color": "#FFA15A", "pattern": { "shape": "" } }, "name": "enteric-fermentation-cattle-operation", "offsetgroup": "enteric-fermentation-cattle-operation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "RUS", "CHN", "MOZ", "NLD", "IND", "FRA", "USA" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=enteric-fermentation-cattle-pasture
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "enteric-fermentation-cattle-pasture", "marker": { "color": "#19d3f3", "pattern": { "shape": "" } }, "name": "enteric-fermentation-cattle-pasture", "offsetgroup": "enteric-fermentation-cattle-pasture", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "RUS", "IND", "NLD", "CHN", "MOZ", "USA", "FRA" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=removals
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "removals", "marker": { "color": "#FF6692", "pattern": { "shape": "" } }, "name": "removals", "offsetgroup": "removals", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "NLD", "IND", "CHN", "FRA", "USA", "MOZ", "RUS" ], "xaxis": "x", "y": [ -3721265.024076298, -8969746.386987858, -36597977.92835712, -73161476.64153288, -269888574.459248, -491401924.20448846, -647533858.9075568 ], "yaxis": "y" } ], "layout": { "barmode": "relative", "legend": { "title": { "text": "subsector" }, "tracegroupgap": 0 }, "margin": { "t": 60 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "white", "showlakes": true, "showland": true, "subunitcolor": "#C8D4E3" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "white", "polar": { "angularaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" }, "bgcolor": "white", "radialaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "yaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "zaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "baxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "bgcolor": "white", "caxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 } } }, "xaxis": { "anchor": "y", "domain": [ 0, 1 ], "title": { "text": "iso3_country" } }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ], "title": { "text": "emissions_quantity" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "px.bar(cedf_gy\n", " .group_by(c_iso3_country, c_subsector)\n", " .agg(c_emissions_quantity.sum())\n", " .sort([c_emissions_quantity], descending=True)\n", " .filter(c_iso3_country.is_in([\n", " \"CHN\", \"USA\", \"IND\", \"RUS\",\"MOZ\",\"FRA\", \"NLD\"]))\n", ",x=ISO3_COUNTRY, y=EMISSIONS_QUANTITY,color=SUBSECTOR,log_y=False)" ] }, { "cell_type": "markdown", "id": "67ecf794-d2c4-4fc2-bce4-52e0fc4f0d3a", "metadata": {}, "source": [ "## Source checks\n", "\n", "Let's look now at all the sources tracked by Climate TRACE.\n", "\n", "We load the data first.\n", "\n", "```{note}\n", "\n", "Technical\n", "\n", "- We load the data using `scan_parquet`. This instructs Polars to delay the actual loading in memory until requested. The amount of memory necessary will then be minimal, even if the dataset itself is 4GB.\n", "\n", "- We reset the schema, in particular we add all the information about enumerations. This provides better type checks and helps Polars with optimizing its queries.\n", "\n", "```\n", "\n", "You can see that Polars has not done any processing if you attempt to display the data:" ] }, { "cell_type": "code", "execution_count": 19, "id": "71fcae25-e772-4089-b8bf-f2a16eee3819", "metadata": {}, "outputs": [ { "data": { "text/html": [ "

NAIVE QUERY PLAN

run LazyFrame.show_graph() to see the optimized version

\n", "\n", "\n", "\n", "\n", "\n", "polars_query\n", "\n", "\n", "\n", "p1\n", "\n", "WITH COLUMNS [col("conf_source_type").cast(Enum(Some(local), Physical)).alias("conf_source_type"), col("conf_capacity").cast(Enum(Some(local), Physical)).alias("conf_capacity"), col("conf_capacity_factor").cast(Enum(Some(local), Physical)).alias("conf_capacity_factor"), col("conf_activity").cast(Enum(Some(local), Physical)).alias("conf_activity"), col("conf_emissions_factor").cast(Enum(Some(local), Physical)).alias("conf_emissions_factor"), col("conf_emissions_quantity").cast(Enum(Some(local), Physical)).alias("conf_emissions_quantity")]\n", "\n", "\n", "\n", "p2\n", "\n", "WITH COLUMNS [col("iso3_country").strict_cast(Enum(Some(local), Physical)).alias("iso3_country"), col("gas").cast(Enum(Some(local), Physical)).alias("gas"), col("temporal_granularity").strict_cast(Enum(Some(local), Physical)).alias("temporal_granularity"), col("subsector").strict_cast(Enum(Some(local), Physical)).alias("subsector"), col("sector").strict_cast(Enum(Some(local), Physical)).alias("sector")]\n", "\n", "\n", "\n", "p1--p2\n", "\n", "\n", "\n", "\n", "p3\n", "\n", "Parquet SCAN [/media/tjhunter/DATA/xdg_cache/huggingface/hub/datasets--tjhunter--climate-trace/snapshots/8fab3217916ce4aab75e93f9d560f8393650e1c0/v3-2024-ct5/climate_trace-sources_v3-2024-ct5_2023_co2.parquet]\n", "π */55;\n", "\n", "\n", "\n", "p2--p3\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sdf_gy = ct.read_source_emissions(gas=gas, year=year)\n", "sdf_gy" ] }, { "cell_type": "markdown", "id": "8a39c5b9-f9e3-4a05-bad2-2b4b8b505775", "metadata": {}, "source": [ "How much emissions are released according to the source tracking? This number is significantly higher compared to what was estimated per country (57GT CO2 instead of 41GT CO2). \n", "\n", "The forestry and land use category is notoriously hard to estimate, so we are going for now to leave it aside" ] }, { "cell_type": "code", "execution_count": 20, "id": "403e7a0b-beed-41bd-aa08-2d3a684855e6", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "shape: (1, 1)
emissions_quantity
f64
5.7449e10
" ], "text/plain": [ "shape: (1, 1)\n", "┌────────────────────┐\n", "│ emissions_quantity │\n", "│ --- │\n", "│ f64 │\n", "╞════════════════════╡\n", "│ 5.7449e10 │\n", "└────────────────────┘" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(sdf_gy\n", " .filter(c_sector != FORESTRY_AND_LAND_USE)\n", " .select(c_emissions_quantity.sum())\n", " .collect()\n", ")" ] }, { "cell_type": "markdown", "id": "2a83030f-a783-4130-949b-68fd6389dba6", "metadata": {}, "source": [ "### The biggest sources\n", "\n", "What are the biggest sources of emissions? Fossil fuel operations (the Permian bassin in Texas, oil fields in Russia) are amongst the largest sources. Agriculture also plays a huge role, especially Brazil and India." ] }, { "cell_type": "code", "execution_count": 21, "id": "27eb578c-a37e-4c84-98da-572df1952071", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "shape: (50, 6)
source_idiso3_countrysectorsubsectoremissions_quantitysource_name
u64enumenumenumf64str
1241948"CHN""buildings""residential-onsite-fuel-usage"5.9804e8"China"
1242200"USA""buildings""residential-onsite-fuel-usage"4.6791e8"United States"
3588448"RUS""fossil-fuel-operations""oil-and-gas-transport"2.5986e8"Russian Federation_West Siberi…
10720469"BRA""agriculture""cropland-fires"2.2666e8"Brazil"
10720302"IND""agriculture""cropland-fires"2.1886e8"India"
3597677"BRA""transportation""road-transportation"4.6394e7"São Paulo"
3588663"IRQ""fossil-fuel-operations""oil-and-gas-production"4.6277e7"Iraq_Widyan - North Arabian Gu…
3600747"USA""transportation""road-transportation"4.5956e7"New York"
3588498"USA""fossil-fuel-operations""oil-and-gas-transport"4.5931e7"United States_Appalachian_Shal…
3600726"USA""transportation""road-transportation"4.5479e7"Illinois"
" ], "text/plain": [ "shape: (50, 6)\n", "┌───────────┬──────────────┬─────────────────┬─────────────────┬─────────────────┬─────────────────┐\n", "│ source_id ┆ iso3_country ┆ sector ┆ subsector ┆ emissions_quant ┆ source_name │\n", "│ --- ┆ --- ┆ --- ┆ --- ┆ ity ┆ --- │\n", "│ u64 ┆ enum ┆ enum ┆ enum ┆ --- ┆ str │\n", "│ ┆ ┆ ┆ ┆ f64 ┆ │\n", "╞═══════════╪══════════════╪═════════════════╪═════════════════╪═════════════════╪═════════════════╡\n", "│ 1241948 ┆ CHN ┆ buildings ┆ residential-ons ┆ 5.9804e8 ┆ China │\n", "│ ┆ ┆ ┆ ite-fuel-usage ┆ ┆ │\n", "│ 1242200 ┆ USA ┆ buildings ┆ residential-ons ┆ 4.6791e8 ┆ United States │\n", "│ ┆ ┆ ┆ ite-fuel-usage ┆ ┆ │\n", "│ 3588448 ┆ RUS ┆ fossil-fuel-ope ┆ oil-and-gas-tra ┆ 2.5986e8 ┆ Russian │\n", "│ ┆ ┆ rations ┆ nsport ┆ ┆ Federation_West │\n", "│ ┆ ┆ ┆ ┆ ┆ Siberi… │\n", "│ 10720469 ┆ BRA ┆ agriculture ┆ cropland-fires ┆ 2.2666e8 ┆ Brazil │\n", "│ 10720302 ┆ IND ┆ agriculture ┆ cropland-fires ┆ 2.1886e8 ┆ India │\n", "│ … ┆ … ┆ … ┆ … ┆ … ┆ … │\n", "│ 3597677 ┆ BRA ┆ transportation ┆ road-transporta ┆ 4.6394e7 ┆ São Paulo │\n", "│ ┆ ┆ ┆ tion ┆ ┆ │\n", "│ 3588663 ┆ IRQ ┆ fossil-fuel-ope ┆ oil-and-gas-pro ┆ 4.6277e7 ┆ Iraq_Widyan - │\n", "│ ┆ ┆ rations ┆ duction ┆ ┆ North Arabian │\n", "│ ┆ ┆ ┆ ┆ ┆ Gu… │\n", "│ 3600747 ┆ USA ┆ transportation ┆ road-transporta ┆ 4.5956e7 ┆ New York │\n", "│ ┆ ┆ ┆ tion ┆ ┆ │\n", "│ 3588498 ┆ USA ┆ fossil-fuel-ope ┆ oil-and-gas-tra ┆ 4.5931e7 ┆ United States_A │\n", "│ ┆ ┆ rations ┆ nsport ┆ ┆ ppalachian_Shal │\n", "│ ┆ ┆ ┆ ┆ ┆ … │\n", "│ 3600726 ┆ USA ┆ transportation ┆ road-transporta ┆ 4.5479e7 ┆ Illinois │\n", "│ ┆ ┆ ┆ tion ┆ ┆ │\n", "└───────────┴──────────────┴─────────────────┴─────────────────┴─────────────────┴─────────────────┘" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(sdf_gy\n", ".filter(c_emissions_quantity > 0)\n", ".filter(c_sector != FORESTRY_AND_LAND_USE)\n", " .group_by(c_source_id)\n", " .agg(c_iso3_country.first(), c_sector.first(), c_subsector.first(), c_emissions_quantity.sum(), c_source_name.first())\n", ".top_k(50, by=c_emissions_quantity)\n", ".collect(streaming=True))" ] }, { "cell_type": "markdown", "id": "87e168bb-5c5f-42bc-802b-5adb334b47c8", "metadata": {}, "source": [ "### Number of tracked sources\n", "\n", "How many sources were tracked last year?\n", "\n", "We get more than 1.2millions if the forestry and land use changes are included.\n", "\n", "Technical:\n", "\n", "Notice that we did not need to ingest the data in a database, and yet this query takes less than a second. Pretty good for a decently large dataset! Try to reproduce this analysis in Pandas and see what happens.\n", "\n", "\n", "```{admonition} CTODO\n", ":name: sec-emissions\n", "The CT map seems to report 1.8M.\n", "```\n" ] }, { "cell_type": "code", "execution_count": 22, "id": "fe845e74-a0b9-4892-9428-ba7fd9a926c0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1265375" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(sdf_gy.select(c_source_id.unique_counts())\n", " .count()\n", " .collect()\n", " .item() # Using .item() to have a single number\n", ")" ] }, { "cell_type": "markdown", "id": "f6e7bcd3-ba5f-49b0-bd0c-565657338f11", "metadata": {}, "source": [ "Excluding them, we get the number reported officially by Climate TRACE (748k)." ] }, { "cell_type": "code", "execution_count": 23, "id": "471254a9-8566-4c8f-8068-637dd52d961d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "749594" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(sdf_gy.filter(c_sector != FORESTRY_AND_LAND_USE)\n", ".select(c_source_id.unique_counts())\n", " .count()\n", " .collect()\n", " .item()\n", ")" ] }, { "cell_type": "markdown", "id": "572c2fe1-c5be-4a2a-8383-39cbe6e692e3", "metadata": {}, "source": [ "Which categories do these records come from?\n", "\n", "This shows the full diversity of the sources to consider. The most numerous records concern ships, followed by various treatment plants for cities, forest statistics, etc." ] }, { "cell_type": "code", "execution_count": 24, "id": "ae8b6132-6dd0-4773-803d-a53b73d6e8cb", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "alignmentgroup": "True", "hovertemplate": "subsector=%{x}
count=%{y}", "legendgroup": "", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "", "offsetgroup": "", "orientation": "v", "showlegend": false, "textposition": "auto", "type": "bar", "x": [ "enteric-fermentation-cattle-operation", "manure-management-cattle-operation", "rice-cultivation", "removals", "residential-onsite-fuel-usage", "net-shrubgrass", "road-transportation", "net-forest-land", "net-wetland", "cropland-fires", "forest-land-clearing", "synthetic-fertilizer-application", "shrubgrass-fires", "non-residential-onsite-fuel-usage", "forest-land-fires", "domestic-wastewater-treatment-and-discharge", "enteric-fermentation-cattle-pasture", "manure-left-on-pasture-cattle", "forest-land-degradation", "wetland-fires", "food-beverage-tobacco", "textiles-leather-apparel", "solid-waste-disposal", "electricity-generation", "domestic-shipping", "international-shipping", "water-reservoirs", "domestic-aviation", "international-aviation", "coal-mining", "cement", "lime", "industrial-wastewater-treatment-and-discharge", "iron-and-steel", "iron-mining", "oil-and-gas-refining", "copper-mining", "glass", "other-chemicals", "other-metals", "other-manufacturing", "chemicals", "oil-and-gas-production", "oil-and-gas-transport", "bauxite-mining", "pulp-and-paper", "petrochemical-steam-cracking", "aluminum" ], "xaxis": "x", "y": [ 932736, 932736, 721896, 721668, 721152, 719748, 718884, 717120, 697776, 688584, 684240, 652788, 652560, 649932, 647772, 646260, 642888, 642204, 638496, 625584, 177228, 153948, 115500, 106440, 99132, 86256, 84408, 58920, 58920, 45456, 26892, 19308, 15312, 10728, 8664, 8484, 8076, 7668, 5268, 5016, 4776, 4452, 3432, 3432, 3168, 3168, 2808, 2616 ], "yaxis": "y" } ], "layout": { "barmode": "relative", "legend": { "tracegroupgap": 0 }, "margin": { "t": 60 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "white", "showlakes": true, "showland": true, "subunitcolor": "#C8D4E3" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "white", "polar": { "angularaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" }, "bgcolor": "white", "radialaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "yaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "zaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "baxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "bgcolor": "white", "caxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 } } }, "xaxis": { "anchor": "y", "domain": [ 0, 1 ], "title": { "text": "subsector" } }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ], "title": { "text": "count" }, "type": "log" } } }, "image/png": "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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "px.bar(sdf_gy\n", " .select(c_subsector.value_counts(sort=True))\n", " .collect()\n", " .unnest(SUBSECTOR),\n", " x=SUBSECTOR, y=\"count\", log_y=True\n", ")" ] }, { "cell_type": "markdown", "id": "164eef3b-d1fc-41e8-9eac-fbaef75697db", "metadata": {}, "source": [ "Looking at a few examples of wastewater treatment plants, you see how the data is organized for each source:\n", "- an identifier, along with country, UNFCCC sectorial categorization, time of data collection\n", "- the gas considered\n", "- the main methodology to get the emission: typically a certain quantity of interest, called _activity_ (here a population) multiplied by an _emission factor_\n", "- more details about the source itself: name, type, position\n", "- some extra tabular information (always strings in this dataset)\n", "- qualitative confidence values for each of the values\n", "\n" ] }, { "cell_type": "code", "execution_count": 25, "id": "73a1848b-ee15-4b8f-89dc-cd7cec74f071", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "shape: (3, 55)
source_idiso3_countrysectorsubsectororiginal_inventory_sectorstart_timeend_timetemporal_granularitygasemissions_quantityemissions_factoremissions_factor_unitscapacitycapacity_unitscapacity_factoractivityactivity_unitscreated_datemodified_datesource_namesource_typelatlonother1other2other3other4other5other6other7other8other9other10other11other12other1_defother2_defother3_defother4_defother5_defother6_defother7_defother8_defother9_defother10_defother11_defother12_defgeometry_refconf_source_typeconf_capacityconf_capacity_factorconf_activityconf_emissions_factorconf_emissions_quantityyear
u64enumenumenumstrdatetime[μs, UTC]datetime[μs, UTC]enumenumf64f64strf64strf64f64strdatetime[μs, UTC]datetime[μs, UTC]strstrf64f64strstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrenumenumenumenumenumenumi64
1895560"CHN""manufacturing""cement"null2023-05-01 00:00:00 UTC2023-05-31 00:00:00 UTC"month""co2"44912.1386250.54"t of CO2 per t of cement"212917.0"t of cement"0.39062583170.627083"t of cement"2024-08-21 00:00:00 UTCnull"Anyang Hubo Clinker Co Ltd Hen…"integrated dry"36.085841114.068585"0.5952506500000001""49507.36983219091""0.34""28278.013208292858""0.2""16634.125416642855""0.091""7568.527064572498""0.60715""satellite"nullnull"Direct and Indirect emissions …"Direct and Indirect emissions:…"Calcination emissions factor (…"Calcination emissions (t of CO…"Fuel emissions factor (t of CO…"Fuel emissions (t of CO2)""electricity_use_factor (MWh pe…"electricity_use (MWh)""grid_emissions_intensity (t CO…"model_methodology (e.g satelli…nullnull"trace_1895560""high""high""low""low""low""low"2023
1895560"CHN""manufacturing""cement"null2023-06-01 00:00:00 UTC2023-06-30 00:00:00 UTC"month""co2"105667.9391790.54"t of CO2 per t of cement"212917.0"t of cement"0.91905195681.36885"t of cement"2024-08-21 00:00:00 UTCnull"Anyang Hubo Clinker Co Ltd Hen…"integrated dry"36.085841114.068585"0.5973491099999999""116890.0915261292""0.34""66531.665409""0.1999999999999999""39136.27376999999""0.091""17807.00456535""0.63021""satellite"nullnull"Direct and Indirect emissions …"Direct and Indirect emissions:…"Calcination emissions factor (…"Calcination emissions (t of CO…"Fuel emissions factor (t of CO…"Fuel emissions (t of CO2)""electricity_use_factor (MWh pe…"electricity_use (MWh)""grid_emissions_intensity (t CO…"model_methodology (e.g satelli…nullnull"trace_1895560""high""high""low""low""low""low"2023
1895560"CHN""manufacturing""cement"null2023-07-01 00:00:00 UTC2023-07-31 00:00:00 UTC"month""co2"17822.3847770.54"t of CO2 per t of cement"212917.0"t of cement"0.15501133004.416254"t of cement"2024-08-21 00:00:00 UTCnull"Anyang Hubo Clinker Co Ltd Hen…"integrated dry"36.085841114.068585"0.59744466""19718.312247113456""0.34""11221.501526214286""0.2""6600.883250714286""0.091""3003.401879075""0.63126""satellite"nullnull"Direct and Indirect emissions …"Direct and Indirect emissions:…"Calcination emissions factor (…"Calcination emissions (t of CO…"Fuel emissions factor (t of CO…"Fuel emissions (t of CO2)""electricity_use_factor (MWh pe…"electricity_use (MWh)""grid_emissions_intensity (t CO…"model_methodology (e.g satelli…nullnull"trace_1895560""high""high""low""low""low""low"2023
" ], "text/plain": [ "shape: (3, 55)\n", "┌───────────┬────────────┬────────────┬───────────┬───┬────────────┬────────────┬───────────┬──────┐\n", "│ source_id ┆ iso3_count ┆ sector ┆ subsector ┆ … ┆ conf_activ ┆ conf_emiss ┆ conf_emis ┆ year │\n", "│ --- ┆ ry ┆ --- ┆ --- ┆ ┆ ity ┆ ions_facto ┆ sions_qua ┆ --- │\n", "│ u64 ┆ --- ┆ enum ┆ enum ┆ ┆ --- ┆ r ┆ ntity ┆ i64 │\n", "│ ┆ enum ┆ ┆ ┆ ┆ enum ┆ --- ┆ --- ┆ │\n", "│ ┆ ┆ ┆ ┆ ┆ ┆ enum ┆ enum ┆ │\n", "╞═══════════╪════════════╪════════════╪═══════════╪═══╪════════════╪════════════╪═══════════╪══════╡\n", "│ 1895560 ┆ CHN ┆ manufactur ┆ cement ┆ … ┆ low ┆ low ┆ low ┆ 2023 │\n", "│ ┆ ┆ ing ┆ ┆ ┆ ┆ ┆ ┆ │\n", "│ 1895560 ┆ CHN ┆ manufactur ┆ cement ┆ … ┆ low ┆ low ┆ low ┆ 2023 │\n", "│ ┆ ┆ ing ┆ ┆ ┆ ┆ ┆ ┆ │\n", "│ 1895560 ┆ CHN ┆ manufactur ┆ cement ┆ … ┆ low ┆ low ┆ low ┆ 2023 │\n", "│ ┆ ┆ ing ┆ ┆ ┆ ┆ ┆ ┆ │\n", "└───────────┴────────────┴────────────┴───────────┴───┴────────────┴────────────┴───────────┴──────┘" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(sdf_gy\n", " .filter(c_sector == MANUFACTURING)\n", " .filter(c_subsector == CEMENT)\n", " .head(3)\n", " .collect()\n", ")" ] }, { "cell_type": "markdown", "id": "5fd911fa-4fbc-48b3-97dd-0a194c44a81f", "metadata": {}, "source": [ "Looking now at emissions and gathering by country, we get a plot relatively similar to what we saw in the section above.\n", "\n", "\n", "Again, France and the Netherlands barely appear in this graph, and Mozambique's forest management practices have an enormous impact." ] }, { "cell_type": "code", "execution_count": 26, "id": "d3e6791b-dde4-4b6d-afa4-ba97d66f9158", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "alignmentgroup": "True", "hovertemplate": "subsector=electricity-generation
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "electricity-generation", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "electricity-generation", "offsetgroup": "electricity-generation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "IND", "RUS", "NLD", "FRA", "MOZ" ], "xaxis": "x", "y": [ 5005400853.5, 1472846213.4299958, 1284131521.2800007, 586967013, 23607350.200000007, 16609284, 1199537.9 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=road-transportation
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "road-transportation", "marker": { "color": "#EF553B", "pattern": { "shape": "" } }, "name": "road-transportation", "offsetgroup": "road-transportation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "CHN", "RUS", "IND", "FRA", "NLD", "MOZ" ], "xaxis": "x", "y": [ 3517579347.4108973, 1561726699.8845358, 557249258.2047526, 407459474.87310505, 321705226.5624945, 51148506.36085503, 35827826.78744268 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=residential-onsite-fuel-usage
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "residential-onsite-fuel-usage", "marker": { "color": "#00cc96", "pattern": { "shape": "" } }, "name": "residential-onsite-fuel-usage", "offsetgroup": "residential-onsite-fuel-usage", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "IND", "RUS", "FRA", "NLD", "MOZ" ], "xaxis": "x", "y": [ 2065897850.831839, 1719269600.1874402, 688116354.0000637, 639267173.1516241, 206665453.2736199, 64921366.02083975, 498102.79230000003 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=iron-and-steel
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "iron-and-steel", "marker": { "color": "#ab63fa", "pattern": { "shape": "" } }, "name": "iron-and-steel", "offsetgroup": "iron-and-steel", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "IND", "RUS", "USA", "FRA", "NLD" ], "xaxis": "x", "y": [ 1738659727.5086532, 131008311.22150494, 97090147.88115509, 78458926.40724792, 23448385.9886581, 13301230.660038257 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=forest-land-clearing
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "forest-land-clearing", "marker": { "color": "#FFA15A", "pattern": { "shape": "" } }, "name": "forest-land-clearing", "offsetgroup": "forest-land-clearing", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "RUS", "USA", "CHN", "IND", "MOZ", "FRA", "NLD" ], "xaxis": "x", "y": [ 1695163189.4619062, 1415669261.3023996, 736383938.7809178, 159237418.6130586, 142228911.9236084, 83861755.99158005, 1561907.7581127253 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=forest-land-fires
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "forest-land-fires", "marker": { "color": "#19d3f3", "pattern": { "shape": "" } }, "name": "forest-land-fires", "offsetgroup": "forest-land-fires", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "MOZ", "RUS", "USA", "IND", "CHN", "FRA", "NLD" ], "xaxis": "x", "y": [ 1255051373.881162, 612670372.1013407, 211953727.99771282, 135196486.96119985, 33833621.940939665, 2010962.2214674323, 3500.4007973816542 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=cement
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "cement", "marker": { "color": "#FF6692", "pattern": { "shape": "" } }, "name": "cement", "offsetgroup": "cement", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "IND", "RUS", "USA", "FRA" ], "xaxis": "x", "y": [ 780815840.5593724, 113601836.6254862, 33876316.00564227, 32343162.278693903, 11663067.550853726 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=cropland-fires
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "cropland-fires", "marker": { "color": "#B6E880", "pattern": { "shape": "" } }, "name": "cropland-fires", "offsetgroup": "cropland-fires", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "IND", "RUS", "USA", "MOZ", "FRA", "NLD" ], "xaxis": "x", "y": [ 689988565.4258906, 671449480.3230534, 81776603.11068058, 16431088.205413613, 5439400.271268841, 1376525.2533198684, 1305.6378421113789 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=net-forest-land
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "net-forest-land", "marker": { "color": "#FF97FF", "pattern": { "shape": "" } }, "name": "net-forest-land", "offsetgroup": "net-forest-land", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "RUS", "USA", "IND", "CHN", "MOZ", "NLD", "FRA" ], "xaxis": "x", "y": [ 471497753.64274204, 365964270.7380836, 297578517.48837364, 238738558.73003972, 223283463.9379309, -7387646.127565638, -68224597.17960082 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=oil-and-gas-transport
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "oil-and-gas-transport", "marker": { "color": "#FECB52", "pattern": { "shape": "" } }, "name": "oil-and-gas-transport", "offsetgroup": "oil-and-gas-transport", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "RUS", "USA", "CHN", "IND", "NLD", "MOZ", "FRA" ], "xaxis": "x", "y": [ 457050236.93810606, 256751054.7619467, 42550435.83861957, 13079242.960351579, 1760603.952855723, 1701185.2427280457, 125725.09714003837 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=non-residential-onsite-fuel-usage
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "non-residential-onsite-fuel-usage", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "non-residential-onsite-fuel-usage", "offsetgroup": "non-residential-onsite-fuel-usage", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "CHN", "RUS", "FRA", "IND", "NLD", "MOZ" ], "xaxis": "x", "y": [ 452340717.12788576, 191047018.96163902, 150183917.2706396, 46508667.76805991, 34503424.48992016, 20271750.060809944, 7363.910400000005 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=net-shrubgrass
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "net-shrubgrass", "marker": { "color": "#EF553B", "pattern": { "shape": "" } }, "name": "net-shrubgrass", "offsetgroup": "net-shrubgrass", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "RUS", "IND", "NLD", "MOZ", "FRA" ], "xaxis": "x", "y": [ 426807356.49336797, 419247287.966633, 177429249.37531835, -1420772.6605828784, -3591208.926832631, -11075448.35689075, -66565505.01194729 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=oil-and-gas-production
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "oil-and-gas-production", "marker": { "color": "#00cc96", "pattern": { "shape": "" } }, "name": "oil-and-gas-production", "offsetgroup": "oil-and-gas-production", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "RUS", "CHN", "IND", "NLD", "MOZ", "FRA" ], "xaxis": "x", "y": [ 373095048.829268, 203388363.82717103, 115452130.50027922, 10761171.346833121, 3782668.13009727, 508785.0753883585, 138780.24417059714 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=lime
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "lime", "marker": { "color": "#ab63fa", "pattern": { "shape": "" } }, "name": "lime", "offsetgroup": "lime", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "FRA" ], "xaxis": "x", "y": [ 365302850.5011233, 31108794.001598082, 5103399.98214688 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=chemicals
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "chemicals", "marker": { "color": "#FFA15A", "pattern": { "shape": "" } }, "name": "chemicals", "offsetgroup": "chemicals", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "RUS", "USA", "IND", "NLD", "FRA" ], "xaxis": "x", "y": [ 288283025.02648807, 53254045.16600007, 39375317.52000001, 35963696.530999996, 6931724.142000003, 5437766.321999999 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=shrubgrass-fires
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "shrubgrass-fires", "marker": { "color": "#19d3f3", "pattern": { "shape": "" } }, "name": "shrubgrass-fires", "offsetgroup": "shrubgrass-fires", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "MOZ", "RUS", "USA", "IND", "CHN", "FRA", "NLD" ], "xaxis": "x", "y": [ 277422187.47411764, 89766392.44330913, 28476371.418178424, 11240620.653019113, 11105875.424642554, 325898.5563841096, 842.3223213350291 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=oil-and-gas-refining
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "oil-and-gas-refining", "marker": { "color": "#FF6692", "pattern": { "shape": "" } }, "name": "oil-and-gas-refining", "offsetgroup": "oil-and-gas-refining", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "CHN", "IND", "RUS", "NLD", "FRA" ], "xaxis": "x", "y": [ 186289729.3941169, 180659311.94105697, 69784342.63298343, 64022891.83643073, 15194208.37312268, 11627392.964323305 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=aluminum
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "aluminum", "marker": { "color": "#B6E880", "pattern": { "shape": "" } }, "name": "aluminum", "offsetgroup": "aluminum", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "IND", "RUS", "USA", "MOZ", "FRA" ], "xaxis": "x", "y": [ 141713194.37409738, 18039567.94191592, 12560164.56279035, 2877842.146487341, 2029982.1256472347, 1510528.4806916153 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=domestic-aviation
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "domestic-aviation", "marker": { "color": "#FF97FF", "pattern": { "shape": "" } }, "name": "domestic-aviation", "offsetgroup": "domestic-aviation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "CHN", "IND", "RUS", "FRA", "MOZ", "NLD" ], "xaxis": "x", "y": [ 123972219.1839112, 87672207.025274, 12235301.748651557, 9524917.785966182, 1635860.339933269, 88035.0899298838, 698.7076560747475 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=domestic-shipping
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "domestic-shipping", "marker": { "color": "#FECB52", "pattern": { "shape": "" } }, "name": "domestic-shipping", "offsetgroup": "domestic-shipping", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "RUS", "NLD", "FRA", "IND", "MOZ" ], "xaxis": "x", "y": [ 81553551.2152823, 32868599.45370325, 8791445.046162898, 7781131.969331416, 6334512.108903308, 6021659.8013244085, 411090.8342074001 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=international-aviation
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "international-aviation", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "international-aviation", "offsetgroup": "international-aviation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "CHN", "FRA", "IND", "NLD", "RUS", "MOZ" ], "xaxis": "x", "y": [ 72459845.85572623, 21033793.35754356, 17054714.72283154, 11521673.997214502, 9892755.662482314, 4597109.323549411, 127302.5533771172 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=other-chemicals
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "other-chemicals", "marker": { "color": "#EF553B", "pattern": { "shape": "" } }, "name": "other-chemicals", "offsetgroup": "other-chemicals", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA" ], "xaxis": "x", "y": [ 72184495.000069 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=petrochemical-steam-cracking
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "petrochemical-steam-cracking", "marker": { "color": "#00cc96", "pattern": { "shape": "" } }, "name": "petrochemical-steam-cracking", "offsetgroup": "petrochemical-steam-cracking", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "IND", "RUS", "NLD", "FRA" ], "xaxis": "x", "y": [ 69604508.55989978, 46142379.25369997, 8759724.071299987, 4728405.263359996, 4661032.177, 3076699.3222 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=net-wetland
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "net-wetland", "marker": { "color": "#ab63fa", "pattern": { "shape": "" } }, "name": "net-wetland", "offsetgroup": "net-wetland", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "CHN", "MOZ", "NLD", "FRA", "IND", "RUS" ], "xaxis": "x", "y": [ 62459206.871075585, 4353501.30560394, 671130.3349296043, -224657.09223407702, -947268.1340428848, -5364358.00766032, -174776043.77919042 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=coal-mining
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "coal-mining", "marker": { "color": "#FFA15A", "pattern": { "shape": "" } }, "name": "coal-mining", "offsetgroup": "coal-mining", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "IND", "USA", "RUS", "MOZ" ], "xaxis": "x", "y": [ 57492633.93120097, 17597292.839023814, 9268681.116898574, 8504305.674629904, 244641.24635456136 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=international-shipping
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "international-shipping", "marker": { "color": "#19d3f3", "pattern": { "shape": "" } }, "name": "international-shipping", "offsetgroup": "international-shipping", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "IND", "NLD", "RUS", "FRA", "MOZ" ], "xaxis": "x", "y": [ 56971920.58697242, 37718651.33765089, 13068400.931197288, 10293617.679405076, 7318094.390161804, 6876359.386209391, 1310130.3745677997 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=food-beverage-tobacco
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "food-beverage-tobacco", "marker": { "color": "#FF6692", "pattern": { "shape": "" } }, "name": "food-beverage-tobacco", "offsetgroup": "food-beverage-tobacco", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "FRA", "NLD" ], "xaxis": "x", "y": [ 49392441.814700976, 11147926.81811104, 3120608.927553097 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=wetland-fires
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "wetland-fires", "marker": { "color": "#B6E880", "pattern": { "shape": "" } }, "name": "wetland-fires", "offsetgroup": "wetland-fires", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "RUS", "MOZ", "USA", "CHN", "IND", "FRA", "NLD" ], "xaxis": "x", "y": [ 23583535.03245475, 12401286.75579761, 3240185.70135985, 718429.2730033658, 90328.96254385108, 530.7044704079154, 69.56795822988505 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=textiles-leather-apparel
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "textiles-leather-apparel", "marker": { "color": "#FF97FF", "pattern": { "shape": "" } }, "name": "textiles-leather-apparel", "offsetgroup": "textiles-leather-apparel", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "IND", "FRA", "NLD" ], "xaxis": "x", "y": [ 20186214.354107853, 1749208.7334479638, 362161.8605062827, 259036.23326252965, 98517.71560597816 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=other-metals
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "other-metals", "marker": { "color": "#FECB52", "pattern": { "shape": "" } }, "name": "other-metals", "offsetgroup": "other-metals", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "FRA", "NLD" ], "xaxis": "x", "y": [ 20041427.995876476, 5010999.992384255, 114999.99982522229 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=other-manufacturing
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "other-manufacturing", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "other-manufacturing", "offsetgroup": "other-manufacturing", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA" ], "xaxis": "x", "y": [ 16176203.910744684 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=pulp-and-paper
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "pulp-and-paper", "marker": { "color": "#EF553B", "pattern": { "shape": "" } }, "name": "pulp-and-paper", "offsetgroup": "pulp-and-paper", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "CHN", "RUS", "FRA", "IND" ], "xaxis": "x", "y": [ 14650714.511454513, 5430721.039129676, 1214129.742144174, 216393.3712761647, 202665.4504208085 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=glass
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "glass", "marker": { "color": "#00cc96", "pattern": { "shape": "" } }, "name": "glass", "offsetgroup": "glass", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "FRA", "NLD" ], "xaxis": "x", "y": [ 9213645.999857677, 5658390.80273412, 748759.5265805523 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=forest-land-degradation
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "forest-land-degradation", "marker": { "color": "#ab63fa", "pattern": { "shape": "" } }, "name": "forest-land-degradation", "offsetgroup": "forest-land-degradation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "IND", "CHN", "MOZ", "USA", "RUS", "FRA", "NLD" ], "xaxis": "x", "y": [ 9212727.933933256, 70861.28469166002, 15173.794250646637, 7399.29869637867, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=iron-mining
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "iron-mining", "marker": { "color": "#FFA15A", "pattern": { "shape": "" } }, "name": "iron-mining", "offsetgroup": "iron-mining", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "RUS", "IND", "USA", "CHN" ], "xaxis": "x", "y": [ 8701373.687706264, 4492437, 2658966.000245662, 2540544.00023472 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=copper-mining
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "copper-mining", "marker": { "color": "#19d3f3", "pattern": { "shape": "" } }, "name": "copper-mining", "offsetgroup": "copper-mining", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "RUS", "IND" ], "xaxis": "x", "y": [ 7523047.527333937, 4474437.544003356, 1912912.0081854777, 7854 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=bauxite-mining
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "bauxite-mining", "marker": { "color": "#FF6692", "pattern": { "shape": "" } }, "name": "bauxite-mining", "offsetgroup": "bauxite-mining", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "IND", "CHN", "RUS", "MOZ" ], "xaxis": "x", "y": [ 852845, 283220.00002616673, 134530.75057566597, 120.99999999999999 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=water-reservoirs
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "water-reservoirs", "marker": { "color": "#B6E880", "pattern": { "shape": "" } }, "name": "water-reservoirs", "offsetgroup": "water-reservoirs", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "IND", "RUS", "USA", "MOZ", "FRA", "NLD" ], "xaxis": "x", "y": [ 650588.7916533083, 368116.4901626471, 51993.80840329999, 864.79209209, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=industrial-wastewater-treatment-and-discharge
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "industrial-wastewater-treatment-and-discharge", "marker": { "color": "#FF97FF", "pattern": { "shape": "" } }, "name": "industrial-wastewater-treatment-and-discharge", "offsetgroup": "industrial-wastewater-treatment-and-discharge", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "NLD", "CHN", "FRA", "IND", "RUS" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=rice-cultivation
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "rice-cultivation", "marker": { "color": "#FECB52", "pattern": { "shape": "" } }, "name": "rice-cultivation", "offsetgroup": "rice-cultivation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "FRA", "IND", "NLD", "MOZ", "USA", "RUS", "CHN" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=enteric-fermentation-cattle-pasture
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "enteric-fermentation-cattle-pasture", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "enteric-fermentation-cattle-pasture", "offsetgroup": "enteric-fermentation-cattle-pasture", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "FRA", "USA", "IND", "MOZ", "NLD", "RUS", "CHN" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=manure-left-on-pasture-cattle
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "manure-left-on-pasture-cattle", "marker": { "color": "#EF553B", "pattern": { "shape": "" } }, "name": "manure-left-on-pasture-cattle", "offsetgroup": "manure-left-on-pasture-cattle", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "USA", "IND", "RUS", "NLD", "FRA", "MOZ" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=synthetic-fertilizer-application
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "synthetic-fertilizer-application", "marker": { "color": "#00cc96", "pattern": { "shape": "" } }, "name": "synthetic-fertilizer-application", "offsetgroup": "synthetic-fertilizer-application", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "FRA", "IND", "NLD", "MOZ", "CHN", "RUS" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=enteric-fermentation-cattle-operation
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "enteric-fermentation-cattle-operation", "marker": { "color": "#ab63fa", "pattern": { "shape": "" } }, "name": "enteric-fermentation-cattle-operation", "offsetgroup": "enteric-fermentation-cattle-operation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "CHN", "RUS", "FRA", "USA" ], "xaxis": "x", "y": [ 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=solid-waste-disposal
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "solid-waste-disposal", "marker": { "color": "#FFA15A", "pattern": { "shape": "" } }, "name": "solid-waste-disposal", "offsetgroup": "solid-waste-disposal", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "FRA", "CHN", "RUS", "NLD", "USA", "MOZ", "IND" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=domestic-wastewater-treatment-and-discharge
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "domestic-wastewater-treatment-and-discharge", "marker": { "color": "#19d3f3", "pattern": { "shape": "" } }, "name": "domestic-wastewater-treatment-and-discharge", "offsetgroup": "domestic-wastewater-treatment-and-discharge", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "FRA", "RUS", "MOZ", "NLD", "IND", "USA", "CHN" ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=manure-management-cattle-operation
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "manure-management-cattle-operation", "marker": { "color": "#FF6692", "pattern": { "shape": "" } }, "name": "manure-management-cattle-operation", "offsetgroup": "manure-management-cattle-operation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "USA", "CHN", "RUS", "FRA" ], "xaxis": "x", "y": [ 0, 0, 0, 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=removals
iso3_country=%{x}
emissions_quantity=%{y}", "legendgroup": "removals", "marker": { "color": "#B6E880", "pattern": { "shape": "" } }, "name": "removals", "offsetgroup": "removals", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "NLD", "IND", "CHN", "FRA", "USA", "MOZ", "RUS" ], "xaxis": "x", "y": [ -12813060.638324913, -23505832.44651438, -112289439.4753471, -222519638.69167718, -809178311.7914941, -1474216896.6709538, -1946082629.773201 ], "yaxis": "y" } ], "layout": { "barmode": "relative", "legend": { "title": { "text": "subsector" }, "tracegroupgap": 0 }, "margin": { "t": 60 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "white", "showlakes": true, "showland": true, "subunitcolor": "#C8D4E3" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "white", "polar": { "angularaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" }, "bgcolor": "white", "radialaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "yaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "zaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "baxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "bgcolor": "white", "caxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 } } }, "xaxis": { "anchor": "y", "domain": [ 0, 1 ], "title": { "text": "iso3_country" } }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ], "title": { "text": "emissions_quantity" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "px.bar(\n", "(sdf_gy\n", ".group_by(c_iso3_country, c_subsector)\n", " .agg(c_emissions_quantity.sum())\n", " .sort([c_emissions_quantity], descending=True)\n", " .filter(c_iso3_country.is_in([\"CHN\", \"USA\", \"IND\", \"RUS\",\"MOZ\",\"FRA\", \"NLD\"]))\n", " .collect()\n", ")\n", " ,x=ISO3_COUNTRY, y=EMISSIONS_QUANTITY,color=SUBSECTOR,log_y=False)" ] }, { "cell_type": "markdown", "id": "dc2fc550-7083-4890-b6ca-6829f50f6aa8", "metadata": {}, "source": [ "Looking by sector, it is easy to see why the forestry and land use sector is complex: it would dominate both in\n", "retention and in emission." ] }, { "cell_type": "code", "execution_count": 27, "id": "e96be295-8a31-465a-bbf6-52143001f337", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "alignmentgroup": "True", "hovertemplate": "subsector=forest-land-fires
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "forest-land-fires", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "forest-land-fires", "offsetgroup": "forest-land-fires", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "forestry-and-land-use" ], "xaxis": "x", "y": [ 19222980103.937088 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=forest-land-clearing
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "forest-land-clearing", "marker": { "color": "#EF553B", "pattern": { "shape": "" } }, "name": "forest-land-clearing", "offsetgroup": "forest-land-clearing", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "forestry-and-land-use" ], "xaxis": "x", "y": [ 17900851037.231804 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=road-transportation
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "road-transportation", "marker": { "color": "#00cc96", "pattern": { "shape": "" } }, "name": "road-transportation", "offsetgroup": "road-transportation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "transportation" ], "xaxis": "x", "y": [ 14989651642.286982 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=electricity-generation
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "electricity-generation", "marker": { "color": "#ab63fa", "pattern": { "shape": "" } }, "name": "electricity-generation", "offsetgroup": "electricity-generation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "power" ], "xaxis": "x", "y": [ 12950079321.432007 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=residential-onsite-fuel-usage
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "residential-onsite-fuel-usage", "marker": { "color": "#FFA15A", "pattern": { "shape": "" } }, "name": "residential-onsite-fuel-usage", "offsetgroup": "residential-onsite-fuel-usage", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "buildings" ], "xaxis": "x", "y": [ 10644718204.96972 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=shrubgrass-fires
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "shrubgrass-fires", "marker": { "color": "#19d3f3", "pattern": { "shape": "" } }, "name": "shrubgrass-fires", "offsetgroup": "shrubgrass-fires", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "forestry-and-land-use" ], "xaxis": "x", "y": [ 8064987215.256308 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=cropland-fires
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "cropland-fires", "marker": { "color": "#FF6692", "pattern": { "shape": "" } }, "name": "cropland-fires", "offsetgroup": "cropland-fires", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "agriculture" ], "xaxis": "x", "y": [ 4028594980.206557 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=net-shrubgrass
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "net-shrubgrass", "marker": { "color": "#B6E880", "pattern": { "shape": "" } }, "name": "net-shrubgrass", "offsetgroup": "net-shrubgrass", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "forestry-and-land-use" ], "xaxis": "x", "y": [ 3937558783.335973 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=net-forest-land
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "net-forest-land", "marker": { "color": "#FF97FF", "pattern": { "shape": "" } }, "name": "net-forest-land", "offsetgroup": "net-forest-land", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "forestry-and-land-use" ], "xaxis": "x", "y": [ 3099151479.85434 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=iron-and-steel
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "iron-and-steel", "marker": { "color": "#FECB52", "pattern": { "shape": "" } }, "name": "iron-and-steel", "offsetgroup": "iron-and-steel", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "manufacturing" ], "xaxis": "x", "y": [ 2876371103.393839 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=oil-and-gas-production
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "oil-and-gas-production", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "oil-and-gas-production", "offsetgroup": "oil-and-gas-production", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "fossil-fuel-operations" ], "xaxis": "x", "y": [ 2258459324.3493996 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=non-residential-onsite-fuel-usage
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "non-residential-onsite-fuel-usage", "marker": { "color": "#EF553B", "pattern": { "shape": "" } }, "name": "non-residential-onsite-fuel-usage", "offsetgroup": "non-residential-onsite-fuel-usage", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "buildings" ], "xaxis": "x", "y": [ 1639167825.7046826 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=oil-and-gas-transport
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "oil-and-gas-transport", "marker": { "color": "#00cc96", "pattern": { "shape": "" } }, "name": "oil-and-gas-transport", "offsetgroup": "oil-and-gas-transport", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "fossil-fuel-operations" ], "xaxis": "x", "y": [ 1575755434.9851868 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=cement
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "cement", "marker": { "color": "#ab63fa", "pattern": { "shape": "" } }, "name": "cement", "offsetgroup": "cement", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "manufacturing" ], "xaxis": "x", "y": [ 1515511397.5841324 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=oil-and-gas-refining
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "oil-and-gas-refining", "marker": { "color": "#FFA15A", "pattern": { "shape": "" } }, "name": "oil-and-gas-refining", "offsetgroup": "oil-and-gas-refining", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "fossil-fuel-operations" ], "xaxis": "x", "y": [ 976951265.2320362 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=forest-land-degradation
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "forest-land-degradation", "marker": { "color": "#19d3f3", "pattern": { "shape": "" } }, "name": "forest-land-degradation", "offsetgroup": "forest-land-degradation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "forestry-and-land-use" ], "xaxis": "x", "y": [ 867602834.0197109 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=chemicals
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "chemicals", "marker": { "color": "#FF6692", "pattern": { "shape": "" } }, "name": "chemicals", "offsetgroup": "chemicals", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "manufacturing" ], "xaxis": "x", "y": [ 563180202.2524868 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=international-shipping
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "international-shipping", "marker": { "color": "#B6E880", "pattern": { "shape": "" } }, "name": "international-shipping", "offsetgroup": "international-shipping", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "transportation" ], "xaxis": "x", "y": [ 561442930.4706753 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=international-aviation
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "international-aviation", "marker": { "color": "#FF97FF", "pattern": { "shape": "" } }, "name": "international-aviation", "offsetgroup": "international-aviation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "transportation" ], "xaxis": "x", "y": [ 526418515.44411427 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=lime
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "lime", "marker": { "color": "#FECB52", "pattern": { "shape": "" } }, "name": "lime", "offsetgroup": "lime", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "manufacturing" ], "xaxis": "x", "y": [ 425073909.34948826 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=domestic-shipping
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "domestic-shipping", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "domestic-shipping", "offsetgroup": "domestic-shipping", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "transportation" ], "xaxis": "x", "y": [ 387147472.33439684 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=domestic-aviation
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "domestic-aviation", "marker": { "color": "#EF553B", "pattern": { "shape": "" } }, "name": "domestic-aviation", "offsetgroup": "domestic-aviation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "transportation" ], "xaxis": "x", "y": [ 324575279.04927576 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=aluminum
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "aluminum", "marker": { "color": "#00cc96", "pattern": { "shape": "" } }, "name": "aluminum", "offsetgroup": "aluminum", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "manufacturing" ], "xaxis": "x", "y": [ 285293600.01787066 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=wetland-fires
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "wetland-fires", "marker": { "color": "#ab63fa", "pattern": { "shape": "" } }, "name": "wetland-fires", "offsetgroup": "wetland-fires", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "forestry-and-land-use" ], "xaxis": "x", "y": [ 274981099.0014777 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=petrochemical-steam-cracking
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "petrochemical-steam-cracking", "marker": { "color": "#FFA15A", "pattern": { "shape": "" } }, "name": "petrochemical-steam-cracking", "offsetgroup": "petrochemical-steam-cracking", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "manufacturing" ], "xaxis": "x", "y": [ 274335614.4733184 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=coal-mining
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "coal-mining", "marker": { "color": "#19d3f3", "pattern": { "shape": "" } }, "name": "coal-mining", "offsetgroup": "coal-mining", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "fossil-fuel-operations" ], "xaxis": "x", "y": [ 136786459.55694064 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=food-beverage-tobacco
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "food-beverage-tobacco", "marker": { "color": "#FF6692", "pattern": { "shape": "" } }, "name": "food-beverage-tobacco", "offsetgroup": "food-beverage-tobacco", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "manufacturing" ], "xaxis": "x", "y": [ 105591766.34700495 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=copper-mining
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "copper-mining", "marker": { "color": "#B6E880", "pattern": { "shape": "" } }, "name": "copper-mining", "offsetgroup": "copper-mining", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "mineral-extraction" ], "xaxis": "x", "y": [ 79143689.27682821 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=other-chemicals
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "other-chemicals", "marker": { "color": "#FF97FF", "pattern": { "shape": "" } }, "name": "other-chemicals", "offsetgroup": "other-chemicals", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "manufacturing" ], "xaxis": "x", "y": [ 74014653.69212107 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=iron-mining
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "iron-mining", "marker": { "color": "#FECB52", "pattern": { "shape": "" } }, "name": "iron-mining", "offsetgroup": "iron-mining", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "mineral-extraction" ], "xaxis": "x", "y": [ 61037001.531346105 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=textiles-leather-apparel
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "textiles-leather-apparel", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "textiles-leather-apparel", "offsetgroup": "textiles-leather-apparel", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "manufacturing" ], "xaxis": "x", "y": [ 45097333.2411402 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=pulp-and-paper
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "pulp-and-paper", "marker": { "color": "#EF553B", "pattern": { "shape": "" } }, "name": "pulp-and-paper", "offsetgroup": "pulp-and-paper", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "manufacturing" ], "xaxis": "x", "y": [ 43125897.26306621 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=other-metals
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "other-metals", "marker": { "color": "#00cc96", "pattern": { "shape": "" } }, "name": "other-metals", "offsetgroup": "other-metals", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "manufacturing" ], "xaxis": "x", "y": [ 37832929.83312549 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=glass
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "glass", "marker": { "color": "#ab63fa", "pattern": { "shape": "" } }, "name": "glass", "offsetgroup": "glass", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "manufacturing" ], "xaxis": "x", "y": [ 36700146.62766724 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=other-manufacturing
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "other-manufacturing", "marker": { "color": "#FFA15A", "pattern": { "shape": "" } }, "name": "other-manufacturing", "offsetgroup": "other-manufacturing", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "manufacturing" ], "xaxis": "x", "y": [ 17304732.34304842 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=bauxite-mining
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "bauxite-mining", "marker": { "color": "#19d3f3", "pattern": { "shape": "" } }, "name": "bauxite-mining", "offsetgroup": "bauxite-mining", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "mineral-extraction" ], "xaxis": "x", "y": [ 9115496.738281574 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=water-reservoirs
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "water-reservoirs", "marker": { "color": "#FF6692", "pattern": { "shape": "" } }, "name": "water-reservoirs", "offsetgroup": "water-reservoirs", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "forestry-and-land-use" ], "xaxis": "x", "y": [ 3066791.092056217 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=solid-waste-disposal
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "solid-waste-disposal", "marker": { "color": "#B6E880", "pattern": { "shape": "" } }, "name": "solid-waste-disposal", "offsetgroup": "solid-waste-disposal", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "waste" ], "xaxis": "x", "y": [ 618125.2465617716 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=enteric-fermentation-cattle-pasture
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "enteric-fermentation-cattle-pasture", "marker": { "color": "#FF97FF", "pattern": { "shape": "" } }, "name": "enteric-fermentation-cattle-pasture", "offsetgroup": "enteric-fermentation-cattle-pasture", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "agriculture" ], "xaxis": "x", "y": [ 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=industrial-wastewater-treatment-and-discharge
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "industrial-wastewater-treatment-and-discharge", "marker": { "color": "#FECB52", "pattern": { "shape": "" } }, "name": "industrial-wastewater-treatment-and-discharge", "offsetgroup": "industrial-wastewater-treatment-and-discharge", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "waste" ], "xaxis": "x", "y": [ 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=domestic-wastewater-treatment-and-discharge
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "domestic-wastewater-treatment-and-discharge", "marker": { "color": "#636efa", "pattern": { "shape": "" } }, "name": "domestic-wastewater-treatment-and-discharge", "offsetgroup": "domestic-wastewater-treatment-and-discharge", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "waste" ], "xaxis": "x", "y": [ 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=manure-left-on-pasture-cattle
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "manure-left-on-pasture-cattle", "marker": { "color": "#EF553B", "pattern": { "shape": "" } }, "name": "manure-left-on-pasture-cattle", "offsetgroup": "manure-left-on-pasture-cattle", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "agriculture" ], "xaxis": "x", "y": [ 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=manure-management-cattle-operation
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "manure-management-cattle-operation", "marker": { "color": "#00cc96", "pattern": { "shape": "" } }, "name": "manure-management-cattle-operation", "offsetgroup": "manure-management-cattle-operation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "agriculture" ], "xaxis": "x", "y": [ 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=rice-cultivation
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "rice-cultivation", "marker": { "color": "#ab63fa", "pattern": { "shape": "" } }, "name": "rice-cultivation", "offsetgroup": "rice-cultivation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "agriculture" ], "xaxis": "x", "y": [ 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=enteric-fermentation-cattle-operation
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "enteric-fermentation-cattle-operation", "marker": { "color": "#FFA15A", "pattern": { "shape": "" } }, "name": "enteric-fermentation-cattle-operation", "offsetgroup": "enteric-fermentation-cattle-operation", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "agriculture" ], "xaxis": "x", "y": [ 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=synthetic-fertilizer-application
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "synthetic-fertilizer-application", "marker": { "color": "#19d3f3", "pattern": { "shape": "" } }, "name": "synthetic-fertilizer-application", "offsetgroup": "synthetic-fertilizer-application", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "agriculture" ], "xaxis": "x", "y": [ 0 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=net-wetland
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "net-wetland", "marker": { "color": "#FF6692", "pattern": { "shape": "" } }, "name": "net-wetland", "offsetgroup": "net-wetland", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "forestry-and-land-use" ], "xaxis": "x", "y": [ -319832951.8489239 ], "yaxis": "y" }, { "alignmentgroup": "True", "hovertemplate": "subsector=removals
sector=%{x}
emissions_quantity=%{y}", "legendgroup": "removals", "marker": { "color": "#B6E880", "pattern": { "shape": "" } }, "name": "removals", "offsetgroup": "removals", "orientation": "v", "showlegend": true, "textposition": "auto", "type": "bar", "x": [ "forestry-and-land-use" ], "xaxis": "x", "y": [ -39611142317.46093 ], "yaxis": "y" } ], "layout": { "barmode": "relative", "legend": { "title": { "text": "subsector" }, "tracegroupgap": 0 }, "margin": { "t": 60 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "white", "showlakes": true, "showland": true, "subunitcolor": "#C8D4E3" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "white", "polar": { "angularaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" }, "bgcolor": "white", "radialaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "yaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "zaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "baxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "bgcolor": "white", "caxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 } } }, "xaxis": { "anchor": "y", "domain": [ 0, 1 ], "title": { "text": "sector" } }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ], "title": { "text": "emissions_quantity" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "px.bar(\n", "(sdf_gy\n", ".group_by(c_sector, c_subsector)\n", " .agg(c_emissions_quantity.sum())\n", " .sort([c_emissions_quantity], descending=True)\n", " .collect()\n", ")\n", " ,x=SECTOR, y=EMISSIONS_QUANTITY,color=SUBSECTOR,log_y=False)" ] }, { "cell_type": "markdown", "id": "5d43da77-d964-4e3d-8a69-2950c3acc309", "metadata": {}, "source": [ "## Conclusion\n", "\n", "In this section, we saw:\n", "- how to access the Climate TRACE dataset in a modern data processing tool (Polars)\n", "- how to produce high-level statistics per country and per sector\n", "\n", "From the data, it should be clear that tackling emissions is a global issue, in which a few countries dominate.\n", "Some countries with large economic outputs (France, The Netherlands) can have minimal emissions, in part because they have low-emission means of producing electricity and they have outsourced their industries. Some others with comparably small economic outputs or populations (ex: Mozambique) have a disproportionate impact because of the changes occurring in their ecosystems.\n", "\n", "```{seealso} Exercise\n", "Take your country look at the sources of emissions and explore how the different gases provide different perspectives.\n", "```" ] }, { "cell_type": "code", "execution_count": null, "id": "6aef1b12-4dc1-4152-85c3-9425adcc5789", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" } }, "nbformat": 4, "nbformat_minor": 5 }