R/est_bm_RDC2H.R

Defines functions est.bm.RCD2H

Documented in est.bm.RCD2H

est.bm.RCD2H <- function(Species, RCD, H, H_meas){
  if(is.character(Species)){
    Genus <- strsplit(Species, "[ _]")[[1]][1]
    Epithet <- strsplit(Species, "[ _]")[[1]][2]
    if(is.na(Epithet)){
      ConiferListEntry <- which(Conifers$Genus == Genus)
      if(length(ConiferListEntry) >= 1){
        if(Conifers$Conifer[ConiferListEntry]){
          Genus <- "Conifer"
        }else{
          Genus <- "Broadleaf"
        }
      }
      Epithet <- "spec"
    }
  }else{
    warning("Invalid Species argument: ", Species)
  }
  Conifer <- Conifers$Conifer[which(Conifers$Genus == Genus)[1]]
  Tx <- Corrections$Tx[Corrections$Height == H_meas & Corrections$Conifer == Conifer]
  # Check if a valid value was set for H_meas
  if(anyNA(H_meas)){
    warning("Argument H_meas is missing or NA.")
  }else{
    if(length(Tx) < 1){
      warning("No correction factor for H_meas = ", H_meas, ".\nSupported values:\n",
              paste(unique(Corrections$Height), collapse = ", "))
    }
  }
  # Correct RCD using H_meas and estimate biomass
  RCD_corrected <- RCD*Tx*10
  b1 <- Parameters_RCD2H$beta_1[Parameters_RCD2H$Genus == Genus &
                                             Parameters_RCD2H$Epithet == Epithet]
  b2 <- Parameters_RCD2H$beta_2[Parameters_RCD2H$Genus == Genus &
                                             Parameters_RCD2H$Epithet == Epithet]
  if(length(b1) < 1){
    warning("Unknown species. Currently supported species:\n",
            paste(Parameters_RCD2H$Genus,
                  Parameters_RCD2H$Epithet, collapse = ", "))
  }else{
    AGB <- b1*(RCD_corrected^2 * H)^b2
    return(AGB)
  }
}
ManuelPopp/BiomassEST documentation built on Dec. 17, 2021, 2:19 a.m.