Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • twr1m15/fridayFagPackets
  • ba1e12/fridayFagPackets
  • SERG/fridayFagPackets
3 results
Show changes
Commits on Source (8)
source diff could not be displayed: it is too large. Options to address this: view the blob.
......@@ -2,7 +2,7 @@
A repo for our [fridayFagPacket](https://energy.soton.ac.uk/friday-fag-packets/) data notes (numbers that could have been done on the back of one and should probably come with a similar health warning)
* 2022-10-06 - [GDP & emissions - degrowthing or decoupling?](UK_GDP_emissions.html)
* 2022-10-06 - [GDP & emissions - degrowthing or decoupling?](GDP_emissions_trends.html)
* 2020-10-16 - [retrofit or bust](retrofitOrBust.html)
* 2018-06-15 - [UK household power demand and #worldcup2018](https://energy.soton.ac.uk/uk-household-power-demand-and-worldcup2018/)
* 2018-05-30 - [Super Saturday and spikes in demand](https://energy.soton.ac.uk/super-saturday-and-spikes-in-demand/)
......
source diff could not be displayed: it is too large. Options to address this: view the blob.
source diff could not be displayed: it is too large. Options to address this: view the blob.
......@@ -18,9 +18,14 @@ editor: visual
library(data.table)
library(here)
library(ggplot2)
library(plotly)
library(skimr)
```
# Friday fagpackets
One of a [series](https://dataknut.github.io/fridayFagPackets/)...
# What's all this about de-growth?
\<sigh\>
......@@ -37,19 +42,27 @@ dt_pc <- data.table::fread(here::here("data", "co2-emissions-and-gdp-per-capita.
```
# UK: absolute GDP & emissions
Who do we care about?
```{r}
#| label: selectEntities
entities_of_interest <- c("United Kingdom", "United States", "New Zealand", "China")
```
# Absolute GDP & emissions
First we'll try production emissions.
```{r}
#| label: fig-ukPlotProd
#| fig-cap: UK GDP vs production emissions over time.
#| label: fig-SelectedProdPlot
#| fig-cap: GDP vs production emissions over time (selected entities).
#| warning: false
plotDT <- dt_abs[Entity == "United Kingdom"]
plotDT <- dt_abs[Entity %in% entities_of_interest]
ggplot2::ggplot(plotDT, aes(y = as.numeric(`GDP, PPP (constant 2017 international $)`)/1000000000,
x = as.numeric(`Annual CO2 emissions`)/1000000,
colour = Entity,
alpha = Year)) +
geom_point() +
labs(x = "Annual CO2 emissions (production-based, gT)",
......@@ -61,71 +74,121 @@ Next we'll try consumption emissions.
Note that 2020 consumption-based emissions data is missing so you don't see the downtick
```{r}
#| label: fig-ukPlotCons
#| fig-cap: UK GDP vs consumption emissions over time.
#| label: fig-SelectedConsPlot
#| fig-cap: GDP vs consumotion emissions over time (selected entities).
#| warning: false
plotDT <- dt_abs[Entity == "United Kingdom"]
plotDT <- dt_abs[Entity %in% entities_of_interest]
ggplot2::ggplot(plotDT, aes(y = as.numeric(`GDP, PPP (constant 2017 international $)`)/1000000000,
x = as.numeric(`Annual consumption-based CO2 emissions`)/1000000,
colour = Entity,
alpha = Year)) +
geom_point() +
labs(x = "Annual CO2 emissions (consumption-based, gT)",
y = "GDP $bn (constant 2017 $)")
```
# UK: per capita GDP & emissions
# Per capita GDP & emissions
Since we'll be dividing everything pairwise by the same denominator, nothing much should change...
Since we'll be dividing everything pairwise by the same denominator, nothing much should change... but the plots should be much clearer as we've removed the affect of population size
First we'll try production emissions.
```{r}
#| label: fig-ukPlotProdPcc
#| fig-cap: UK GDP vs production emissions over time.
#| label: fig-SelectedProdPlotPcc
#| fig-cap: GDP vs production emissions over time (selected entities)
#| warning: false
plotDT <- dt_pc[Entity == "United Kingdom"]
plotDT <- dt_pc[Entity %in% entities_of_interest]
ggplot2::ggplot(plotDT, aes(y = as.numeric(`GDP per capita, PPP (constant 2017 international $)`),
p <- ggplot2::ggplot(plotDT, aes(y = as.numeric(`GDP per capita, PPP (constant 2017 international $)`),
x = as.numeric(`Annual CO2 emissions (per capita)`),
colour = Entity,
alpha = Year)) +
geom_point() +
theme(legend.position = "none") +
labs(x = "Annual CO2 emissions per capita (production-based, T)",
y = "GDP per capita (constant 2017 $)")
```
Let's repeat that for all countries. Hover over the dots to see which is which #YMMV
```{r}
#| label: fig-ProdPlotPcc
#| fig-cap: GDP vs production emissions over time (all entities)
#| warning: false
#plotDT <- dt_pc[Entity %in% entities_of_interest]
plotDT <- dt_pc # for fun
p <- ggplot2::ggplot(plotDT, aes(y = as.numeric(`GDP per capita, PPP (constant 2017 international $)`),
x = as.numeric(`Annual CO2 emissions (per capita)`),
colour = Entity,
alpha = Year)) +
geom_point() +
theme(legend.position = "none") +
labs(x = "Annual CO2 emissions per capita (production-based, T)",
y = "GDP per capita (constant 2017 $)")
plotly::ggplotly(p)
```
Next we'll try consumption emissions.
Note that 2020 consumption-based emissions data is missing so you don't see the downtick
Note that 2020 consumption-based emissions data is missing so you don't see the down-tick
```{r}
#| label: fig-ukPlotConsPcc
#| fig-cap: UK GDP vs consumption emissions over time.
#| label: fig-SelectedConsPlotPcc
#| fig-cap: GDP vs consumption emissions over time (selected entities).
#| warning: false
plotDT <- dt_pc[Entity == "United Kingdom"]
plotDT <- dt_pc[Entity %in% entities_of_interest]
ggplot2::ggplot(plotDT, aes(y = as.numeric(`GDP per capita, PPP (constant 2017 international $)`),
x = as.numeric(`Annual consumption-based CO2 emissions (per capita)`),
colour = Entity,
alpha = Year)) +
geom_point() +
labs(x = "Annual CO2 emissions per capita (consumption-based, T)",
y = "GDP per capita (constant 2017 $)")
```
Let's repeat that for all countries. Hover over the dots to see which is which #YMMV
```{r}
#| label: fig-ConsPlotPcc
#| fig-cap: GDP vs consumption emissions over time (all entities)
#| warning: false
#plotDT <- dt_pc[Entity %in% entities_of_interest]
plotDT <- dt_pc # for fun
p <- ggplot2::ggplot(plotDT, aes(y = as.numeric(`GDP per capita, PPP (constant 2017 international $)`),
x = as.numeric(`Annual consumption-based CO2 emissions (per capita)`),
colour = Entity,
alpha = Year)) +
geom_point() +
labs(x = "Annual CO2 emissions per capita (consumption-based, T)",
y = "GDP per capita (constant 2017 $)")
plotly::ggplotly(p)
```
# Efficiency
How about looking at efficency gC0\~2 per \$ GDP?
How about looking at efficency gC02e per \$ GDP?
Following <https://timjackson.org.uk/earth-vs-growth/> ...
```{r}
#| label: selectProduction
dt_abs[, `Emissions intensity` := `Annual CO2 emissions`/`GDP, PPP (constant 2017 international $)`*1000*1000]
entities_of_interest <- c("United Kingdom", "United States", "World", "New Zealand", "China")
```
```{r}
entities_of_interest <- c("United Kingdom", "United States", "World", "New Zealand")
#| label: selectAndPlotProduction
plotDT <- dt_abs[Entity %in% entities_of_interest]
ggplot2::ggplot(plotDT, aes(Year, `Emissions intensity`, colour = Entity)) +
......@@ -137,13 +200,15 @@ ggplot2::ggplot(plotDT, aes(Year, `Emissions intensity`, colour = Entity)) +
For the UK, let's say c. 300g/\$ in 1995 reducing to 200g/\$ in 2010. So 15 years. To go from 200g/\$ to zero at the same rate would take approx. 30 years. So net-zero by 2050?
Regardless of whether that aligns with science-based targets (i.e. absolute zero, sooner) ... what happens if the economy grows ... by say 2-3% per year? ... would that force total emissions up (fixed intensity) or result in efficiency gains (lower intensity)?
Regardless of whether that aligns with [science-based targets](https://sciencebasedtargets.org/how-it-works) (i.e. absolute zero by 2044) ... what happens if the economy grows ... by say 2-3% per year? ... would that force total emissions up (fixed intensity) or result in efficiency gains (lower intensity)?
```{r}
#| label: selectCons
dt_abs[, `Emissions intensity (consumption-based)` := `Annual consumption-based CO2 emissions`/`GDP, PPP (constant 2017 international $)`*1000*1000]
```
```{r}
#| label: selectAndPlotConsumption
plotDT <- dt_abs[Entity %in% entities_of_interest]
ggplot2::ggplot(plotDT, aes(Year, `Emissions intensity (consumption-based)`, colour = Entity)) +
......
# run quarto render
library(quarto)
quarto_render(input = here::here("gdpAndEmissions","GDP_emissions_trends.qmd")
)
# should not need this - render should be able to do it?
file.copy(from = here::here("gdpAndEmissions","GDP_emissions_trends.html"),
to = here::here("docs","GDP_emissions_trends.html"),overwrite = TRUE
)
\ No newline at end of file