Skip to main content

Improved Global Warming Potential

Project description

igwp - Improved Global Warming Potential (IGWP)

A Global Warming Potential model with improved support for short-lived climate pollutions (SLCPs).

Why an improved version

The Global Warming Potential (GWP) is a commonly used, simple model to "normalize" the warming impact of different climate pollutants to $CO_2$ equivalents. This approach works well for long-lived climate pollutants (LLCPs) but fails for short-lived climate pollutants (SLCPs). The improved version IGWP accounts much better for impacts of SLCPs.

Scientific background

This project:

The maths

{% raw %} $$IGWP = GWP_H * (r * \frac{\Delta E_{SLCP}}{\Delta t} * H + s * E_{SLCP})$$ {% endraw %}

with:

  • $IGWP$ - Improved Global Warming Potential
  • $GWP_H$ - Global Warming Potential for period $H$ (e.g. $GWP_{100}$ for 100 years)
  • $H$ time-horizon (commonly 100 years)
  • $r$ - flow term faction, found to be 0.75 with linear regression
  • $s$ - stock term fraction, found to be 0.25 with linear regression, condition: $r + s = 1$
  • $\Delta E_{SLCP}$ - change of rate of short-lived climate pollutant
  • ${\Delta t}$ - time difference for $\Delta E_{SLCP}$, typical value: 20 years
  • $E_{SLCP}$ emission short-lived climate pollutant for investigated year

Install

With pip:

pip install igwp

With conda:

conda instal -c hydrocomputing igwp

Plot all results

This plots shows the differences between GWP, GWP*, and IGWP.

from igwp.core import get_emission_data_paths, make_gwps_improved
from igwp.plotting import plot_all

rcp_scenarios = get_emission_data_paths()

plot_all(rcp_scenarios, make_df=make_gwps_improved)

png

This plot reproduces the Fig.1 in the paper descriobung IGWP (although with this name, https://www.nature.com/articles/s41612-019-0086-4).

Show some values

The results for the emissions based on GWP, GWP*, and IGWP for scenario RCP 2.6 for the years 2000 through 2020:

from igwp.core import make_gwps_improved

paths = get_emission_data_paths()

df26 = make_gwps_improved(file_name=paths['RCP 2.6'])
df26.loc[2000:2020]
<style scoped> .dataframe tbody tr th:only-of-type { vertical-align: middle; }
.dataframe tbody tr th {
    vertical-align: top;
}

.dataframe thead th {
    text-align: right;
}
</style>
$CH_4$ GWP $CH_4$ GWP* $CH_4$ IGWP
Years
2000 8.405793 -0.896435 1.429122
2001 8.495458 -0.924463 1.430517
2002 8.584206 -0.957068 1.428251
2003 8.672059 -0.994154 1.422399
2004 8.759072 -1.035440 1.413188
2005 8.845276 -1.080772 1.400740
2006 8.961719 -0.974904 1.509252
2007 9.077956 -0.870071 1.616936
2008 9.193784 -0.767278 1.722987
2009 9.309613 -0.664485 1.829040
2010 9.425441 -0.561693 1.935091
2011 9.201847 -1.113669 1.465210
2012 8.978253 -1.665646 0.995329
2013 8.754659 -2.217622 0.525448
2014 8.531065 -2.769599 0.055567
2015 8.307471 -3.321576 -0.414314
2016 8.083877 -3.873554 -0.884196
2017 7.860283 -4.425530 -1.354077
2018 7.636689 -4.977507 -1.823958
2019 7.413095 -5.529483 -2.293839
2020 7.189501 -6.081460 -2.763720

Add emissions for some years and see effects

Let's assume very strong increases of $CH_4$ emissions for the years 2005 through 2007 and see what impact ths has on the three different models. (Units of additional emssions are Gt $CH_4$ / yr).

import pandas as pd 

additional_emssions = pd.Series([0.1, 0.5, 0.2], index=[2005, 2006, 2007])
additional_emssions.name = 'CH_4 [Gt/yr]'
additional_emssions.index.name = 'Year'
additional_emssions
Year
2005    0.1
2006    0.5
2007    0.2
Name: CH_4 [Gt/yr], dtype: float64
df26 = make_gwps_improved(file_name=paths['RCP 2.6'], additional_emssions=additional_emssions)
df26.loc[2000:2010]
<style scoped> .dataframe tbody tr th:only-of-type { vertical-align: middle; }
.dataframe tbody tr th {
    vertical-align: top;
}

.dataframe thead th {
    text-align: right;
}
</style>
$CH_4$ GWP $CH_4$ GWP* $CH_4$ IGWP
Years
2000 8.405793 -0.896435 1.429122
2001 8.495458 -0.924463 1.430517
2002 8.584206 -0.957068 1.428251
2003 8.672059 -0.994154 1.422399
2004 8.759072 -1.035440 1.413188
2005 11.645276 12.919228 12.600740
2006 22.961719 69.025096 57.509252
2007 14.677956 27.129929 24.016936
2008 9.193784 -0.767278 1.722987
2009 9.309613 -0.664485 1.829040
2010 9.425441 -0.561693 1.935091

Notice the different impacts of this $CH_4$ "flush" on these GWP models.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

igwp-0.0.1.tar.gz (215.7 kB view hashes)

Uploaded Source

Built Distribution

igwp-0.0.1-py3-none-any.whl (210.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page