From ee0cc9abb64d074c4d5ecbfa2a36d02ce6f8a6dd Mon Sep 17 00:00:00 2001 From: Simon Moreno Date: Mon, 5 Feb 2024 11:41:07 +0100 Subject: [PATCH 1/4] small documentation addition --- R/reportEmi.R | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/R/reportEmi.R b/R/reportEmi.R index 5ee780cf..006e34e6 100644 --- a/R/reportEmi.R +++ b/R/reportEmi.R @@ -493,7 +493,7 @@ reportEmi <- function(gdx, output = NULL, regionSubsetList = NULL, t = c(seq(200 setNames((dimSums(EmiFeCarrier, dim = 3) # subtract industry CCS - dimSums(vm_emiIndCCS[, , emiInd37_fuel], dim = 3)*p_share_CCS - # subtract synthetic and biogenic carbon contained in industrial feedstocks + # subtract synthetic and biogenic carbon contained in chemical feedstocks that don't return to the atmosphere (e.g. non-incinerated plastics) - dimSums(plastic_CDR, dim=3) )*GtC_2_MtCO2, "Emi|CO2|Energy|+|Demand (Mt CO2/yr)") @@ -501,11 +501,12 @@ reportEmi <- function(gdx, output = NULL, regionSubsetList = NULL, t = c(seq(200 ) # CO2 emissions from the end-of-life of carbon-bearing products + # fixme: wild guess: mybe I have to discount the carbon of biogenic and atmospheric origin from here as well. Nope, wasn't that if (!is.null(vm_plasticsCarbon)) { out <- mbind(out, - setNames(dimSums(vm_feedstockEmiUnknownFate, dim=3)* GtC_2_MtCO2, + setNames((dimSums(vm_feedstockEmiUnknownFate, dim=3))* GtC_2_MtCO2, "Emi|CO2|Energy|Waste|+|Feedstocks unknown fate (Mt CO2/yr)"), - setNames(dimSums(vm_incinerationEmi, dim=3)* GtC_2_MtCO2, + setNames((dimSums(vm_incinerationEmi, dim=3))* GtC_2_MtCO2, "Emi|CO2|Energy|Waste|+|Plastics Incineration (Mt CO2/yr)") ) out <- mbind(out, @@ -1113,9 +1114,9 @@ if (!is.null(vm_plasticsCarbon)) { setNames( # vm_emiTeMkt is variable in REMIND closest to energy co2 emissions (dimSums(sel_vm_emiTeMkt_co2, dim = 3) - # subtract non-BECCS CCU CO2 (i.e., non-CCS part of DAC) + # subtract non-BECCS CCU CO2 (i.e., non-CCS part of DAC (synfuels)) - (1 - p_share_CCS) * (-vm_emiCdrTeDetail[, , "dac"]) - # deduce co2 captured by industrial processes which is not stored but used for CCU + # deduce co2 captured by industrial processes which is not stored but used for CCU (synfuels) # -> gets accounted in industrial process emissions - vm_emiIndCCS[, , "co2cement_process"]*(1-p_share_CCS)) * GtC_2_MtCO2, "Emi|CO2|+|Energy (Mt CO2/yr)")) From c092a6de3d86b120c8c156ad83a68c5a92264b28 Mon Sep 17 00:00:00 2001 From: Simon Moreno Date: Tue, 6 Feb 2024 13:11:50 +0100 Subject: [PATCH 2/4] restore Ariadne condition for emissions reporting --- .buildlibrary | 2 +- CITATION.cff | 2 +- DESCRIPTION | 2 +- R/reportEmi.R | 10 ++++++---- R/reportFE.R | 1 + README.md | 6 +++--- man/remind2-package.Rd | 1 + 7 files changed, 14 insertions(+), 10 deletions(-) diff --git a/.buildlibrary b/.buildlibrary index 7694be48..b7c904d8 100644 --- a/.buildlibrary +++ b/.buildlibrary @@ -1,4 +1,4 @@ -ValidationKey: '223889229' +ValidationKey: '223908988' AcceptedWarnings: - 'Warning: package ''.*'' was built under R version' - 'Warning: namespace ''.*'' is not available and has been replaced' diff --git a/CITATION.cff b/CITATION.cff index 338797c4..1a443ff2 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -2,7 +2,7 @@ cff-version: 1.2.0 message: If you use this software, please cite it using the metadata from this file. type: software title: 'remind2: The REMIND R package (2nd generation)' -version: 1.133.1 +version: 1.133.2 date-released: '2024-02-06' abstract: Contains the REMIND-specific routines for data and model output manipulation. authors: diff --git a/DESCRIPTION b/DESCRIPTION index 3849a07b..f91fd9c6 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: remind2 Title: The REMIND R package (2nd generation) -Version: 1.133.1 +Version: 1.133.2 Date: 2024-02-06 Authors@R: c( person("Renato", "Rodrigues", , "renato.rodrigues@pik-potsdam.de", role = c("aut", "cre")), diff --git a/R/reportEmi.R b/R/reportEmi.R index fc03ae55..5bb9e927 100644 --- a/R/reportEmi.R +++ b/R/reportEmi.R @@ -479,8 +479,6 @@ reportEmi <- function(gdx, output = NULL, regionSubsetList = NULL, t = c(seq(200 } - - # calculate total energy supply and demand co2 emissions out <- mbind(out, @@ -1121,7 +1119,9 @@ if (!is.null(vm_plasticsCarbon)) { - (1 - p_share_CCS) * (-vm_emiCdrTeDetail[, , "dac"]) # deduce co2 captured by industrial processes which is not stored but used for CCU (synfuels) # -> gets accounted in industrial process emissions - - vm_emiIndCCS[, , "co2cement_process"]*(1-p_share_CCS)) * GtC_2_MtCO2, + - vm_emiIndCCS[, , "co2cement_process"]*(1-p_share_CCS) + # fixme: missing/wrong emissions + ) * GtC_2_MtCO2, "Emi|CO2|+|Energy (Mt CO2/yr)")) ### 2.2 Non-energy CO2 emissions ---- @@ -2559,6 +2559,8 @@ if (!is.null(vm_plasticsCarbon)) { # (Note: The non-energy use variables are so far only available for REMIND-EU runs and industry fixed_shares) # TODO: add non-energy use variables for all regionmappings and sector realizations +# fixme: test re-introduce condition: +if (is.null(vm_demFENonEnergySector) && (module2realisation["industry", 2] == "fixed_shares")) { # Note: Non-energy use emissions should not be confused with process emissions. Non-energy use emissions are emissions/carbon flow of FE carriers which are used as feedstocks in industry. if ("FE|Non-energy Use|Industry (EJ/yr)" %in% getNames(output) && @@ -2681,7 +2683,7 @@ if (!is.null(vm_plasticsCarbon)) { out <- mbind(out, out.wNonEn) } - +} # add global values out <- mbind(out, dimSums(out, dim = 1)) # add other region aggregations diff --git a/R/reportFE.R b/R/reportFE.R index 2ff16dd2..6fe40c59 100644 --- a/R/reportFE.R +++ b/R/reportFE.R @@ -1761,6 +1761,7 @@ reportFE <- function(gdx, regionSubsetList = NULL, out[,,"FE|Non-energy Use|Industry|Solids|+|Fossil (EJ/yr)"], "FE|w/o Bunkers|w/o Non-energy Use|Solids|Fossil (EJ/yr)")) } + ### end of "### temporary (!) industry non-energy use reporting" for Ariadne # in case the current non-energy use implementation creates negative values, set them to 0 if (any(out < 0)) { diff --git a/README.md b/README.md index 30d33ae4..bdef7535 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # The REMIND R package (2nd generation) -R package **remind2**, version **1.133.1** +R package **remind2**, version **1.133.2** [![CRAN status](https://www.r-pkg.org/badges/version/remind2)](https://cran.r-project.org/package=remind2) [![R build status](https://github.com/pik-piam/remind2/workflows/check/badge.svg)](https://github.com/pik-piam/remind2/actions) [![codecov](https://codecov.io/gh/pik-piam/remind2/branch/master/graph/badge.svg)](https://app.codecov.io/gh/pik-piam/remind2) [![r-universe](https://pik-piam.r-universe.dev/badges/remind2)](https://pik-piam.r-universe.dev/builds) @@ -49,7 +49,7 @@ In case of questions / problems please contact Renato Rodrigues . +Rodrigues R, Baumstark L, Benke F, Dietrich J, Dirnaichner A, Duerrwaechter J, Führlich P, Giannousakis A, Hasse R, Hilaire J, Klein D, Koch J, Kowalczyk K, Levesque A, Malik A, Merfort A, Merfort L, Morena-Leiva S, Pehl M, Pietzcker R, Rauner S, Richters O, Rottoli M, Schötz C, Schreyer F, Siala K, Sörgel B, Spahr M, Strefler J, Verpoort P, Weigmann P (2024). _remind2: The REMIND R package (2nd generation)_. R package version 1.133.2, . A BibTeX entry for LaTeX users is @@ -58,7 +58,7 @@ A BibTeX entry for LaTeX users is title = {remind2: The REMIND R package (2nd generation)}, author = {Renato Rodrigues and Lavinia Baumstark and Falk Benke and Jan Philipp Dietrich and Alois Dirnaichner and Jakob Duerrwaechter and Pascal Führlich and Anastasis Giannousakis and Robin Hasse and Jérome Hilaire and David Klein and Johannes Koch and Katarzyna Kowalczyk and Antoine Levesque and Aman Malik and Anne Merfort and Leon Merfort and Simón Morena-Leiva and Michaja Pehl and Robert Pietzcker and Sebastian Rauner and Oliver Richters and Marianna Rottoli and Christof Schötz and Felix Schreyer and Kais Siala and Björn Sörgel and Mike Spahr and Jessica Strefler and Philipp Verpoort and Pascal Weigmann}, year = {2024}, - note = {R package version 1.133.1}, + note = {R package version 1.133.2}, url = {https://github.com/pik-piam/remind2}, } ``` diff --git a/man/remind2-package.Rd b/man/remind2-package.Rd index 5169a479..7b64919d 100644 --- a/man/remind2-package.Rd +++ b/man/remind2-package.Rd @@ -3,6 +3,7 @@ \docType{package} \name{remind2-package} \alias{remind2-package} +\alias{_PACKAGE} \alias{remind2} \title{The REMIND R package (2nd generation)} \description{ From 161f47a738f9007e59e5f26d46b9be84714cbca9 Mon Sep 17 00:00:00 2001 From: Michaja Pehl Date: Tue, 6 Feb 2024 16:11:46 +0100 Subject: [PATCH 3/4] restore condition for fixed_shares module --- R/reportEmi.R | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/R/reportEmi.R b/R/reportEmi.R index 2c61fcbe..8cb91549 100644 --- a/R/reportEmi.R +++ b/R/reportEmi.R @@ -2558,6 +2558,7 @@ if (!is.null(vm_plasticsCarbon)) { # (Note: The non-energy use variables are so far only available for REMIND-EU runs and industry fixed_shares) # TODO: add non-energy use variables for all regionmappings and sector realizations + if (is.null(vm_demFENonEnergySector) && (module2realisation["industry", 2] == "fixed_shares")) { # Note: Non-energy use emissions should not be confused with process emissions. Non-energy use emissions are emissions/carbon flow of FE carriers which are used as feedstocks in industry. if ("FE|Non-energy Use|Industry (EJ/yr)" %in% getNames(output) && @@ -2680,6 +2681,7 @@ if (!is.null(vm_plasticsCarbon)) { out <- mbind(out, out.wNonEn) } +} # add global values out <- mbind(out, dimSums(out, dim = 1)) @@ -2758,11 +2760,13 @@ if (!is.null(vm_plasticsCarbon)) { } - # if non-energy use variables exist, also do bunker correction for variables w/o non-energy use - if ("FE|Non-energy Use|Industry (EJ/yr)" %in% getNames(output) && - "FE|Non-energy Use|Industry|+|Liquids (EJ/yr)" %in% getNames(output) && - "FE|Non-energy Use|Industry|+|Gases (EJ/yr)" %in% getNames(output) && - "FE|Non-energy Use|Industry|+|Solids (EJ/yr)" %in% getNames(output)) { + # if non-energy use variables exist, also do bunker correction for variables + # w/o non-energy use + if ( "FE|Non-energy Use|Industry (EJ/yr)" %in% getNames(output) + && "FE|Non-energy Use|Industry|+|Liquids (EJ/yr)" %in% getNames(output) + && "FE|Non-energy Use|Industry|+|Gases (EJ/yr)" %in% getNames(output) + && "FE|Non-energy Use|Industry|+|Solids (EJ/yr)" %in% getNames(output) + && exists('emi.vars.wNonEn')) { emi.vars.wBunkers.wNonEn <- intersect(emi.vars.wBunkers, emi.vars.wNonEn) @@ -2786,10 +2790,11 @@ if (!is.null(vm_plasticsCarbon)) { "Emi|CO2|LULUCF national accounting (Mt CO2/yr)" ) # add bunker correction for emissions variables with LULUCF national accounting and w/o non-energy use - if ("FE|Non-energy Use|Industry (EJ/yr)" %in% getNames(output) && - "FE|Non-energy Use|Industry|+|Liquids (EJ/yr)" %in% getNames(output) && - "FE|Non-energy Use|Industry|+|Gases (EJ/yr)" %in% getNames(output) && - "FE|Non-energy Use|Industry|+|Solids (EJ/yr)" %in% getNames(output)) { + if ( "FE|Non-energy Use|Industry (EJ/yr)" %in% getNames(output) + && "FE|Non-energy Use|Industry|+|Liquids (EJ/yr)" %in% getNames(output) + && "FE|Non-energy Use|Industry|+|Gases (EJ/yr)" %in% getNames(output) + && "FE|Non-energy Use|Industry|+|Solids (EJ/yr)" %in% getNames(output) + && exists('emi.vars.wNonEn')) { emi.vars.wBunkers <- c(emi.vars.wBunkers, "Emi|GHG|w/o Non-energy Use|LULUCF national accounting (Mt CO2eq/yr)", From cd062f954358ac5445fc5203b949e52fd2860540 Mon Sep 17 00:00:00 2001 From: Simon Moreno Date: Wed, 7 Feb 2024 20:42:24 +0100 Subject: [PATCH 4/4] buildLibrary, delete spurious brackets and fix comment --- .buildlibrary | 2 +- CITATION.cff | 2 +- DESCRIPTION | 2 +- R/reportEmi.R | 6 +++--- README.md | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.buildlibrary b/.buildlibrary index d02bb7b6..9c66ea15 100644 --- a/.buildlibrary +++ b/.buildlibrary @@ -1,4 +1,4 @@ -ValidationKey: '224078400' +ValidationKey: '224098160' AcceptedWarnings: - 'Warning: package ''.*'' was built under R version' - 'Warning: namespace ''.*'' is not available and has been replaced' diff --git a/CITATION.cff b/CITATION.cff index 3a5dc5f3..0fda7bab 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -2,7 +2,7 @@ cff-version: 1.2.0 message: If you use this software, please cite it using the metadata from this file. type: software title: 'remind2: The REMIND R package (2nd generation)' -version: 1.134.0 +version: 1.134.1 date-released: '2024-02-07' abstract: Contains the REMIND-specific routines for data and model output manipulation. authors: diff --git a/DESCRIPTION b/DESCRIPTION index f1164d2a..01bd067f 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: remind2 Title: The REMIND R package (2nd generation) -Version: 1.134.0 +Version: 1.134.1 Date: 2024-02-07 Authors@R: c( person("Renato", "Rodrigues", , "renato.rodrigues@pik-potsdam.de", role = c("aut", "cre")), diff --git a/R/reportEmi.R b/R/reportEmi.R index 2eb8c082..d4526a1e 100644 --- a/R/reportEmi.R +++ b/R/reportEmi.R @@ -502,12 +502,12 @@ reportEmi <- function(gdx, output = NULL, regionSubsetList = NULL, t = c(seq(200 ) # CO2 emissions from the end-of-life of carbon-bearing products - # fixme: wild guess: mybe I have to discount the carbon of biogenic and atmospheric origin from here as well. Nope, wasn't that + if (!is.null(vm_plasticsCarbon)) { out <- mbind(out, - setNames((dimSums(vm_feedstockEmiUnknownFate, dim=3))* GtC_2_MtCO2, + setNames(dimSums(vm_feedstockEmiUnknownFate, dim=3)* GtC_2_MtCO2, "Emi|CO2|Energy|Waste|+|Feedstocks unknown fate (Mt CO2/yr)"), - setNames((dimSums(vm_incinerationEmi, dim=3))* GtC_2_MtCO2, + setNames(dimSums(vm_incinerationEmi, dim=3)* GtC_2_MtCO2, "Emi|CO2|Energy|Waste|+|Plastics Incineration (Mt CO2/yr)") ) out <- mbind(out, diff --git a/README.md b/README.md index 02cd7dd5..7ef949ea 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # The REMIND R package (2nd generation) -R package **remind2**, version **1.134.0** +R package **remind2**, version **1.134.1** [![CRAN status](https://www.r-pkg.org/badges/version/remind2)](https://cran.r-project.org/package=remind2) [![R build status](https://github.com/pik-piam/remind2/workflows/check/badge.svg)](https://github.com/pik-piam/remind2/actions) [![codecov](https://codecov.io/gh/pik-piam/remind2/branch/master/graph/badge.svg)](https://app.codecov.io/gh/pik-piam/remind2) [![r-universe](https://pik-piam.r-universe.dev/badges/remind2)](https://pik-piam.r-universe.dev/builds) @@ -49,7 +49,7 @@ In case of questions / problems please contact Renato Rodrigues . +Rodrigues R, Baumstark L, Benke F, Dietrich J, Dirnaichner A, Duerrwaechter J, Führlich P, Giannousakis A, Hasse R, Hilaire J, Klein D, Koch J, Kowalczyk K, Levesque A, Malik A, Merfort A, Merfort L, Morena-Leiva S, Pehl M, Pietzcker R, Rauner S, Richters O, Rottoli M, Schötz C, Schreyer F, Siala K, Sörgel B, Spahr M, Strefler J, Verpoort P, Weigmann P (2024). _remind2: The REMIND R package (2nd generation)_. R package version 1.134.1, . A BibTeX entry for LaTeX users is @@ -58,7 +58,7 @@ A BibTeX entry for LaTeX users is title = {remind2: The REMIND R package (2nd generation)}, author = {Renato Rodrigues and Lavinia Baumstark and Falk Benke and Jan Philipp Dietrich and Alois Dirnaichner and Jakob Duerrwaechter and Pascal Führlich and Anastasis Giannousakis and Robin Hasse and Jérome Hilaire and David Klein and Johannes Koch and Katarzyna Kowalczyk and Antoine Levesque and Aman Malik and Anne Merfort and Leon Merfort and Simón Morena-Leiva and Michaja Pehl and Robert Pietzcker and Sebastian Rauner and Oliver Richters and Marianna Rottoli and Christof Schötz and Felix Schreyer and Kais Siala and Björn Sörgel and Mike Spahr and Jessica Strefler and Philipp Verpoort and Pascal Weigmann}, year = {2024}, - note = {R package version 1.134.0}, + note = {R package version 1.134.1}, url = {https://github.com/pik-piam/remind2}, } ```