rm(list=ls())
gc()
setwd("/esarchive/scratch/nperez/git/auto-s2s")

source("modules/Loading/Loading.R")
source("modules/Calibration/Calibration.R")
source("modules/Anomalies/Anomalies.R")
source("modules/Skill/Skill.R")
source("modules/Saving/Saving.R")
source("modules/Visualization/Visualization.R")
source("tools/prepare_outputs.R")

# Read recipe
args = commandArgs(trailingOnly = TRUE)
recipe_file <- args[1]
recipe <- read_atomic_recipe(recipe_file)
## to test a single recipe:
#recipe_file <- "recipe_ecvs_seasonal_oper.yml"
#recipe <- prepare_outputs(recipe_file)

# Load datasets
data <- load_datasets(recipe)
# Calibrate datasets
data <- calibrate_datasets(recipe, data)
# Compute skill metrics 
skill_metrics <- compute_skill_metrics(recipe, data)
# Compute percentiles and probability bins
probabilities <- compute_probabilities(recipe, data)
# Export all data to netCDF
## TODO: Fix plotting
# save_data(recipe, data, skill_metrics, probabilities)
# Plot data
plot_data(recipe, data, skill_metrics, probabilities, significance = T)


