diff --git a/R/PeriodStandardization.R b/R/PeriodStandardization.R index b71270f14086d2db804f4a046b0766b6f1952edc..00ebc71e9d89a57abad615e4d512c286582da3b1 100644 --- a/R/PeriodStandardization.R +++ b/R/PeriodStandardization.R @@ -125,7 +125,10 @@ CST_PeriodStandardization <- function(data, data_cor = NULL, time_dim = 'syear', if (is.null(data_cor)) { data$data <- std - data$attrs$Variable$varName <- paste0(data$attrs$Variable$varName, ' standardized') + data_longname <- data$attrs$Variable$metadata[[data$attrs$Variable$varName]]$longname + if (!is.null(data_longname)) { + data$attrs$Variable$metadata[[data$attrs$Variable$varName]]$longname <- paste(data_longname, 'standardized') + } if (return_params) { return(list(spei = data, params = params)) } else { @@ -133,7 +136,10 @@ CST_PeriodStandardization <- function(data, data_cor = NULL, time_dim = 'syear', } } else { data_cor$data <- std - data_cor$attrs$Variable$varName <- paste0(data_cor$attrs$Variable$varName, ' standardized') + data_cor_longname <- data_cor$attrs$Variable$metadata[[data_cor$attrs$Variable$varName]]$longname + if (!is.null(data_cor_longname)) { + data_cor$attrs$Variable$metadata[[data_cor$attrs$Variable$varName]]$longname <- paste(data_cor_longname, 'standardized') + } data_cor$attrs$Datasets <- c(data_cor$attrs$Datasets, data$attrs$Datasets) data_cor$attrs$source_files <- c(data_cor$attrs$source_files, data$attrs$source_files) return(data_cor) @@ -644,4 +650,4 @@ PeriodStandardization <- function(data, data_cor = NULL, dates = NULL, } else { return(NA) } -} \ No newline at end of file +} diff --git a/tests/testthat/test-PeriodStandardization.R b/tests/testthat/test-PeriodStandardization.R index 1e816c005efe765d119cfc0645b787d5780b8390..4def61da1641df7e5fe61f82c4384f647e8e7252 100644 --- a/tests/testthat/test-PeriodStandardization.R +++ b/tests/testthat/test-PeriodStandardization.R @@ -38,7 +38,15 @@ dims3 <- c(syear = 6, time = 2, lat = 2, ensemble = 25) set.seed(1) dat3 <- array(abs(rnorm(600, 21.19, 25.64)), dim = dims) - +# dat4 +test <- NULL +test$data <- array(rnorm(600, -204.1, 78.1), dim = dims) +test$dims <- dims +test$coords <- setNames(as.list(as.numeric(test$dims)), names(test$dims)) +test$attrs <- list(Variable = list(varName = 'prlr', + metadata = list(units = "m s-1", + longname = "Total precipitation"))) +class(test) <- 's2dv_cube' ############################################## test_that("1. Initial checks CST_PeriodStandardization", { @@ -152,11 +160,18 @@ test_that("1. Initial checks PeriodStandardization", { test_that("2. Output checks", { # CST_PeriodStandardization + prlr <- CST_PeriodStandardization(data = test) + expect_equal( + names(prlr), + c("data", "dims", "coords", "attrs") + ) + SPEI_s2dv_cube <- CST_PeriodStandardization(data = cube1) expect_equal( names(SPEI_s2dv_cube), - c('data', 'attrs') + c('data') ) + # PeriodStandardization SPEI <- PeriodStandardization(data = dat1) expect_equal(