From ca97f8591dc56aff32c9978aa3529fdfbf9770f3 Mon Sep 17 00:00:00 2001 From: vagudets Date: Thu, 29 May 2025 14:31:33 +0200 Subject: [PATCH 1/2] Bugfix --- modules/Crossval/Crossval_metrics.R | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/modules/Crossval/Crossval_metrics.R b/modules/Crossval/Crossval_metrics.R index 169ccb1e..f32aac24 100644 --- a/modules/Crossval/Crossval_metrics.R +++ b/modules/Crossval/Crossval_metrics.R @@ -90,7 +90,7 @@ Crossval_metrics <- function(recipe, data_crossval, # To use it when visualization works for more rps skill_metrics[[paste0('rps-', names(categories)[ps])]] <- rps skill_metrics[[paste0('rps_clim-', - exe_rps[ps])]] <- rps_clim + names(categories)[ps])]] <- rps_clim } } if ('rpss' %in% requested_metrics) { @@ -120,7 +120,7 @@ Crossval_metrics <- function(recipe, data_crossval, } } if (tolower(recipe$Analysis$Horizon) == 'subseasonal') { - # The evaluation of all metrics are done with extra sample + # The evaluation of all metrics are done with extra sample data_crossval$hcst <- CST_MergeDims(data_crossval$hcst, merge_dims = c('sweek', 'syear'), rename_dim = 'syear', na.rm = FALSE) @@ -274,16 +274,17 @@ Crossval_metrics <- function(recipe, data_crossval, original <- recipe$Run$output_dir recipe$Run$output_dir <- paste0(original, "/", "outputs/Skill/") - skill_metrics <- lapply(skill_metrics, function(x) { - if (is.logical(x)) { - dims <- dim(x) - res <- as.numeric(x) - dim(res) <- dims - } else { - res <- x - } - return(res) - }) + skill_metrics <- lapply(skill_metrics, + function(x) { + if (is.logical(x)) { + dims <- dim(x) + res <- as.numeric(x) + dim(res) <- dims + } else { + res <- x + } + return(res) + }) # Save metrics # reduce dimension to work with Visualization module: skill_metrics <- lapply(skill_metrics, function(x) {.drop_dims(x)}) -- GitLab From bbfb35ff632274abf04d6f00d626ebbe329e2f65 Mon Sep 17 00:00:00 2001 From: vagudets Date: Thu, 12 Jun 2025 14:22:42 +0200 Subject: [PATCH 2/2] Remove TODO --- modules/Crossval/Crossval_multimodel_metrics.R | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/modules/Crossval/Crossval_multimodel_metrics.R b/modules/Crossval/Crossval_multimodel_metrics.R index ea55c5af..d59b71db 100644 --- a/modules/Crossval/Crossval_multimodel_metrics.R +++ b/modules/Crossval/Crossval_multimodel_metrics.R @@ -228,14 +228,6 @@ Crossval_multimodel_metrics <- function(recipe, categories <- lapply(categories, function (x) { sapply(x, function(x) { eval(parse(text = x))}, USE.NAMES = FALSE)}) - # TODO: distinguish between rpss and bss - # if 1 percentile -> bss - # if more than 1 -> rpss - ## exe_rps <- unlist(lapply(categories, function(x) { - ## if (length(x) > 1) { - ## x <- x[1] *100 - ## } - ## return(x)})) ## TODO: Understand this if (!is.null(datos)) { if (Fair) { @@ -264,7 +256,6 @@ Crossval_multimodel_metrics <- function(recipe, skill_metrics$rps_clim <- rps_clim } else { # names based on the categories: - # To use it when visualization works for more rps skill_metrics[[paste0('rps-', names(categories)[ps])]] <- rps skill_metrics[[paste0('rps_clim-', names(categories)[ps])]] <- rps_clim @@ -287,9 +278,8 @@ Crossval_multimodel_metrics <- function(recipe, skill_metrics[[paste0('rpss')]] <- rpss$rpss skill_metrics[[paste0('rpss_significance')]] <- rpss$sign } else { - # TO USE IT when visualization works for more rpsss + # names based on the categories: skill_metrics[[paste0('rpss-', names(categories)[ps])]] <- rpss$rpss - ## TODO: Change this name? skill_metrics[[paste0('rpss-', names(categories)[ps], "_significance")]] <- rpss$sign -- GitLab