Skip to main content

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.

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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file igwp-0.0.1.tar.gz.

File metadata

  • Download URL: igwp-0.0.1.tar.gz
  • Upload date:
  • Size: 215.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.6.0.post20210108 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for igwp-0.0.1.tar.gz
Algorithm Hash digest
SHA256 8d1dc66db598011f91595e96fca968e5c9adaffbb91e5bdf2bfbe11b94876f8e
MD5 c28b95f5fb7ac14d2add1758409b2409
BLAKE2b-256 e3b72283802c1bf2cbf6d560a571f93aa10804743a3f0ff347707ba654571269

See more details on using hashes here.

File details

Details for the file igwp-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: igwp-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 210.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.6.0.post20210108 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for igwp-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 28e8d2fd7a04e0afc422c2c33026d3c3dc6bd07f2e86fe5291c41ee8a7e9c912
MD5 8cd4e718e6329b78c18543a079e30e6e
BLAKE2b-256 659f7ce12911bd71a90e8fcd766e5a97f6918cd5de5dc186b1352d990f81dd11

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 files

0.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page