Paris Agreement: Entry Into Force

In [1]:
%matplotlib inline
In [2]:
import matplotlib.pyplot as plt
plt.style.use("ggplot")
from pandas_datapackage_reader import read_datapackage
from countrygroups import EUROPEAN_UNION

Reading in the Data Package with ratification status of the Paris Agreement.

In [3]:
parties = read_datapackage("https://github.com/openclimatedata/paris-agreement-entry-into-force")
In [4]:
parties.head()
Out[4]:
Name Signature Ratification-Acceptance-Approval Kind Date-Of-Effect Emissions Percentage Year
Code
AFG Afghanistan 2016-04-22 2017-02-15 Ratification 2017-03-17 19328 0.05 2005
ALB Albania 2016-04-22 2016-09-21 Ratification 2016-11-04 6717 0.02 2000
DZA Algeria 2016-04-22 2016-10-20 Ratification 2016-11-19 111023 0.30 2000
AND Andorra 2016-04-22 2017-03-24 Ratification 2017-04-23 522 0.00 2011
AGO Angola 2016-04-22 NaT NaN NaT 61611 0.17 2005
In [5]:
parties.count()
Out[5]:
Name                                197
Signature                           195
Ratification-Acceptance-Approval    160
Kind                                160
Date-Of-Effect                      160
Emissions                           191
Percentage                          191
Year                                191
dtype: int64

The European Union is contained both as a block and as single parties so let's look at EU parties only.

In [6]:
print(EUROPEAN_UNION)
assert(len(EUROPEAN_UNION) == 28)
['AUT', 'BEL', 'BGR', 'CYP', 'CZE', 'DEU', 'DNK', 'ESP', 'EST', 'FIN', 'FRA', 'GBR', 'GRC', 'HRV', 'HUN', 'IRL', 'ITA', 'LTU', 'LUX', 'LVA', 'MLT', 'NLD', 'POL', 'PRT', 'ROU', 'SVK', 'SVN', 'SWE']
In [7]:
parties.loc["EUU"]
Out[7]:
Name                                     European Union
Signature                           2016-04-22 00:00:00
Ratification-Acceptance-Approval    2016-10-05 00:00:00
Kind                                       Ratification
Date-Of-Effect                      2016-11-04 00:00:00
Emissions                                    4.4884e+06
Percentage                                         12.1
Year                                               2013
Name: EUU, dtype: object
In [8]:
parties.loc[EUROPEAN_UNION]
Out[8]:
Name Signature Ratification-Acceptance-Approval Kind Date-Of-Effect Emissions Percentage Year
Code
AUT Austria 2016-04-22 2016-10-05 Ratification 2016-11-04 79599 0.21 2013
BEL Belgium 2016-04-22 2017-04-06 Ratification 2017-05-06 119424 0.32 2013
BGR Bulgaria 2016-04-22 2016-11-29 Ratification 2016-12-29 55893 0.15 2013
CYP Cyprus 2016-04-22 2017-01-04 Ratification 2017-02-03 8319 0.02 2013
CZE Czechia 2016-04-22 NaT NaN NaT 127144 0.34 2013
DEU Germany 2016-04-22 2016-10-05 Ratification 2016-11-04 950673 2.56 2013
DNK Denmark 2016-04-22 2016-11-01 Approval 2016-12-01 56001 0.15 2013
ESP Spain 2016-04-22 2017-01-12 Ratification 2017-02-11 322003 0.87 2013
EST Estonia 2016-04-22 2016-11-04 Ratification 2016-12-04 21741 0.06 2013
FIN Finland 2016-04-22 2016-11-14 Ratification 2016-12-14 62989 0.17 2013
FRA France 2016-04-22 2016-10-05 Ratification 2016-11-04 496761 1.34 2013
GBR United Kingdom of Great Britain and Northern I... 2016-04-22 2016-11-18 Ratification 2016-12-18 575696 1.55 2013
GRC Greece 2016-04-22 2016-10-14 Ratification 2016-11-13 105111 0.28 2013
HRV Croatia 2016-04-22 2017-05-24 Ratification 2017-06-23 24493 0.07 2013
HUN Hungary 2016-04-22 2016-10-05 Ratification 2016-11-04 57428 0.15 2013
IRL Ireland 2016-04-22 2016-11-04 Ratification 2016-12-04 58755 0.16 2013
ITA Italy 2016-04-22 2016-11-11 Ratification 2016-12-11 437268 1.18 2013
LTU Lithuania 2016-04-22 2017-02-02 Ratification 2017-03-04 19946 0.05 2013
LUX Luxembourg 2016-04-22 2016-11-04 Ratification 2016-12-04 11142 0.03 2013
LVA Latvia 2016-04-22 2017-03-16 Ratification 2017-04-15 10914 0.03 2013
MLT Malta 2016-04-22 2016-10-05 Ratification 2016-11-04 2788 0.01 2013
NLD Netherlands 2016-04-22 2017-07-28 Acceptance 2017-08-27 195807 0.53 2013
POL Poland 2016-04-22 2016-10-07 Ratification 2016-11-06 394892 1.06 2013
PRT Portugal 2016-04-22 2016-10-05 Ratification 2016-11-04 65071 0.18 2013
ROU Romania 2016-04-22 2017-06-01 Ratification 2017-07-01 110928 0.30 2013
SVK Slovakia 2016-04-22 2016-10-05 Ratification 2016-11-04 43679 0.12 2013
SVN Slovenia 2016-04-22 2016-12-16 Ratification 2017-01-15 18166 0.05 2013
SWE Sweden 2016-04-22 2016-10-13 Ratification 2016-11-12 55774 0.15 2013

For the emissions shares the last available data submitted to the UNFCCC was used.

In [9]:
parties.Year.hist(bins=25 )
plt.title("Distribution of submission years");

And a look at how emissions are distributed, many countries with small shares.

In [10]:
parties.Percentage.hist(bins=20)
plt.title("Distribution of emissions shares for Entry Into Force");
In [11]:
not_ratified = parties[parties["Ratification-Acceptance-Approval"].isnull() != False]
ratified = parties[parties["Ratification-Acceptance-Approval"].isnull() == False]

Sum of emissions of parties that have ratified, subtracting EU as a group to avoid double-counting.

In [12]:
print(ratified.Percentage.sum() - parties.loc["EUU"].Percentage)
86.32

A list of the ten highest emitters who have not yet ratified.

In [13]:
not_ratified.sort_values("Emissions", ascending=False).head(10)
Out[13]:
Name Signature Ratification-Acceptance-Approval Kind Date-Of-Effect Emissions Percentage Year
Code
RUS Russian Federation 2016-04-22 NaT NaN NaT 2.79943e+06 7.53 2013
IRN Iran (Islamic Republic of) 2016-04-22 NaT NaN NaT 483669 1.30 2000
TUR Turkey 2016-04-22 NaT NaN NaT 459102 1.24 2013
ECU Ecuador 2016-07-26 NaT NaN NaT 247990 0.67 2006
UZB Uzbekistan 2017-04-19 NaT NaN NaT 199837 0.54 2005
COL Colombia 2016-04-22 NaT NaN NaT 153885 0.41 2004
CZE Czechia 2016-04-22 NaT NaN NaT 127144 0.34 2013
SYR Syrian Arab Republic NaT NaT NaN NaT 79070 0.21 2005
IRQ Iraq 2016-12-08 NaT NaN NaT 72658 0.20 1997
AGO Angola 2016-04-22 NaT NaN NaT 61611 0.17 2005