From ae5ec58db9f3107c7dc17d463b11a32dd0f97a53 Mon Sep 17 00:00:00 2001 From: aho Date: Fri, 24 Apr 2020 17:37:48 +0200 Subject: [PATCH 1/3] Bugfix for longitude transform when reach border. --- R/Start.R | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/R/Start.R b/R/Start.R index 1cf059c..1ae80ea 100644 --- a/R/Start.R +++ b/R/Start.R @@ -2177,15 +2177,27 @@ print("-> SELECTORS REQUESTED BEFORE TRANSFORM.") first_index <- min(unlist(sub_array_of_indices)) last_index <- max(unlist(sub_array_of_indices)) - start_padding <- min(beta, first_index - 1) - end_padding <- min(beta, n - last_index) - sub_array_of_fri <- (first_index - start_padding):(last_index + end_padding) - if (start_padding != beta | end_padding != beta) { - .warning(paste0("Adding parameter transform_extra_cells = ", + start_padding <- min(beta, first_index - 1) + end_padding <- min(beta, n - last_index) + + if (!is_circular_dim) { #latitude + sub_array_of_fri <- (first_index - start_padding):(last_index + end_padding) + if (start_padding != beta | end_padding != beta) { + .warning(paste0("Adding parameter transform_extra_cells = ", transform_extra_cells, " to the transformed index excesses ", "the border. The border index is used for transformation.")) - } - + } + } else { #longitude + if ((last_index - first_index + 1 + beta * 2) >= n) { + sub_array_of_fri <- 1:n + } else if (start_padding < beta) { # left side too close to border, need to go to right side + sub_array_of_fri <- c((first_index - start_padding):(last_index + end_padding), (n - (beta - start_padding - 1)):n) + } else if (end_padding < beta) { # right side too close to border, need to go to left side + sub_array_of_fri <- c(1: (beta - end_padding), (first_index - start_padding):(last_index + end_padding)) + } else { #normal + sub_array_of_fri <- (first_index - start_padding):(last_index + end_padding) + } + } } subset_vars_to_transform <- vars_to_transform if (!is.null(var_ordered)) { -- GitLab From be21e09d6bfe9604a76a7d2d10d3a615b65b4142 Mon Sep 17 00:00:00 2001 From: aho Date: Fri, 24 Apr 2020 18:14:44 +0200 Subject: [PATCH 2/3] Fix for unreorder case. --- R/Start.R | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/R/Start.R b/R/Start.R index 1ae80ea..156ee53 100644 --- a/R/Start.R +++ b/R/Start.R @@ -2180,6 +2180,7 @@ print("-> SELECTORS REQUESTED BEFORE TRANSFORM.") start_padding <- min(beta, first_index - 1) end_padding <- min(beta, n - last_index) + if (exists("is_circular_dim")) { if (!is_circular_dim) { #latitude sub_array_of_fri <- (first_index - start_padding):(last_index + end_padding) if (start_padding != beta | end_padding != beta) { @@ -2198,6 +2199,15 @@ print("-> SELECTORS REQUESTED BEFORE TRANSFORM.") sub_array_of_fri <- (first_index - start_padding):(last_index + end_padding) } } + } else { # when _reorder is not used + sub_array_of_fri <- (first_index - start_padding):(last_index + end_padding) + if (start_padding != beta | end_padding != beta) { + .warning(paste0("Adding parameter transform_extra_cells = ", + transform_extra_cells, " to the transformed index excesses ", + "the border. The border index is used for transformation.")) + } + } + } subset_vars_to_transform <- vars_to_transform if (!is.null(var_ordered)) { -- GitLab From 541db8e89a10ac3255f773b87d758cd3bb3d271d Mon Sep 17 00:00:00 2001 From: aho Date: Fri, 24 Apr 2020 18:20:57 +0200 Subject: [PATCH 3/3] Update NEWS.md --- NEWS.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index de03627..827fa58 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,7 @@ -# startR v1.0.1 (Release date: 2020-04-) +# startR v1.0.2 (Release date: 2020-) +- Bugfix for longitude transformation when the required grid point across the borders. The bug apprears at v1.0.0 and v1.0.1. + +# startR v1.0.1 (Release date: 2020-04-21) - Bugfix for global longitude across the borders. - Bugfix for longitude transformation when across the borders. - Bugfix for transform_extra_cells when across the borders. -- GitLab