From 80e45777f70f7cb0531e6bae7611447b5fa45ebd Mon Sep 17 00:00:00 2001 From: Rich Fiorella Date: Tue, 6 Jul 2021 10:23:56 -0600 Subject: [PATCH 1/2] Update R-CMD-check.yaml update to track cran-rc05 branch --- .github/workflows/R-CMD-check.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 3237c74..f897933 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -8,12 +8,10 @@ on: push: branches: - main - - master - - cran-rc0.4 + - cran-rc05 pull_request: branches: - main - - master name: R-CMD-check From 25c9a7e2b3bb930be5b571ff4f01eaaa8b28c866 Mon Sep 17 00:00:00 2001 From: Rich Fiorella Date: Thu, 12 Aug 2021 09:02:44 -0600 Subject: [PATCH 2/2] Update stackEddy for neonUtilities 2.1.1 neonUtilities 2.1.1 allows for specifying 'isoH2o' or 'isoCo2' as var instead of reading in the whole dp01 level. Haven't tested on the water functions, but this change for the carbon function cuts compute time by >2x. --- R/calibrate_water.R | 9 +++++++-- R/restructure_data.R | 21 +++++++++++++++++++-- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/R/calibrate_water.R b/R/calibrate_water.R index 54f760b..23dc0c8 100644 --- a/R/calibrate_water.R +++ b/R/calibrate_water.R @@ -69,8 +69,13 @@ calibrate_water <- function(inpath, slope_tolerance = 9999) { # stack data available for a given site into a single timeseries. - wiso_ref <- neonUtilities::stackEddy(inpath, level = "dp01", avg = 3) - wiso_amb <- neonUtilities::stackEddy(inpath, level = "dp01", avg = 9) + if (packageVersion("neonUtilities") >= "2.1.1") { + wiso_ref <- neonUtilities::stackEddy(inpath, level = "dp01", avg = 3, var = 'isoH2o') + wiso_amb <- neonUtilities::stackEddy(inpath, level = "dp01", avg = 9, var = 'isoH2o') + } else { + wiso_ref <- neonUtilities::stackEddy(inpath, level = "dp01", avg = 3) + wiso_amb <- neonUtilities::stackEddy(inpath, level = "dp01", avg = 9) + } # extract standards data. high <- subset(wiso_ref[[site]], wiso_ref[[site]]$verticalPosition == 'h2oHigh') diff --git a/R/restructure_data.R b/R/restructure_data.R index 8e505a4..f65f23d 100644 --- a/R/restructure_data.R +++ b/R/restructure_data.R @@ -22,7 +22,11 @@ ingest_data <- function(inname, analyte) { if (analyte == 'Co2') { - data <- neonUtilities::stackEddy(inname, avg = 9, level = 'dp01')[[1]] + if (packageVersion("neonUtilities") >= "2.1.1") { + data <- neonUtilities::stackEddy(inname, avg = 9, level = 'dp01', var = 'isoCo2')[[1]] + } else { + data <- neonUtilities::stackEddy(inname, avg = 9, level = 'dp01')[[1]] + } # filter data and remove rows that are all NaNs: data <- data %>% @@ -324,33 +328,46 @@ restructure_ambient_data <- function(inpath, analyte) { dlta18O_list <- neonUtilities::stackEddy(inpath, level = "dp01", var = "dlta18OH2o", avg = 9) dlta18OH2o <- restructure_water_variables(dlta18O_list, "dlta18OH2o", "ambient") + dlta18OH2o[[1]] <- dlta18OH2o[[1]][rowSums(is.na(dlta18OH2o[[1]])) < 5,] dlta2H_list <- neonUtilities::stackEddy(inpath, level = "dp01", var = "dlta2HH2o", avg = 9) dlta2HH2o <- restructure_water_variables(dlta2H_list, "dlta2HH2o", "ambient") + dlta2HH2o[[1]] <- dlta2HH2o[[1]][rowSums(is.na(dlta2HH2o[[1]])) < 5,] pres_list <- neonUtilities::stackEddy(inpath, level = "dp01", var = "pres", avg = 9) pres <- restructure_water_variables(pres_list, "pres", "ambient") + pres[[1]] <- pres[[1]][rowSums(is.na(pres[[1]])) < 5,] presEnvHut_list <- neonUtilities::stackEddy(inpath, level = "dp01", var = "presEnvHut", avg = 9) presEnvHut <- restructure_water_variables(presEnvHut_list, "presEnvHut", "ambient") + presEnvHut[[1]] <- presEnvHut[[1]][rowSums(is.na(presEnvHut[[1]])) < 5,] rhEnvHut_list <- neonUtilities::stackEddy(inpath, level = "dp01", var = "rhEnvHut", avg = 9) rhEnvHut <- restructure_water_variables(rhEnvHut_list, "rhEnvHut", "ambient") + rhEnvHut[[1]] <- rhEnvHut[[1]][rowSums(is.na(rhEnvHut[[1]])) < 5,] + rtioMoleDryH2o_list <- neonUtilities::stackEddy(inpath, level = "dp01", var = "rtioMoleDryH2o", avg = 9) + rtioMoleDryH2o <- restructure_water_variables(rtioMoleDryH2o_list, "rtioMoleDryH2o", "ambient") + rtioMoleDryH2o[[1]] <- rtioMoleDryH2o[[1]][rowSums(is.na(rtioMoleDryH2o[[1]])) < 5,] + rtioMoleWetH2o_list <- neonUtilities::stackEddy(inpath, level = "dp01", var = "rtioMoleWetH2o", avg = 9) rtioMoleWetH2o <- restructure_water_variables(rtioMoleWetH2o_list, "rtioMoleWetH2o", "ambient") + rtioMoleWetH2o[[1]] <- rtioMoleWetH2o[[1]][rowSums(is.na(rtioMoleWetH2o[[1]])) < 5,] rtioMoleWetH2oEnvHut_list <- neonUtilities::stackEddy(inpath, level = "dp01", var = "rtioMoleWetH2oEnvHut", avg = 9) rtioMoleWetH2oEnvHut <- restructure_water_variables(rtioMoleWetH2oEnvHut_list, "rtioMoleWetH2oEnvHut", "ambient") + rtioMoleWetH2oEnvHut[[1]] <- rtioMoleWetH2oEnvHut[[1]][rowSums(is.na(rtioMoleWetH2oEnvHut[[1]])) < 5,] temp_list <- neonUtilities::stackEddy(inpath, level = "dp01", var = "temp", avg = 9) temp <- restructure_water_variables(temp_list, "temp", "ambient") + temp[[1]] <- temp[[1]][rowSums(is.na(temp[[1]])) < 5,] tempEnvHut_list <- neonUtilities::stackEddy(inpath, level = "dp01", var = "tempEnvHut", avg = 9) tempEnvHut <- restructure_water_variables(tempEnvHut_list, "tempEnvHut", "ambient") + tempEnvHut[[1]] <- tempEnvHut[[1]][rowSums(is.na(tempEnvHut[[1]])) < 5,] data_out_all <- do.call(rbind,list(dlta18OH2o[[1]], dlta2HH2o[[1]], pres[[1]], presEnvHut[[1]], rhEnvHut[[1]], - rtioMoleWetH2o[[1]], rtioMoleWetH2oEnvHut[[1]], temp[[1]], tempEnvHut[[1]])) + rtioMoleDryH2o[[1]], rtioMoleWetH2o[[1]], rtioMoleWetH2oEnvHut[[1]], temp[[1]], tempEnvHut[[1]])) # split first by height data_by_height <- base::split(data_out_all, factor(data_out_all$verticalPosition))