R/nr_fix_bio_gridded.R

Defines functions nr_fix_bio_gridded

#' nr_fix_bio_gridded
#'
#' @param gdx data to perform actions on
#' @param crops the crops
#' @param sum whether to sum or not
#'
#' @author Jan-Philipp Dietrich
nr_fix_bio_gridded<-function(gdx="fulldata.gdx",crops=NULL,sum=TRUE){
    if(is.null(crops)) crops <- readGDX(gdx,"kcr")
    ov_area <- readGDX(gdx,"ov_area",select=list(type="level"))
    f18_cgf <- readGDX(gdx,"f18_cgf")
    ov_prod <- readGDX(gdx,"ov_prod",select=list(type="level"))
    im_attributes_harvest <- readGDX(gdx,"im_attributes_harvest")
    f51_nr_fix_ndfa <- readGDX(gdx,"f51_nr_fix_ndfa")
    fm_attributes_residue_ag <- readGDX(gdx,"fm_attributes_residue_ag")
    fm_seed_shr <- readGDX(gdx,"fm_seed_shr")
    f51_nr_residue_bg <- readGDX(gdx,"f51_nr_residue_bg")
    ov51_nr_eff <- readGDX(gdx,"ov51_nr_eff",select=list(type="level"))
    croparea2<-croparea(gdx,crop_aggr = F)
    f_fix_area<-readGDX(gdx,"f51_nr_fix_area")
    
    ov_prod_res_ag <- dimSums(ov_area[,,crops],dim=3.2)*collapseNames(f18_cgf[,,crops][,,"intercept"]) + ov_prod[,,crops]*collapseNames(f18_cgf[,,crops][,,"slope"])*collapseNames(im_attributes_harvest[,,crops][,,"dm"])
    ov_prod_res_bg <- (ov_prod[,,crops]*collapseNames(im_attributes_harvest[,,crops][,,"dm"]) + ov_prod_res_ag[,,crops])*collapseNames(f18_cgf[,,crops][,,"bg_to_ag"])
    N_fix_crop <- f51_nr_fix_ndfa[,,crops] * (ov_prod[,,crops]*collapseNames(im_attributes_harvest[,,crops][,,"nr"]) + 
                                             ov_prod_res_ag[,,crops]*collapseNames(fm_attributes_residue_ag[,,crops][,,"nr"]) + 
                                             ov_prod_res_bg[,,crops]*f51_nr_residue_bg[,,crops])
    N_fix_area<- croparea(gdx,crop_aggr = F,level = "cell")[,,crops]* f_fix_area[,,crops]
    N_fix<-mbind(add_dimension(x = N_fix_crop,add = "fixation",nm = "N_fixing_crops",dim = 3.2),add_dimension(x = N_fix_area,add = "fixation",nm = "N_fixing_area",dim = 3.2))
    if(sum) N_fix <- dimSums(N_fix,dim=3.1)
    return(N_fix)
}
  
pik-piam/nitrogen documentation built on Nov. 5, 2019, 12:48 a.m.