Commits (2)
......@@ -15,16 +15,11 @@ source("modules/Anomalies/Anomalies.R")
recipe_file <- "recipes/examples/NAO_recipe.yml"
recipe <- prepare_outputs(recipe_file)
#for (smonth in 1:12) {
data <- load_datasets(recipe)
gc()
data <- compute_anomalies(recipe, data)
# data <- readRDS("../Test_NAOmodule.RDS")
data <- Loading(recipe)
data <- Anomalies(recipe, data)
source("modules/Indices/Indices.R")
nao_s2dv <- Indices(data = data, recipe = recipe)
nao_s2dv <- Indices(data = data, recipe = recipe)
source("modules/Skill/Skill.R")
# todo parameter agg to get it from the nao_s2dv?
skill_metrics <- compute_skill_metrics(recipe = recipe, data = nao_s2dv,
agg = 'region')
skill_metrics <- Skill(recipe = recipe, data = nao_s2dv, agg = 'region')
......@@ -96,24 +96,26 @@ compute_nao <- function(data, recipe, obsproj, plot_ts, plot_sp,
data = nao$exp,
varName = "nao",
metadata = list(
region = list(name = "NAO region",
lats_range = paste0(range(lats)),
lons_range = paste0(range(lons))),
region = list(name = "region",
long_name = "NAO region",
lats_range = paste(range(lats), collapse = ", "),
lons_range = paste(range(lons), collapse = ", ")),
time = data$hcst$attrs$Variable$metadata$time,
nao = list(units = 'adim',
longname = 'North Atlantic Oscillation')),
long_name = 'North Atlantic Oscillation')),
Dates = hcst_dates,
Dataset = recipe$Analysis$Datasets$System$name),
obs = s2dv_cube(
data = nao$obs,
varName = "nao",
metadata = list(
region = list(name = "NAO region",
lats_range = paste0(range(lats)),
lons_range = paste0(range(lons))),
region = list(name = "region",
long_name = "NAO region",
lats_range = paste(range(lats), collapse = ", "),
lons_range = paste(range(lons), collapse = ", ")),
time = data$obs$attrs$Variable$metadata$time,
nao = list(units = 'adim',
longname = 'North Atlantic Oscillation')),
long_name = 'North Atlantic Oscillation')),
Dates = data$obs$attrs$Dates,
Dataset = recipe$Analysis$Datasets$Reference$name))
if (recipe$Analysis$Workflow$Indices$NAO$save == 'all') {
......
......@@ -82,24 +82,26 @@ compute_nino <- function(data, recipe, region, standardised = TRUE,
data = nino_hcst,
varName = nino_name,
metadata = list(
region = list(name = paste("Nino", region_name, "region"),
lats_range = paste(region[3:4]),
lons_range = paste(region[1:2])),
region = list(name = "region",
long_name = paste("Nino", region_name, "region"),
lats_range = paste(region[3], region[4], collapse = ", "),
lons_range = paste(region[1], region[1], collapse = ", ")),
time = data$hcst$attrs$Variable$metadata$time,
nino = list(units = var_units,
longname = paste("El Niño", region_name, "Index"))),
long_name = paste("El Niño", region_name, "Index"))),
Dates = hcst_dates,
Dataset = recipe$Analysis$Datasets$System$name),
obs = s2dv_cube(
data = nino_obs,
varName = nino_name,
metadata = list(
region = list(name = paste("Nino", region_name, "region"),
lats_range = paste(region[3:4]),
lons_range = paste(region[1:2])),
region = list(name = "region",
long_name = paste("Nino", region_name, "region"),
lats_range = paste(region[3], region[4], collapse = ", "),
lons_range = paste(region[1], region[1], collapse = ", ")),
time = data$obs$attrs$Variable$metadata$time,
nino = list(units = var_units,
longname = paste("El Niño", region_name, "Index"))),
long_name = paste("El Niño", region_name, "Index"))),
Dates = data$obs$attrs$Dates,
Dataset = recipe$Analysis$Datasets$Reference$name))
......
......@@ -152,9 +152,8 @@ save_metrics <- function(recipe,
ArrayToNc(append(country, time, subset_metric), outfile)
} else if (tolower(agg) == "region") {
region <- array(1:dim(metrics[[1]])['region'], c(dim(metrics[[1]])['region']))
# TODO: check metadata when more than 1 region is store in the data array
metadata <- list(region = list(long_name = data_cube$attrs$Variable$metadata$region$name))
attr(region, 'variables') <- metadata
## TODO: check metadata when more than 1 region is store in the data array
attr(region, 'variables') <- data_cube$attrs$Variable$metadata['region']
vars <- list(region, time)
vars <- c(vars, subset_metric)
ArrayToNc(vars, outfile)
......