From 3e27c6938fdb9f52c70bc5ee36cee74aded25d76 Mon Sep 17 00:00:00 2001 From: Daniel Huppmann Date: Mon, 13 Jun 2022 12:14:38 +0200 Subject: [PATCH 1/3] Update GWP factors to use globalwarmingpotentials v0.9.3 --- iam_units/data/emissions/AR4GWP100.txt | 1 - iam_units/data/emissions/AR5CCFGWP100.txt | 1 - iam_units/data/emissions/AR5GWP100.txt | 2 - iam_units/data/emissions/AR6GTP100.txt | 100 ++++++++++++++++++++++ iam_units/data/emissions/AR6GWP100.txt | 5 +- iam_units/data/emissions/AR6GWP20.txt | 100 ++++++++++++++++++++++ iam_units/data/emissions/AR6GWP500.txt | 100 ++++++++++++++++++++++ iam_units/data/emissions/metrics.txt | 3 + iam_units/data/emissions/species.txt | 1 - iam_units/emissions.py | 14 ++- 10 files changed, 316 insertions(+), 11 deletions(-) create mode 100644 iam_units/data/emissions/AR6GTP100.txt create mode 100644 iam_units/data/emissions/AR6GWP20.txt create mode 100644 iam_units/data/emissions/AR6GWP500.txt diff --git a/iam_units/data/emissions/AR4GWP100.txt b/iam_units/data/emissions/AR4GWP100.txt index f606f9f..a1280a6 100644 --- a/iam_units/data/emissions/AR4GWP100.txt +++ b/iam_units/data/emissions/AR4GWP100.txt @@ -59,7 +59,6 @@ a_HFE347pcf2 = 580.0 a_HFE356pcc3 = 110.0 a_HFE4310pccc124 = 1870.0 - a_HFE449sl = 297.0 a_HFE569sf2 = 59.0 a_Halon1211 = 1890.0 a_Halon1301 = 7140.0 diff --git a/iam_units/data/emissions/AR5CCFGWP100.txt b/iam_units/data/emissions/AR5CCFGWP100.txt index ca95608..67ad67a 100644 --- a/iam_units/data/emissions/AR5CCFGWP100.txt +++ b/iam_units/data/emissions/AR5CCFGWP100.txt @@ -85,7 +85,6 @@ a_HFE365mcf3 = 1 a_HFE374pc2 = 758 a_HFE4310pccc124 = 3353 - a_HFE449sl = 509 a_HFE569sf2 = 69 a_Halon1201 = 454 a_Halon1202 = 280 diff --git a/iam_units/data/emissions/AR5GWP100.txt b/iam_units/data/emissions/AR5GWP100.txt index 53ce240..3fcf4af 100644 --- a/iam_units/data/emissions/AR5GWP100.txt +++ b/iam_units/data/emissions/AR5GWP100.txt @@ -82,10 +82,8 @@ a_HFE356pcc3 = 413.0 a_HFE356pcf2 = 719.0 a_HFE356pcf3 = 446.0 - a_HFE365mcf3 = 1.0 a_HFE374pc2 = 627.0 a_HFE4310pccc124 = 2820.0 - a_HFE449sl = 421.0 a_HFE569sf2 = 57.0 a_Halon1201 = 376.0 a_Halon1211 = 1750.0 diff --git a/iam_units/data/emissions/AR6GTP100.txt b/iam_units/data/emissions/AR6GTP100.txt new file mode 100644 index 0000000..5f986cb --- /dev/null +++ b/iam_units/data/emissions/AR6GTP100.txt @@ -0,0 +1,100 @@ +# This file was generated using: +# python -m iam_units.update emissions +# DO NOT ALTER THIS FILE MANUALLY! + +@context(_a=NaN) AR6GTP100 + [mass] -> [_GWP]: value * (_a * _gwp / kg) + [_GWP] -> [mass]: value / (_a * _gwp / kg) + [mass] / [time] -> [_GWP] / [time]: value * (_a * _gwp / kg) + [_GWP] / [time] -> [mass] / [time]: value / (_a * _gwp / kg) + [mass] / [time] / [area] -> [_GWP] / [time] / [area]: value * (_a * _gwp / kg) + [_GWP] / [time] / [area] -> [mass] / [time] / [area]: value / (_a * _gwp / kg) + + + a_C10F18 = 9010.0 + a_C2F6 = 15200.0 + a_C3F8 = 11200.0 + a_C4F10 = 12100.0 + a_C5F12 = 11200.0 + a_C6F14 = 10500.0 + a_C7F16 = 10200.0 + a_C8F18 = 10000.0 + a_CCl4 = 810.0 + a_CF4 = 9050.0 + a_CFC11 = 3540.0 + a_CFC113 = 5210.0 + a_CFC114 = 9410.0 + a_CFC115 = 11000.0 + a_CFC12 = 10400.0 + a_CFC13 = 18800.0 + a_CH2Cl2 = 2.01 + a_CH3Br = 0.438 + a_CH3CCl3 = 29.7 + a_CH3Cl = 1.0 + a_CH4 = 5.38 + a_CHCl3 = 3.72 + a_HCFC123 = 16.4 + a_HCFC124 = 110.0 + a_HCFC141b = 162.0 + a_HCFC142b = 514.0 + a_HCFC21 = 29.0 + a_HCFC22 = 379.0 + a_HCFC225ca = 24.8 + a_HCFC225cb = 105.0 + a_HCFE235da2 = 98.4 + a_HFC125 = 1300.0 + a_HFC134 = 239.0 + a_HFC134a = 306.0 + a_HFC143 = 66.6 + a_HFC143a = 3250.0 + a_HFC152 = 3.89 + a_HFC152a = 29.8 + a_HFC161 = 0.872 + a_HFC227ea = 1490.0 + a_HFC23 = 15100.0 + a_HFC236cb = 268.0 + a_HFC236ea = 288.0 + a_HFC236fa = 8870.0 + a_HFC245ca = 146.0 + a_HFC245fa = 180.0 + a_HFC32 = 142.0 + a_HFC365mfc = 172.0 + a_HFC41 = 24.6 + a_HFC4310mee = 347.0 + a_HFE125 = 13100.0 + a_HFE134 = 2060.0 + a_HFE143a = 113.0 + a_HFE227ea = 4440.0 + a_HFE236ca12 = 1860.0 + a_HFE236ea2 = 521.0 + a_HFE236fa = 205.0 + a_HFE245cb2 = 137.0 + a_HFE245fa1 = 173.0 + a_HFE245fa2 = 162.0 + a_HFE329mcc2 = 1090.0 + a_HFE338mcf2 = 194.0 + a_HFE338pcc13 = 657.0 + a_HFE347mcc3 = 106.0 + a_HFE347mcf2 = 179.0 + a_HFE347pcf2 = 181.0 + a_HFE356mec3 = 48.0 + a_HFE356pcc3 = 50.4 + a_HFE356pcf2 = 154.0 + a_HFE356pcf3 = 88.4 + a_HFE365mcf3 = 0.289 + a_HFE374pc2 = 2.25 + a_HFE4310pccc124 = 647.0 + a_HFE569sf2 = 11.0 + a_Halon1201 = 69.8 + a_Halon1202 = 39.3 + a_Halon1211 = 406.0 + a_Halon1301 = 5060.0 + a_Halon2402 = 702.0 + a_N2O = 233.0 + a_NF3 = 20000.0 + a_PFPMIE = 12000.0 + a_SF5CF3 = 21600.0 + a_SF6 = 30600.0 + a_SO2F2 = 1920.0 + a_cC4F8 = 12400.0 +@end diff --git a/iam_units/data/emissions/AR6GWP100.txt b/iam_units/data/emissions/AR6GWP100.txt index 2dc976d..bfd0721 100644 --- a/iam_units/data/emissions/AR6GWP100.txt +++ b/iam_units/data/emissions/AR6GWP100.txt @@ -21,11 +21,11 @@ a_C8F18 = 8260.0 a_CCl4 = 2200.0 a_CF4 = 7380.0 - a_CFC11 = 5560.0 + a_CFC11 = 6230.0 a_CFC113 = 6520.0 a_CFC114 = 9430.0 a_CFC115 = 9600.0 - a_CFC12 = 11200.0 + a_CFC12 = 12500.0 a_CFC13 = 16200.0 a_CH2Cl2 = 11.2 a_CH3Br = 2.43 @@ -84,7 +84,6 @@ a_HFE365mcf3 = 1.6 a_HFE374pc2 = 12.5 a_HFE4310pccc124 = 3220.0 - a_HFE449sl = 460.0 a_HFE569sf2 = 60.7 a_Halon1201 = 380.0 a_Halon1202 = 216.0 diff --git a/iam_units/data/emissions/AR6GWP20.txt b/iam_units/data/emissions/AR6GWP20.txt new file mode 100644 index 0000000..73125f7 --- /dev/null +++ b/iam_units/data/emissions/AR6GWP20.txt @@ -0,0 +1,100 @@ +# This file was generated using: +# python -m iam_units.update emissions +# DO NOT ALTER THIS FILE MANUALLY! + +@context(_a=NaN) AR6GWP20 + [mass] -> [_GWP]: value * (_a * _gwp / kg) + [_GWP] -> [mass]: value / (_a * _gwp / kg) + [mass] / [time] -> [_GWP] / [time]: value * (_a * _gwp / kg) + [_GWP] / [time] -> [mass] / [time]: value / (_a * _gwp / kg) + [mass] / [time] / [area] -> [_GWP] / [time] / [area]: value * (_a * _gwp / kg) + [_GWP] / [time] / [area] -> [mass] / [time] / [area]: value / (_a * _gwp / kg) + + + a_C10F18 = 5480.0 + a_C2F6 = 8940.0 + a_C3F8 = 6770.0 + a_C4F10 = 7300.0 + a_C5F12 = 6680.0 + a_C6F14 = 6260.0 + a_C7F16 = 6120.0 + a_C8F18 = 6010.0 + a_CCl4 = 3810.0 + a_CF4 = 5300.0 + a_CFC11 = 8320.0 + a_CFC113 = 6860.0 + a_CFC114 = 8260.0 + a_CFC115 = 7410.0 + a_CFC12 = 12700.0 + a_CFC13 = 12400.0 + a_CH2Cl2 = 40.2 + a_CH3Br = 8.74 + a_CH3CCl3 = 567.0 + a_CH3Cl = 19.9 + a_CH4 = 81.2 + a_CHCl3 = 74.2 + a_HCFC123 = 325.0 + a_HCFC124 = 2070.0 + a_HCFC141b = 2710.0 + a_HCFC142b = 5510.0 + a_HCFC21 = 575.0 + a_HCFC22 = 5690.0 + a_HCFC225ca = 491.0 + a_HCFC225cb = 1960.0 + a_HCFE235da2 = 1930.0 + a_HFC125 = 6740.0 + a_HFC134 = 3900.0 + a_HFC134a = 4140.0 + a_HFC143 = 1300.0 + a_HFC143a = 7840.0 + a_HFC152 = 77.6 + a_HFC152a = 591.0 + a_HFC161 = 17.4 + a_HFC227ea = 5850.0 + a_HFC23 = 12400.0 + a_HFC236cb = 3750.0 + a_HFC236ea = 4420.0 + a_HFC236fa = 7450.0 + a_HFC245ca = 2680.0 + a_HFC245fa = 3170.0 + a_HFC32 = 2690.0 + a_HFC365mfc = 2920.0 + a_HFC41 = 485.0 + a_HFC4310mee = 3960.0 + a_HFE125 = 13500.0 + a_HFE134 = 12700.0 + a_HFE143a = 2170.0 + a_HFE227ea = 9800.0 + a_HFE236ca12 = 11700.0 + a_HFE236ea2 = 7020.0 + a_HFE236fa = 3670.0 + a_HFE245cb2 = 2630.0 + a_HFE245fa1 = 3170.0 + a_HFE245fa2 = 3060.0 + a_HFE329mcc2 = 7550.0 + a_HFE338mcf2 = 3460.0 + a_HFE338pcc13 = 9180.0 + a_HFE347mcc3 = 2020.0 + a_HFE347mcf2 = 3270.0 + a_HFE347pcf2 = 3370.0 + a_HFE356mec3 = 949.0 + a_HFE356pcc3 = 995.0 + a_HFE356pcf2 = 2870.0 + a_HFE356pcf3 = 1730.0 + a_HFE365mcf3 = 5.77 + a_HFE374pc2 = 45.0 + a_HFE4310pccc124 = 8720.0 + a_HFE569sf2 = 219.0 + a_Halon1201 = 1340.0 + a_Halon1202 = 775.0 + a_Halon1211 = 4920.0 + a_Halon1301 = 8320.0 + a_Halon2402 = 4070.0 + a_N2O = 273.0 + a_NF3 = 13400.0 + a_PFPMIE = 7750.0 + a_SF5CF3 = 13900.0 + a_SF6 = 18300.0 + a_SO2F2 = 7510.0 + a_cC4F8 = 7400.0 +@end diff --git a/iam_units/data/emissions/AR6GWP500.txt b/iam_units/data/emissions/AR6GWP500.txt new file mode 100644 index 0000000..fd1d536 --- /dev/null +++ b/iam_units/data/emissions/AR6GWP500.txt @@ -0,0 +1,100 @@ +# This file was generated using: +# python -m iam_units.update emissions +# DO NOT ALTER THIS FILE MANUALLY! + +@context(_a=NaN) AR6GWP500 + [mass] -> [_GWP]: value * (_a * _gwp / kg) + [_GWP] -> [mass]: value / (_a * _gwp / kg) + [mass] / [time] -> [_GWP] / [time]: value * (_a * _gwp / kg) + [_GWP] / [time] -> [mass] / [time]: value / (_a * _gwp / kg) + [mass] / [time] / [area] -> [_GWP] / [time] / [area]: value * (_a * _gwp / kg) + [_GWP] / [time] / [area] -> [mass] / [time] / [area]: value / (_a * _gwp / kg) + + + a_C10F18 = 9780.0 + a_C2F6 = 17500.0 + a_C3F8 = 12400.0 + a_C4F10 = 13400.0 + a_C5F12 = 12700.0 + a_C6F14 = 11600.0 + a_C7F16 = 11300.0 + a_C8F18 = 11100.0 + a_CCl4 = 658.0 + a_CF4 = 10600.0 + a_CFC11 = 2090.0 + a_CFC113 = 2830.0 + a_CFC114 = 6150.0 + a_CFC115 = 9880.0 + a_CFC12 = 5710.0 + a_CFC13 = 17500.0 + a_CH2Cl2 = 3.18 + a_CH3Br = 0.692 + a_CH3CCl3 = 46.0 + a_CH3Cl = 1.58 + a_CH4 = 7.95 + a_CHCl3 = 5.87 + a_HCFC123 = 25.8 + a_HCFC124 = 170.0 + a_HCFC141b = 246.0 + a_HCFC142b = 658.0 + a_HCFC21 = 45.6 + a_HCFC22 = 560.0 + a_HCFC225ca = 39.0 + a_HCFC225cb = 162.0 + a_HCFE235da2 = 154.0 + a_HFC125 = 1110.0 + a_HFC134 = 361.0 + a_HFC134a = 436.0 + a_HFC143 = 104.0 + a_HFC143a = 1940.0 + a_HFC152 = 6.14 + a_HFC152a = 46.8 + a_HFC161 = 1.38 + a_HFC227ea = 1100.0 + a_HFC23 = 10500.0 + a_HFC236cb = 387.0 + a_HFC236ea = 428.0 + a_HFC236fa = 6040.0 + a_HFC245ca = 225.0 + a_HFC245fa = 274.0 + a_HFC32 = 220.0 + a_HFC365mfc = 261.0 + a_HFC41 = 38.6 + a_HFC4310mee = 458.0 + a_HFE125 = 7680.0 + a_HFE134 = 1940.0 + a_HFE143a = 176.0 + a_HFE227ea = 2570.0 + a_HFE236ca12 = 1770.0 + a_HFE236ea2 = 741.0 + a_HFE236fa = 315.0 + a_HFE245cb2 = 213.0 + a_HFE245fa1 = 266.0 + a_HFE245fa2 = 251.0 + a_HFE329mcc2 = 1100.0 + a_HFE338mcf2 = 297.0 + a_HFE338pcc13 = 948.0 + a_HFE347mcc3 = 164.0 + a_HFE347mcf2 = 275.0 + a_HFE347pcf2 = 279.0 + a_HFE356mec3 = 75.3 + a_HFE356pcc3 = 79.0 + a_HFE356pcf2 = 237.0 + a_HFE356pcf3 = 138.0 + a_HFE365mcf3 = 0.457 + a_HFE374pc2 = 3.56 + a_HFE4310pccc124 = 920.0 + a_HFE569sf2 = 17.3 + a_Halon1201 = 108.0 + a_Halon1202 = 61.5 + a_Halon1211 = 552.0 + a_Halon1301 = 2750.0 + a_Halon2402 = 639.0 + a_N2O = 130.0 + a_NF3 = 18200.0 + a_PFPMIE = 11700.0 + a_SF5CF3 = 21100.0 + a_SF6 = 34100.0 + a_SO2F2 = 1410.0 + a_cC4F8 = 13800.0 +@end diff --git a/iam_units/data/emissions/metrics.txt b/iam_units/data/emissions/metrics.txt index d33ce8f..bf5e988 100644 --- a/iam_units/data/emissions/metrics.txt +++ b/iam_units/data/emissions/metrics.txt @@ -10,3 +10,6 @@ @import AR5GWP100.txt @import AR5CCFGWP100.txt @import AR6GWP100.txt +@import AR6GWP20.txt +@import AR6GWP500.txt +@import AR6GTP100.txt diff --git a/iam_units/data/emissions/species.txt b/iam_units/data/emissions/species.txt index 1846f4f..6d02bc7 100644 --- a/iam_units/data/emissions/species.txt +++ b/iam_units/data/emissions/species.txt @@ -81,7 +81,6 @@ a_HFE356pcf3 = NaN a_HFE365mcf3 = NaN a_HFE374pc2 = NaN a_HFE4310pccc124 = NaN -a_HFE449sl = NaN a_HFE569sf2 = NaN a_Halon1201 = NaN a_Halon1202 = NaN diff --git a/iam_units/emissions.py b/iam_units/emissions.py index 78872cd..dfa1e5c 100644 --- a/iam_units/emissions.py +++ b/iam_units/emissions.py @@ -4,10 +4,19 @@ import re -GWP_VERSION = "0.7.0" +GWP_VERSION = "0.9.3" # All available metrics usable with convert_gwp(). -METRICS = ["SARGWP100", "AR4GWP100", "AR5GWP100", "AR5CCFGWP100", "AR6GWP100"] +METRICS = [ + "SARGWP100", + "AR4GWP100", + "AR5GWP100", + "AR5CCFGWP100", + "AR6GWP100", + "AR6GWP20", + "AR6GWP500", + "AR6GTP100", +] # All recognised emission species usable with convert_gwp(). See *pattern*. SPECIES = [ @@ -91,7 +100,6 @@ "HFE365mcf3", "HFE374pc2", "HFE4310pccc124", - "HFE449sl", "HFE569sf2", "Halon1201", "Halon1202", From 8e0b2d81ab79557f534c766c5390f97c7b9dfbd4 Mon Sep 17 00:00:00 2001 From: Daniel Huppmann Date: Mon, 13 Jun 2022 12:14:46 +0200 Subject: [PATCH 2/3] Bump copyright year --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index ec6999f..9800402 100644 --- a/README.rst +++ b/README.rst @@ -9,7 +9,7 @@ Unit definitions for integrated-assessment research :target: https://github.com/IAMconsortium/units/actions/workflows/test.yaml :alt: Build status -© 2020–2021 `IAM-units authors`_; licensed under the `GNU GPL version 3`_. +© 2020–2022 `IAM-units authors`_; licensed under the `GNU GPL version 3`_. The file `definitions.txt`_ gives `Pint`_-compatible definitions of energy, climate, and related units to supplement the SI and other units included in Pint's `default_en.txt`_. These definitions are used by: From 270e24d94cbd10fdb88eb6e2f2a422ca78f1daff Mon Sep 17 00:00:00 2001 From: Daniel Huppmann Date: Mon, 13 Jun 2022 12:25:03 +0200 Subject: [PATCH 3/3] Add a test --- iam_units/test_all.py | 1 + 1 file changed, 1 insertion(+) diff --git a/iam_units/test_all.py b/iam_units/test_all.py index 4315e5f..2081b36 100644 --- a/iam_units/test_all.py +++ b/iam_units/test_all.py @@ -86,6 +86,7 @@ def test_emissions_internal(): @pytest.mark.parametrize( "metric, species_in, species_out, expected_value", [ + ("AR6GWP20", "CH4", "CO2", 81.2), ("AR6GWP100", "CH4", "CO2", 27.9), ("AR5CCFGWP100", "CH4", "CO2", 34), ("AR5GWP100", "CH4", "CO2", 28),