Skip to content

Commit

Permalink
added disaggregation of other land to reporting
Browse files Browse the repository at this point in the history
  • Loading branch information
flohump committed Oct 22, 2024
1 parent 360a499 commit f86fe2e
Show file tree
Hide file tree
Showing 8 changed files with 97 additions and 9 deletions.
2 changes: 1 addition & 1 deletion .buildlibrary
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ValidationKey: '426562270'
ValidationKey: '426603598'
AutocreateReadme: yes
AcceptedWarnings:
- 'Warning: package ''.*'' was built under R version'
Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ cff-version: 1.2.0
message: If you use this software, please cite it using the metadata from this file.
type: software
title: 'magpie4: MAgPIE outputs R package for MAgPIE version 4.x'
version: 2.13.10
date-released: '2024-10-21'
version: 2.13.11
date-released: '2024-10-22'
abstract: Common output routines for extracting results from the MAgPIE framework
(versions 4.x).
authors:
Expand Down
4 changes: 2 additions & 2 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
Type: Package
Package: magpie4
Title: MAgPIE outputs R package for MAgPIE version 4.x
Version: 2.13.10
Date: 2024-10-21
Version: 2.13.11
Date: 2024-10-22
Authors@R: c(
person("Benjamin Leon", "Bodirsky", , "[email protected]", role = c("aut", "cre")),
person("Florian", "Humpenoeder", , "[email protected]", role = "aut"),
Expand Down
1 change: 1 addition & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ export(NitrogenBudget)
export(NitrogenBudgetNonagland)
export(NitrogenBudgetPasture)
export(NitrogenBudgetWithdrawals)
export(OtherLand)
export(PeatlandArea)
export(PeatlandEmissions)
export(PlantationEstablishment)
Expand Down
50 changes: 50 additions & 0 deletions R/OtherLand.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#' @title OtherLand
#' @description Disaggregation of other land into initial, restored and recovered land based on a MAgPIE gdx file
#'
#' @export
#'
#' @param gdx GDX file
#' @param level Level of regional aggregation; "cell", "reg" (regional), "glo" (global), "regglo" (regional and global) or any aggregation level defined in superAggregate. In addition "climate" for the 3 climate regions tropical, temperate and boreal is available.
#' @details initial, restored and recovered land
#' @return Other land area in Mha
#' @author Florian Humpenoeder
#' @importFrom magclass dimSums collapseNames
#' @importFrom luscale superAggregate
#' @examples
#'
#' \dontrun{
#' x <- PeatlandArea(gdx)
#' }

OtherLand <- function(gdx, level="reg"){

a <- dimSums(readGDX(gdx,"ov_land_other",select=list(type="level"),react = "silent"),dim="othertype35")
b <- readGDX(gdx,"pm_land_conservation",react = "silent")
x <- m_yeardiff(gdx)
x[,1,] <- 5
ac <- readGDX(gdx,"ac")
ac_est <- new.magpie("GLO",getYears(x),ac,fill=0)
for(t in getYears(x)) {
ac_est[,t,getNames(ac_est[,t,])[1:(x[,t,]/5)]] <- 1
}
ac_sub <- 1 - ac_est
ac_sub[,,"acx"] <- 0

restoredEst <- collapseDim(b[,,"other.restore"])
restoredSub <- collapseDim(as.magpie(apply(b[, , "other.restore"], c(1, 3), cumsum)))
recoveredEst <- dimSums(a*ac_est,dim=3) - restoredEst
recoveredSub <- dimSums(a*ac_sub,dim=3) - restoredSub

initial <- setNames(collapseDim(a[,,"acx"]), "other_initial")
recovered <- setNames(recoveredEst+recoveredSub, "other_recovered")
restored <- setNames(restoredEst+restoredSub, "other_restored")
z <- mbind(initial, recovered, restored)

#check
indicator <- sum(dimSums(a,dim=3) - dimSums(z,dim=3))
if(abs(indicator) > 1e-6) warning("Other land sub-categories don't add-up to total. Check OtherLand.R function")

if (level != "cell") z <- superAggregate(z, aggr_type = "sum", level = level,na.rm = FALSE)

return(z)
}
8 changes: 7 additions & 1 deletion R/reportLandUse.R
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ reportLandUse <- function(gdx) {
#read in regional data
a <- land(gdx,level = "reg",types = NULL,subcategories = c("crop","forestry"),sum = FALSE)
a <- setNames(a,gsub("indc","ndc",getNames(a)))
a <- a[,,"other",invert=TRUE]
b <- OtherLand(gdx)
a <- mbind(b,a)

#add global
a <- mbind(a, setItems(dimSums(a,dim=1), dim = 1, "GLO"))
Expand All @@ -32,7 +35,10 @@ reportLandUse <- function(gdx) {
x <- mbind(x,setNames(a[,,"crop_treecover"],paste0("Resources|Land Cover|Cropland|+|", reportingnames("crop_treecover")," (million ha)")))
x <- mbind(x,setNames(a[,,"past"],paste0("Resources|Land Cover|+|", reportingnames("past")," (million ha)")))
x <- mbind(x,setNames(a[,,"urban"],paste0("Resources|Land Cover|+|", reportingnames("urban")," (million ha)")))
x <- mbind(x,setNames(a[,,"other"],paste0("Resources|Land Cover|+|", reportingnames("other")," (million ha)")))
x <- mbind(x,setNames(dimSums(a[,,c("other_initial","other_recovered","other_restored")],dim=3),paste0("Resources|Land Cover|+|", reportingnames("other")," (million ha)")))
x <- mbind(x,setNames(a[,,"other_initial"],paste0("Resources|Land Cover|", reportingnames("other"),"|Initial (million ha)")))
x <- mbind(x,setNames(a[,,"recovered"],paste0("Resources|Land Cover|", reportingnames("other"),"|Recovered (million ha)")))
x <- mbind(x,setNames(a[,,"other_restored"],paste0("Resources|Land Cover|", reportingnames("other"),"|Restored (million ha)")))
x <- mbind(x,setNames(dimSums(a[,,c("primforest","secdforest","forestry_aff","forestry_ndc","forestry_plant")],dim=3),paste0("Resources|Land Cover|+|", reportingnames("forest")," (million ha)")))
x <- mbind(x,setNames(dimSums(a[,,c("primforest","secdforest")],dim=3), paste0("Resources|Land Cover|Forest|+|", reportingnames("natrforest")," (million ha)")))
x <- mbind(x,setNames(dimSums(a[,,"primforest"],dim=3), paste0("Resources|Land Cover|Forest|Natural Forest|+|", reportingnames("primforest")," (million ha)")))
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# MAgPIE outputs R package for MAgPIE version 4.x

R package **magpie4**, version **2.13.10**
R package **magpie4**, version **2.13.11**

[![CRAN status](https://www.r-pkg.org/badges/version/magpie4)](https://cran.r-project.org/package=magpie4) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1158582.svg)](https://doi.org/10.5281/zenodo.1158582) [![R build status](https://github.com/pik-piam/magpie4/workflows/check/badge.svg)](https://github.com/pik-piam/magpie4/actions) [![codecov](https://codecov.io/gh/pik-piam/magpie4/branch/master/graph/badge.svg)](https://app.codecov.io/gh/pik-piam/magpie4) [![r-universe](https://pik-piam.r-universe.dev/badges/magpie4)](https://pik-piam.r-universe.dev/builds)

Expand Down Expand Up @@ -39,7 +39,7 @@ In case of questions / problems please contact Benjamin Leon Bodirsky <bodirsky@

To cite package **magpie4** in publications use:

Bodirsky B, Humpenoeder F, Dietrich J, Stevanovic M, Weindl I, Karstens K, Wang X, Mishra A, Beier F, Breier J, Yalew A, Chen D, Biewald A, Wirth S, von Jeetze P, Leip D, Crawford M, Alves M (2024). _magpie4: MAgPIE outputs R package for MAgPIE version 4.x_. doi:10.5281/zenodo.1158582 <https://doi.org/10.5281/zenodo.1158582>, R package version 2.13.10, <https://github.com/pik-piam/magpie4>.
Bodirsky B, Humpenoeder F, Dietrich J, Stevanovic M, Weindl I, Karstens K, Wang X, Mishra A, Beier F, Breier J, Yalew A, Chen D, Biewald A, Wirth S, von Jeetze P, Leip D, Crawford M, Alves M (2024). _magpie4: MAgPIE outputs R package for MAgPIE version 4.x_. doi:10.5281/zenodo.1158582 <https://doi.org/10.5281/zenodo.1158582>, R package version 2.13.11, <https://github.com/pik-piam/magpie4>.

A BibTeX entry for LaTeX users is

Expand All @@ -48,7 +48,7 @@ A BibTeX entry for LaTeX users is
title = {magpie4: MAgPIE outputs R package for MAgPIE version 4.x},
author = {Benjamin Leon Bodirsky and Florian Humpenoeder and Jan Philipp Dietrich and Miodrag Stevanovic and Isabelle Weindl and Kristine Karstens and Xiaoxi Wang and Abhijeet Mishra and Felicitas Beier and Jannes Breier and Amsalu Woldie Yalew and David Chen and Anne Biewald and Stephen Wirth and Patrick {von Jeetze} and Debbora Leip and Michael Crawford and Marcos Alves},
year = {2024},
note = {R package version 2.13.10},
note = {R package version 2.13.11},
url = {https://github.com/pik-piam/magpie4},
doi = {10.5281/zenodo.1158582},
}
Expand Down
31 changes: 31 additions & 0 deletions man/OtherLand.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit f86fe2e

Please sign in to comment.