R/fLookUp_variable_info.R

Defines functions fLookUp_variable_info

Documented in fLookUp_variable_info

#' Do you ever just forget common names and units for particular variables in the FLUXNET suite?
#' By calling this function, you can access common column names, their descriptions, and units.
#' If a column name is not listed, feel free to use a similar style.


#' @export
#' @title Lookup info for abbreviated FLUXNET variables
#' @param y a character object specifying the column name of a variable of interest (e.g. 'NEE_NT_U50_gf', 'k_NEE', and 'NEE' are all variations on net ecosystem exchange as a column header)



fLookUp_variable_info <- function(y) {
  ## Create column info for column names:
  ycols <- c("NEE_NT_U50_gf", "GPP_NT_U50_gf", "Reco_NT_U50_gf", "PPFD_NT_gf", "SW_IN_NT_gf", "Tair_NT_gf", "Tsoil_NT_gf", "VPD_NT_gf",
             "NEE_DT_U50_gf", "GPP_DT_U50_gf", "Reco_DT_U50_gf", "PPFD_DT_gf", "SW_IN_DT_gf", "Tair_DT_gf", "Tsoil_DT_gf", "VPD_DT_gf",

             "k_NEE", "k_LE", "k_H", "k_SW_in", "k_SW_out",
             "k_LW_in", "k_LW_out", "k_Rnet", "k_albedo",
             "k_Tair", "k_Tsoil", "k_SWC", "k_RH", "k_VPD", "k_ustar", "k_PPFD",

             "NEE", "LE", "H", "SW_in", "SW_out",
             "LW_in", "LW_out", "Rnet", "albedo",
             "Tair", "Tsoil", "SWC", "RH", "VPD", "ustar", "PPFD")

  ynames <- c("NEE", "GPP", "Reco", "PPFD", "SW_in", "Tair", "Tsoil", "VPD",
              "NEE", "GPP", "Reco", "PPFD", "SW_in", "Tair", "Tsoil", "VPD",

              "NEE", "LE", "H", "SW_in", "SW_out",
              "LW_in", "LW_out", "Rnet", "albedo",
              "Tair", "Tsoil", "SWC", "RH", "VPD", "ustar", "PPFD",

              "NEE", "LE", "H", "SW_in", "SW_out",
              "LW_in", "LW_out", "Rnet", "albedo",
              "Tair", "Tsoil", "SWC", "RH", "VPD", "ustar", "PPFD")

  ytitles <- c("Net Ecosystem Exchange (night method)", "Gross Primary Productivity (night method)", "Ecosystem Respiration (night method)",
               "Photosynthetic photon flux density (night method)","SW radiation, incoming (night method)",
               "Air temperature (night method)", "Soil temperature (night method)", "Vapor pressure deficit (night method)",

               "Net Ecosystem Exchange (day method)", "Gross Primary Productivity (day method)", "Ecosystem Respiration (day method)",
               "Photosynthetic photon flux density (day method)","SW radiation, incoming (day method)",
               "Air temperature (day method)", "Soil temperature (day method)", "Vapor pressure deficit (day method)",

               "Net Ecosystem Exchange (no GF)", "Latent Heat Flux (no GF)", "Sensible Heat Flux (no GF)", "SW radiation, incoming (no GF)", "SW radiation, outgoing (no GF)",
               "LW radiation, incoming (no GF)", "LW radiation, outgoing (no GF)", "Net radiation (no GF)", "Albedo (no GF)",
               "Air temperature (no GF)", "Soil temperature (no GF)", "Soil water content (no GF)", "Relative humidity (no GF)",
               "Vapor pressure deficit (no GF)", "Friction velocity (no GF)", "Photosynthetic photon flux density (no GF)",

               "Net Ecosystem Exchange", "Latent Heat Flux", "Sensible Heat Flux", "SW radiation, incoming", "SW radiation, outgoing",
               "LW radiation, incoming", "LW radiation, outgoing", "Net radiation", "Albedo",
               "Air temperature", "Soil temperature", "Soil water content", "Relative humidity",
               "Vapor pressure deficit", "Friction velocity", "Photosynthetic photon flux density")

  yinfo <- data.frame(ycols, ynames, ytitles)

  yinfo[] <- lapply(yinfo, as.character)

  names(ycols) <- ynames


  find_Units <- function(VARIABLE_Name) {if (VARIABLE_Name == "NEE") {
    expression(atop("NEE",paste("(\u03BCmol ",CO[2]," ",m^-2," ",s^-1,")"))) ## Changing out the mu symbol because R no likey
  } else if (VARIABLE_Name == "GPP") {
    expression(atop("GPP", paste("(\u03BCmol ",CO[2]," ",m^-2," ",s^-1,")")))
  } else if (VARIABLE_Name == "Reco") {
    expression(atop("Reco", paste("(\u03BCmol ",CO[2]," ",m^-2," ",s^-1,")")))
  } else if (VARIABLE_Name == "LE") {
    expression(atop("LE", paste("(W ",m^-2,")")))
  } else if (VARIABLE_Name == "H") {
    expression(atop("H", paste("(W ",m^-2,")")))
  } else if (VARIABLE_Name == "SW_in") {
    expression(atop("SW_in", paste("(W ",m^-2,")")))
  } else if (VARIABLE_Name == "SW_out") {
    expression(atop("SW_out", paste("(W ",m^-2,")")))
  } else if (VARIABLE_Name == "LW_in") {
    expression(atop("LW_in", paste("(W ",m^-2,")")))
  } else if (VARIABLE_Name == "LW_out") {
    expression(atop("LW_out", paste("(W ",m^-2,")")))
  } else if (VARIABLE_Name == "Rnet") {
    expression(atop("Rnet", paste("(W ",m^-2,")")))
  } else if (VARIABLE_Name == "albedo") {
    expression(atop("Albedo"))
  } else if (VARIABLE_Name == "Tair") {
    expression(atop("Tair", paste("(\u00B0C)"))) ## Changing out the degree symbol because R no likey
  } else if (VARIABLE_Name == "Tsoil") {
    expression(atop("Tsoil", paste("(\u00B0C)")))
  } else if (VARIABLE_Name == "SWC") {
    expression(atop("SWC", paste("(%)")))
  } else if (VARIABLE_Name == "RH") {
    expression(atop("RH", paste("(%)")))
  } else if (VARIABLE_Name == "VPD") {
    expression(atop("VPD", paste("(hPa)")))
  } else if (VARIABLE_Name == "ustar") {
    expression(atop("U*", paste("(",m^-2,")")))
  } else if (VARIABLE_Name == "PPFD") {
    expression(atop("PPFD",paste("(\u03BCmol photon ",m^-2," ",s^-1,")")))
  }}


  VARIABLE_Selected <- y
  VARIABLE_Info <- yinfo[yinfo$ycols %in% y, ]

  VARIABLE_Units <- find_Units(VARIABLE_Info$ynames)

  VARIABLE_Meta <- list('y' = y,
                        'Name' = VARIABLE_Info$ynames,
                        'Title' = VARIABLE_Info$ytitles,
                        'Units' = VARIABLE_Units)

  return(VARIABLE_Meta)


}
ksmiff33/FluxSynthU documentation built on Dec. 15, 2020, 10:29 p.m.