From e1f450685f1739842af785507b7c558d88511aab Mon Sep 17 00:00:00 2001 From: vagudets Date: Tue, 26 Mar 2024 09:38:45 +0100 Subject: [PATCH 1/4] Fix bug in merging of Dates attribute --- R/CST_MergeDims.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R/CST_MergeDims.R b/R/CST_MergeDims.R index dabdc57f..6756ce79 100644 --- a/R/CST_MergeDims.R +++ b/R/CST_MergeDims.R @@ -53,7 +53,8 @@ CST_MergeDims <- function(data, merge_dims = c('ftime', 'monthly'), # attrs if (all(merge_dims %in% names(dim(data$attrs$Dates)))) { - dim(data$attrs$Dates) <- dim(data$data)[rename_dim] + data$attrs$Dates <- MergeDims(data$attrs$Dates, merge_dims = merge_dims, + rename_dim = rename_dim, na.rm = na.rm) } else if (any(merge_dims %in% names(dim(data$attrs$Dates)))) { warning("The dimensions of 'Dates' array will be different from ", "the temporal dimensions in 'data'. Parameter 'merge_dims' ", -- GitLab From 8068b4d9f6996dfb803ca79967fbcffb48cf7702 Mon Sep 17 00:00:00 2001 From: vagudets Date: Tue, 26 Mar 2024 09:38:56 +0100 Subject: [PATCH 2/4] Revert "Fix bug in merging of Dates attribute" This reverts commit e1f450685f1739842af785507b7c558d88511aab. --- R/CST_MergeDims.R | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/R/CST_MergeDims.R b/R/CST_MergeDims.R index 6756ce79..dabdc57f 100644 --- a/R/CST_MergeDims.R +++ b/R/CST_MergeDims.R @@ -53,8 +53,7 @@ CST_MergeDims <- function(data, merge_dims = c('ftime', 'monthly'), # attrs if (all(merge_dims %in% names(dim(data$attrs$Dates)))) { - data$attrs$Dates <- MergeDims(data$attrs$Dates, merge_dims = merge_dims, - rename_dim = rename_dim, na.rm = na.rm) + dim(data$attrs$Dates) <- dim(data$data)[rename_dim] } else if (any(merge_dims %in% names(dim(data$attrs$Dates)))) { warning("The dimensions of 'Dates' array will be different from ", "the temporal dimensions in 'data'. Parameter 'merge_dims' ", -- GitLab From dd2abac3e151a2b75bd718b9cfb4783a463aed4c Mon Sep 17 00:00:00 2001 From: vagudets Date: Tue, 26 Mar 2024 09:41:31 +0100 Subject: [PATCH 3/4] develop-fix_CST_MergeDims_Dates --- R/CST_MergeDims.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R/CST_MergeDims.R b/R/CST_MergeDims.R index dabdc57f..6756ce79 100644 --- a/R/CST_MergeDims.R +++ b/R/CST_MergeDims.R @@ -53,7 +53,8 @@ CST_MergeDims <- function(data, merge_dims = c('ftime', 'monthly'), # attrs if (all(merge_dims %in% names(dim(data$attrs$Dates)))) { - dim(data$attrs$Dates) <- dim(data$data)[rename_dim] + data$attrs$Dates <- MergeDims(data$attrs$Dates, merge_dims = merge_dims, + rename_dim = rename_dim, na.rm = na.rm) } else if (any(merge_dims %in% names(dim(data$attrs$Dates)))) { warning("The dimensions of 'Dates' array will be different from ", "the temporal dimensions in 'data'. Parameter 'merge_dims' ", -- GitLab From 181f5f04fb2f6aa6d95a2f14b7aa1d5eee4decd0 Mon Sep 17 00:00:00 2001 From: vagudets Date: Mon, 8 Apr 2024 16:32:06 +0200 Subject: [PATCH 4/4] Transform Dates back into POSIXct after merging --- R/CST_MergeDims.R | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/R/CST_MergeDims.R b/R/CST_MergeDims.R index 6756ce79..bb06bf60 100644 --- a/R/CST_MergeDims.R +++ b/R/CST_MergeDims.R @@ -53,8 +53,14 @@ CST_MergeDims <- function(data, merge_dims = c('ftime', 'monthly'), # attrs if (all(merge_dims %in% names(dim(data$attrs$Dates)))) { + original_timezone <- attr(data$attrs$Dates[1], "tzone") data$attrs$Dates <- MergeDims(data$attrs$Dates, merge_dims = merge_dims, rename_dim = rename_dim, na.rm = na.rm) + # Transform dates back to POSIXct + data$attrs$Dates <- as.POSIXct(data$attrs$Dates, + origin = "1970-01-01", + tz = original_timezone) + } else if (any(merge_dims %in% names(dim(data$attrs$Dates)))) { warning("The dimensions of 'Dates' array will be different from ", "the temporal dimensions in 'data'. Parameter 'merge_dims' ", -- GitLab