From 7d052ab63c9060a0c006df739881e57da9b94291 Mon Sep 17 00:00:00 2001 From: Victoria Agudetse Roures Date: Wed, 15 Feb 2023 12:56:34 +0100 Subject: [PATCH 1/9] Update names in the archive, add 'version' param --- conf/archive.yml | 35 ++++++++++--------- modules/Loading/Loading.R | 9 +++-- .../testing_recipes/recipe_seasonal-tests.yml | 3 +- modules/Saving/paths2save.R | 1 + .../tests/recipe_seasonal_two-variables.yml | 2 +- 5 files changed, 29 insertions(+), 21 deletions(-) diff --git a/conf/archive.yml b/conf/archive.yml index 0251beaf..87b593a3 100644 --- a/conf/archive.yml +++ b/conf/archive.yml @@ -3,10 +3,10 @@ archive: src: "/esarchive/" System: - system5c3s: + ECMWF-SEAS5: name: "ECMWF SEAS5" institution: "European Centre for Medium-Range Weather Forecasts" - src: "exp/ecmwf/system5c3s/" + src: {"5":"exp/ecmwf/system5c3s/", "51":"exp/ecmwf/system51c3s/"} daily_mean: {"tas":"_f6h/", "rsds":"_s0-24h/", "prlr":"_s0-24h/", "sfcWind":"_f6h/", "tasmin":"_f24h/", "tasmax":"_f24h/", "ta300":"_f12h/", "ta500":"_f12h/", "ta850":"_f12h/", @@ -21,10 +21,10 @@ archive: calendar: "proleptic_gregorian" time_stamp_lag: "0" reference_grid: "/esarchive/exp/ecmwf/system5c3s/monthly_mean/tas_f6h/tas_20180501.nc" - system7c3s: + Meteo-France-System7: name: "Meteo-France System 7" institution: "European Centre for Medium-Range Weather Forecasts" - src: "exp/meteofrance/system7c3s/" + src: {"7":"exp/meteofrance/system7c3s/"} monthly_mean: {"tas":"_f6h/", "g500":"_f12h/", "prlr":"_f24h/", "sfcWind": "_f6h/", "tasmax":"_f6h/", "tasmin": "_f6h/"} @@ -34,10 +34,10 @@ archive: time_stamp_lag: "+1" calendar: "proleptic_gregorian" reference_grid: "conf/grid_description/griddes_system7c3s.txt" - system21_m1: + DWD-GCFS2.1: name: "DWD GCFS 2.1" institution: "European Centre for Medium-Range Weather Forecasts" - src: "exp/dwd/system21_m1/" + src: {"21":"exp/dwd/system21_m1/"} monthly_mean: {"tas":"_f6h/", "prlr":"_f24h/", "g500":"_f12h/", "sfcWind":"_f6h/", "tasmin":"_f24h/", "tasmax":"_f24h/"} @@ -47,10 +47,10 @@ archive: calendar: "proleptic_gregorian" time_stamp_lag: "+1" reference_grid: "conf/grid_description/griddes_system21_m1.txt" - system35c3s: + CMCC-SPS3.5: name: "CMCC-SPS3.5" institution: "European Centre for Medium-Range Weather Forecasts" - src: "exp/cmcc/system35c3s/" + src: {"35":"exp/cmcc/system35c3s/"} monthly_mean: {"tas":"_f6h/", "g500":"_f12h/", "prlr":"_f24h/", "sfcWind": "_f6h/", "tasmax":"_f24h/", "tasmin":"_f24h"} @@ -60,10 +60,10 @@ archive: calendar: "proleptic_gregorian" time_stamp_lag: "+1" reference_grid: "conf/grid_description/griddes_system35c3s.txt" - system2c3s: + JMA-CPS2: name: "JMA System 2" institution: "European Centre for Medium-Range Weather Forecasts" - src: "exp/jma/system2c3s/" + src: {"2":"exp/jma/system2c3s/"} monthly_mean: {"tas":"_f6h/", "prlr":"_f6h/", "tasmax":"_f6h/", "tasmin":"_f6h/"} nmember: @@ -72,10 +72,10 @@ archive: calendar: "proleptic_gregorian" time_stamp_lag: "+1" reference_grid: "conf/grid_description/griddes_system2c3s.txt" - eccc1: + ECCC-CanCM4i: name: "ECCC CanCM4i" institution: "European Centre for Medium-Range Weather Forecasts" - src: "exp/eccc/eccc1/" + src: {"2":"exp/eccc/eccc1/"} monthly_mean: {"tas":"_f6h/", "prlr":"_f6h/", "tasmax":"_f6h/", "tasmin":"_f6h/"} nmember: @@ -84,10 +84,11 @@ archive: calendar: "proleptic_gregorian" time_stamp_lag: "+1" reference_grid: "conf/grid_description/griddes_eccc1.txt" - glosea6_system600-c3s: - name: "UKMO GloSea 6 6.0" + UK-MetOffice-Glosea6: + name: "UK MetOffice GloSea 6" institution: "European Centre for Medium-Range Weather Forecasts" - src: "exp/ukmo/glosea6_system600-c3s/" + src: {"600":"exp/ukmo/glosea6_system600-c3s/", + "601":"exp/ukmo/glosea6_system601-c3s/"} monthly_mean: {"tas":"_f6h/", "tasmin":"_f24h/", "tasmax":"_f24h/", "prlr":"_f24h/"} nmember: @@ -96,10 +97,10 @@ archive: calendar: "proleptic_gregorian" time_stamp_lag: "+1" reference_grid: "conf/grid_description/griddes_ukmo600.txt" - ncep-cfsv2: + NCEP-CFSv2: name: "NCEP CFSv2" institution: "NOAA NCEP" #? - src: "exp/ncep/cfs-v2/" + src: {"2":"exp/ncep/cfs-v2/"} monthly_mean: {"tas":"_f6h/", "prlr":"_f6h/", "tasmax":"_f6h/", "tasmin":"_f6h/"} nmember: diff --git a/modules/Loading/Loading.R b/modules/Loading/Loading.R index 53d41cc2..65ff2737 100644 --- a/modules/Loading/Loading.R +++ b/modules/Loading/Loading.R @@ -19,6 +19,11 @@ load_datasets <- function(recipe) { lons.max <- recipe$Analysis$Region$lonmax ref.name <- recipe$Analysis$Datasets$Reference$name exp.name <- recipe$Analysis$Datasets$System$name + if (!is.null(recipe$Analysis$Datasets$System$version)) { + exp.version <- as.character(recipe$Analysis$Datasets$System$version) + } else { + exp.version <- 1 + } variable <- recipe$Analysis$Variables$name store.freq <- recipe$Analysis$Variables$freq @@ -55,8 +60,8 @@ load_datasets <- function(recipe) { reference_descrip <- archive$Reference[[ref.name]] freq.obs <- unlist(reference_descrip[[store.freq]][variable]) obs.dir <- reference_descrip$src - fcst.dir <- exp_descrip$src - hcst.dir <- exp_descrip$src + fcst.dir <- unlist(exp_descrip$src[[exp.version]]) + hcst.dir <- unlist(exp_descrip$src[[exp.version]]) fcst.nmember <- exp_descrip$nmember$fcst hcst.nmember <- exp_descrip$nmember$hcst diff --git a/modules/Loading/testing_recipes/recipe_seasonal-tests.yml b/modules/Loading/testing_recipes/recipe_seasonal-tests.yml index 4e8128e7..b56e5ed2 100644 --- a/modules/Loading/testing_recipes/recipe_seasonal-tests.yml +++ b/modules/Loading/testing_recipes/recipe_seasonal-tests.yml @@ -8,7 +8,8 @@ Analysis: freq: monthly_mean Datasets: System: - name: system21_m1 + name: ECMWF-SEAS5 + version: 5 Multimodel: False Reference: name: era5 diff --git a/modules/Saving/paths2save.R b/modules/Saving/paths2save.R index 2d5a0a4e..2ed597e9 100644 --- a/modules/Saving/paths2save.R +++ b/modules/Saving/paths2save.R @@ -62,6 +62,7 @@ get_dir <- function(recipe, agg = "global") { # startdate, and aggregation. ## TODO: Get aggregation from recipe + ## TODO: Add system to default format outdir <- paste0(recipe$Run$output_dir, "/outputs/") ## TODO: multivar case diff --git a/recipes/tests/recipe_seasonal_two-variables.yml b/recipes/tests/recipe_seasonal_two-variables.yml index 89406ece..a82b6d3e 100644 --- a/recipes/tests/recipe_seasonal_two-variables.yml +++ b/recipes/tests/recipe_seasonal_two-variables.yml @@ -17,7 +17,7 @@ Analysis: - {name: prlr, freq: monthly_mean} Datasets: System: # multiple systems for single model, split if Multimodel = F - - {name: system5c3s} + - {name: ECMWF-SEAS5, version: 5} Multimodel: False # single option Reference: - {name: era5} # multiple references for single model? -- GitLab From 4f0c91a37848025f32f493e5ec258f2f06b598f8 Mon Sep 17 00:00:00 2001 From: Victoria Agudetse Roures Date: Wed, 15 Feb 2023 12:56:56 +0100 Subject: [PATCH 2/9] Update scorecards output dictionary --- conf/output_dictionaries/scorecards.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/conf/output_dictionaries/scorecards.yml b/conf/output_dictionaries/scorecards.yml index c5071987..4307794f 100644 --- a/conf/output_dictionaries/scorecards.yml +++ b/conf/output_dictionaries/scorecards.yml @@ -1,26 +1,26 @@ System: - system5c3s: + ECMWF-SEAS5: short_name: "ecmwfs5" display_name: "ECMWF System 5" - system7c3s: + Meteo-France-System7: short_name: "meteofrances7" display_name: "Meteo-France System 7" - system21_m1: + DWD-GCFS2.1: short_name: "dwds21" display_name: "DWD System 21" - system35c3s: + CMCC-SPS3.5: short_name: "cmccs35" display_name: "CMCC System 35" - system2c3s: + JMA-CPS2: short_name: "jmas2" display_name: "JMA System 2" - eccc1: + ECCC-CanCM4i: short_name: "ecccs1" display_name: "ECCC System 1" - glosea6_system600-c3s: + UK-MetOffice-Glosea6: short_name: "ukmos600" display_name: "UK Met Office System 600" - ncep-cfsv2: + NCEP-CFSv2: short_name: "nceps2" display_name: "NCEP System 2" Reference: -- GitLab From c22e9858195c009ae5aeefe97008f0d0747e612a Mon Sep 17 00:00:00 2001 From: Victoria Agudetse Roures Date: Tue, 21 Feb 2023 10:15:04 +0100 Subject: [PATCH 3/9] Remove 'version' from recipe and archive --- conf/archive.yml | 38 +++++++++++++------ conf/grid_description/griddes_system51c3s.txt | 17 +++++++++ modules/Loading/Loading.R | 10 +---- .../testing_recipes/recipe_seasonal-tests.yml | 7 ++-- .../tests/recipe_seasonal_two-variables.yml | 2 +- 5 files changed, 50 insertions(+), 24 deletions(-) create mode 100644 conf/grid_description/griddes_system51c3s.txt diff --git a/conf/archive.yml b/conf/archive.yml index 87b593a3..d630e88c 100644 --- a/conf/archive.yml +++ b/conf/archive.yml @@ -6,7 +6,7 @@ archive: ECMWF-SEAS5: name: "ECMWF SEAS5" institution: "European Centre for Medium-Range Weather Forecasts" - src: {"5":"exp/ecmwf/system5c3s/", "51":"exp/ecmwf/system51c3s/"} + src: "exp/ecmwf/system5c3s/" daily_mean: {"tas":"_f6h/", "rsds":"_s0-24h/", "prlr":"_s0-24h/", "sfcWind":"_f6h/", "tasmin":"_f24h/", "tasmax":"_f24h/", "ta300":"_f12h/", "ta500":"_f12h/", "ta850":"_f12h/", @@ -21,10 +21,27 @@ archive: calendar: "proleptic_gregorian" time_stamp_lag: "0" reference_grid: "/esarchive/exp/ecmwf/system5c3s/monthly_mean/tas_f6h/tas_20180501.nc" + ECMWF-SEAS5.1: + name: "ECMWF SEAS5 (v5.1)" + institution: "European Centre for Medium-Range Weather Forecasts" + src: "exp/ecmwf/system51c3s/" + daily_mean: {"tas":"_f6h/", "prlr":"_s0-24h/", "sfcWind":"_f6h/", + "uas":"_f6h/", "vas":"_f6h/", "psl":"_f6h/", + "tdps":"_f6h/"} + monthly_mean: {"tas":"_f6h/", "rsds":"_s0-24h/", "prlr":"_s0-24h/", + "sfcWind":"_f6h/", "tasmin":"_f24h/", "tasmax":"_f24h/", + "uas":"_f6h/", "vas":"_f6h/", "psl":"_f6h/", + "tdps":"_f6h/"} + nmember: + fcst: 51 + hcst: 25 + calendar: "proleptic_gregorian" + time_stamp_lag: "0" + reference_grid: "conf/grid_description/griddes_system51c3s.txt" Meteo-France-System7: name: "Meteo-France System 7" institution: "European Centre for Medium-Range Weather Forecasts" - src: {"7":"exp/meteofrance/system7c3s/"} + src: "exp/meteofrance/system7c3s/" monthly_mean: {"tas":"_f6h/", "g500":"_f12h/", "prlr":"_f24h/", "sfcWind": "_f6h/", "tasmax":"_f6h/", "tasmin": "_f6h/"} @@ -37,7 +54,7 @@ archive: DWD-GCFS2.1: name: "DWD GCFS 2.1" institution: "European Centre for Medium-Range Weather Forecasts" - src: {"21":"exp/dwd/system21_m1/"} + src: "exp/dwd/system21_m1/" monthly_mean: {"tas":"_f6h/", "prlr":"_f24h/", "g500":"_f12h/", "sfcWind":"_f6h/", "tasmin":"_f24h/", "tasmax":"_f24h/"} @@ -50,7 +67,7 @@ archive: CMCC-SPS3.5: name: "CMCC-SPS3.5" institution: "European Centre for Medium-Range Weather Forecasts" - src: {"35":"exp/cmcc/system35c3s/"} + src: "exp/cmcc/system35c3s/" monthly_mean: {"tas":"_f6h/", "g500":"_f12h/", "prlr":"_f24h/", "sfcWind": "_f6h/", "tasmax":"_f24h/", "tasmin":"_f24h"} @@ -63,7 +80,7 @@ archive: JMA-CPS2: name: "JMA System 2" institution: "European Centre for Medium-Range Weather Forecasts" - src: {"2":"exp/jma/system2c3s/"} + src: "exp/jma/system2c3s/" monthly_mean: {"tas":"_f6h/", "prlr":"_f6h/", "tasmax":"_f6h/", "tasmin":"_f6h/"} nmember: @@ -75,7 +92,7 @@ archive: ECCC-CanCM4i: name: "ECCC CanCM4i" institution: "European Centre for Medium-Range Weather Forecasts" - src: {"2":"exp/eccc/eccc1/"} + src: "exp/eccc/eccc1/" monthly_mean: {"tas":"_f6h/", "prlr":"_f6h/", "tasmax":"_f6h/", "tasmin":"_f6h/"} nmember: @@ -84,11 +101,10 @@ archive: calendar: "proleptic_gregorian" time_stamp_lag: "+1" reference_grid: "conf/grid_description/griddes_eccc1.txt" - UK-MetOffice-Glosea6: - name: "UK MetOffice GloSea 6" + UK-MetOffice-Glosea600: + name: "UK MetOffice GloSea 6 (v.600)" institution: "European Centre for Medium-Range Weather Forecasts" - src: {"600":"exp/ukmo/glosea6_system600-c3s/", - "601":"exp/ukmo/glosea6_system601-c3s/"} + src: "exp/ukmo/glosea6_system600-c3s/" monthly_mean: {"tas":"_f6h/", "tasmin":"_f24h/", "tasmax":"_f24h/", "prlr":"_f24h/"} nmember: @@ -100,7 +116,7 @@ archive: NCEP-CFSv2: name: "NCEP CFSv2" institution: "NOAA NCEP" #? - src: {"2":"exp/ncep/cfs-v2/"} + src: "exp/ncep/cfs-v2/" monthly_mean: {"tas":"_f6h/", "prlr":"_f6h/", "tasmax":"_f6h/", "tasmin":"_f6h/"} nmember: diff --git a/conf/grid_description/griddes_system51c3s.txt b/conf/grid_description/griddes_system51c3s.txt new file mode 100644 index 00000000..9610e9ef --- /dev/null +++ b/conf/grid_description/griddes_system51c3s.txt @@ -0,0 +1,17 @@ +# +# Grid description file for ECMWF SEAS5 v5.1 +# +gridtype = lonlat +gridsize = 64800 +xname = lon +xlongname = longitude +xunits = degrees_east +yname = lat +ylongname = latitude +yunits = degrees_north +xsize = 360 +ysize = 180 +xfirst = 0.5 +xinc = 1 +yfirst = 89.5 +yinc = -1 diff --git a/modules/Loading/Loading.R b/modules/Loading/Loading.R index 65ff2737..a08935e7 100644 --- a/modules/Loading/Loading.R +++ b/modules/Loading/Loading.R @@ -19,12 +19,6 @@ load_datasets <- function(recipe) { lons.max <- recipe$Analysis$Region$lonmax ref.name <- recipe$Analysis$Datasets$Reference$name exp.name <- recipe$Analysis$Datasets$System$name - if (!is.null(recipe$Analysis$Datasets$System$version)) { - exp.version <- as.character(recipe$Analysis$Datasets$System$version) - } else { - exp.version <- 1 - } - variable <- recipe$Analysis$Variables$name store.freq <- recipe$Analysis$Variables$freq @@ -60,8 +54,8 @@ load_datasets <- function(recipe) { reference_descrip <- archive$Reference[[ref.name]] freq.obs <- unlist(reference_descrip[[store.freq]][variable]) obs.dir <- reference_descrip$src - fcst.dir <- unlist(exp_descrip$src[[exp.version]]) - hcst.dir <- unlist(exp_descrip$src[[exp.version]]) + fcst.dir <- exp_descrip$src + hcst.dir <- exp_descrip$src fcst.nmember <- exp_descrip$nmember$fcst hcst.nmember <- exp_descrip$nmember$hcst diff --git a/modules/Loading/testing_recipes/recipe_seasonal-tests.yml b/modules/Loading/testing_recipes/recipe_seasonal-tests.yml index b56e5ed2..fe332e93 100644 --- a/modules/Loading/testing_recipes/recipe_seasonal-tests.yml +++ b/modules/Loading/testing_recipes/recipe_seasonal-tests.yml @@ -8,18 +8,17 @@ Analysis: freq: monthly_mean Datasets: System: - name: ECMWF-SEAS5 - version: 5 + name: ECMWF-SEAS5.1 Multimodel: False Reference: name: era5 Time: - sdate: '1101' + sdate: '0101' fcst_year: hcst_start: '2000' hcst_end: '2015' ftime_min: 1 - ftime_max: 6 + ftime_max: 2 Region: latmin: 30 latmax: 50 diff --git a/recipes/tests/recipe_seasonal_two-variables.yml b/recipes/tests/recipe_seasonal_two-variables.yml index a82b6d3e..089db11e 100644 --- a/recipes/tests/recipe_seasonal_two-variables.yml +++ b/recipes/tests/recipe_seasonal_two-variables.yml @@ -17,7 +17,7 @@ Analysis: - {name: prlr, freq: monthly_mean} Datasets: System: # multiple systems for single model, split if Multimodel = F - - {name: ECMWF-SEAS5, version: 5} + - {name: ECMWF-SEAS5} Multimodel: False # single option Reference: - {name: era5} # multiple references for single model? -- GitLab From ff4a55ff61bf8eff352f05c468d6ea8797d71612 Mon Sep 17 00:00:00 2001 From: Victoria Agudetse Roures Date: Tue, 21 Feb 2023 10:30:01 +0100 Subject: [PATCH 4/9] Add/correct names in scorecards vardict --- conf/output_dictionaries/scorecards.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/conf/output_dictionaries/scorecards.yml b/conf/output_dictionaries/scorecards.yml index 4307794f..fa92042c 100644 --- a/conf/output_dictionaries/scorecards.yml +++ b/conf/output_dictionaries/scorecards.yml @@ -2,6 +2,9 @@ System: ECMWF-SEAS5: short_name: "ecmwfs5" display_name: "ECMWF System 5" + ECMWF-SEAS5.1: + short_name: "ecmwfs51" + display_name: "ECMWF System 5.1" Meteo-France-System7: short_name: "meteofrances7" display_name: "Meteo-France System 7" @@ -17,7 +20,7 @@ System: ECCC-CanCM4i: short_name: "ecccs1" display_name: "ECCC System 1" - UK-MetOffice-Glosea6: + UK-MetOffice-Glosea600: short_name: "ukmos600" display_name: "UK Met Office System 600" NCEP-CFSv2: @@ -33,5 +36,3 @@ Reference: uerra: short_name: "uerra_mescan" display_name: "UERRA MESCAN" - - -- GitLab From e591e8eaab6d713a5c0d09d85b6bc737d1295ee0 Mon Sep 17 00:00:00 2001 From: Victoria Agudetse Roures Date: Tue, 21 Feb 2023 12:07:12 +0100 Subject: [PATCH 5/9] Change unit test recipes --- tests/recipes/recipe-seasonal_daily_1.yml | 2 +- tests/recipes/recipe-seasonal_monthly_1.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/recipes/recipe-seasonal_daily_1.yml b/tests/recipes/recipe-seasonal_daily_1.yml index 52c7c0b8..290871bd 100644 --- a/tests/recipes/recipe-seasonal_daily_1.yml +++ b/tests/recipes/recipe-seasonal_daily_1.yml @@ -8,7 +8,7 @@ Analysis: freq: daily_mean Datasets: System: - name: system5c3s + name: ECMWF-SEAS5 Multimodel: False Reference: name: era5 diff --git a/tests/recipes/recipe-seasonal_monthly_1.yml b/tests/recipes/recipe-seasonal_monthly_1.yml index 00331332..bfb4ec7c 100644 --- a/tests/recipes/recipe-seasonal_monthly_1.yml +++ b/tests/recipes/recipe-seasonal_monthly_1.yml @@ -8,7 +8,7 @@ Analysis: freq: monthly_mean Datasets: System: - name: system7c3s + name: Meteo-France-System7 Multimodel: False Reference: name: era5 -- GitLab From d3f09dec010fb670905e0560266c4214379c31e6 Mon Sep 17 00:00:00 2001 From: Victoria Agudetse Roures Date: Tue, 21 Feb 2023 12:27:06 +0100 Subject: [PATCH 6/9] Update testing recipes --- modules/Loading/testing_recipes/recipe_system5c3s-rsds.yml | 2 +- modules/Loading/testing_recipes/recipe_system5c3s-tas.yml | 2 +- modules/Loading/testing_recipes/recipe_system7c3s-prlr.yml | 2 +- modules/Loading/testing_recipes/recipe_system7c3s-tas.yml | 2 +- .../testing_recipes/recipe_tas-daily-regrid-to-reference.yml | 2 +- .../testing_recipes/recipe_tas-daily-regrid-to-system.yml | 2 +- modules/Loading/testing_recipes/recipe_test-new-metrics.yml | 2 +- modules/Loading/testing_recipes/recipe_test_anomalies.yml | 2 +- modules/Loading/testing_recipes/recipe_testing_nadia.yml | 2 +- recipes/recipe_splitting_example.yml | 4 ++-- recipes/seasonal_oper.yml | 2 +- 11 files changed, 12 insertions(+), 12 deletions(-) diff --git a/modules/Loading/testing_recipes/recipe_system5c3s-rsds.yml b/modules/Loading/testing_recipes/recipe_system5c3s-rsds.yml index 94fc716c..3c4027de 100644 --- a/modules/Loading/testing_recipes/recipe_system5c3s-rsds.yml +++ b/modules/Loading/testing_recipes/recipe_system5c3s-rsds.yml @@ -8,7 +8,7 @@ Analysis: freq: monthly_mean Datasets: System: - name: system5c3s + name: ECMWF-SEAS5 Multimodel: False Reference: name: era5 diff --git a/modules/Loading/testing_recipes/recipe_system5c3s-tas.yml b/modules/Loading/testing_recipes/recipe_system5c3s-tas.yml index 3a2bc72e..d93f12fe 100644 --- a/modules/Loading/testing_recipes/recipe_system5c3s-tas.yml +++ b/modules/Loading/testing_recipes/recipe_system5c3s-tas.yml @@ -8,7 +8,7 @@ Analysis: freq: monthly_mean Datasets: System: - name: system5c3s + name: ECMWF-SEAS5 Multimodel: no Reference: name: era5 diff --git a/modules/Loading/testing_recipes/recipe_system7c3s-prlr.yml b/modules/Loading/testing_recipes/recipe_system7c3s-prlr.yml index 23b630b5..967d41b8 100644 --- a/modules/Loading/testing_recipes/recipe_system7c3s-prlr.yml +++ b/modules/Loading/testing_recipes/recipe_system7c3s-prlr.yml @@ -8,7 +8,7 @@ Analysis: freq: monthly_mean Datasets: System: - name: system7c3s + name: Meteo-France-System7 Multimodel: False Reference: name: era5 diff --git a/modules/Loading/testing_recipes/recipe_system7c3s-tas.yml b/modules/Loading/testing_recipes/recipe_system7c3s-tas.yml index df82c349..5920c99a 100644 --- a/modules/Loading/testing_recipes/recipe_system7c3s-tas.yml +++ b/modules/Loading/testing_recipes/recipe_system7c3s-tas.yml @@ -8,7 +8,7 @@ Analysis: freq: monthly_mean Datasets: System: - name: system7c3s + name: Meteo-France-System7 Multimodel: False Reference: name: era5 diff --git a/modules/Loading/testing_recipes/recipe_tas-daily-regrid-to-reference.yml b/modules/Loading/testing_recipes/recipe_tas-daily-regrid-to-reference.yml index 364d3dd6..f2f9aa8a 100644 --- a/modules/Loading/testing_recipes/recipe_tas-daily-regrid-to-reference.yml +++ b/modules/Loading/testing_recipes/recipe_tas-daily-regrid-to-reference.yml @@ -9,7 +9,7 @@ Analysis: freq: daily_mean # Mandatory, str: either monthly_mean or daily_mean Datasets: System: - name: system5c3s # Mandatory, str: System codename. See docu. + name: ECMWF-SEAS5 # Mandatory, str: System codename. See docu. Multimodel: no # Mandatory, bool: Either yes/true or no/false Reference: name: era5 # Mandatory, str: Reference codename. See docu. diff --git a/modules/Loading/testing_recipes/recipe_tas-daily-regrid-to-system.yml b/modules/Loading/testing_recipes/recipe_tas-daily-regrid-to-system.yml index 244a5654..11254ce7 100644 --- a/modules/Loading/testing_recipes/recipe_tas-daily-regrid-to-system.yml +++ b/modules/Loading/testing_recipes/recipe_tas-daily-regrid-to-system.yml @@ -8,7 +8,7 @@ Analysis: freq: daily_mean Datasets: System: - name: system5c3s + name: ECMWF-SEAS5 Multimodel: no Reference: name: era5 diff --git a/modules/Loading/testing_recipes/recipe_test-new-metrics.yml b/modules/Loading/testing_recipes/recipe_test-new-metrics.yml index df84138d..e36cffc6 100644 --- a/modules/Loading/testing_recipes/recipe_test-new-metrics.yml +++ b/modules/Loading/testing_recipes/recipe_test-new-metrics.yml @@ -8,7 +8,7 @@ Analysis: freq: monthly_mean Datasets: System: - name: system7c3s + name: Meteo-France-System7 Multimodel: False Reference: name: era5 diff --git a/modules/Loading/testing_recipes/recipe_test_anomalies.yml b/modules/Loading/testing_recipes/recipe_test_anomalies.yml index cdf5e3ca..c523936a 100644 --- a/modules/Loading/testing_recipes/recipe_test_anomalies.yml +++ b/modules/Loading/testing_recipes/recipe_test_anomalies.yml @@ -8,7 +8,7 @@ Analysis: freq: monthly_mean Datasets: System: - name: system5c3s + name: ECMWF-SEAS5 Multimodel: False Reference: name: era5 diff --git a/modules/Loading/testing_recipes/recipe_testing_nadia.yml b/modules/Loading/testing_recipes/recipe_testing_nadia.yml index 60711981..47c09bed 100644 --- a/modules/Loading/testing_recipes/recipe_testing_nadia.yml +++ b/modules/Loading/testing_recipes/recipe_testing_nadia.yml @@ -8,7 +8,7 @@ Analysis: freq: monthly_mean Datasets: System: - name: system5c3s + name: ECMWF-SEAS5 Multimodel: False Reference: name: era5 diff --git a/recipes/recipe_splitting_example.yml b/recipes/recipe_splitting_example.yml index e62611ab..33228188 100644 --- a/recipes/recipe_splitting_example.yml +++ b/recipes/recipe_splitting_example.yml @@ -17,8 +17,8 @@ Analysis: - {name: prlr, freq: monthly_mean} Datasets: System: # multiple systems for single model, split if Multimodel = F - - {name: system7c3s} - - {name: system5c3s} + - {name: Meteo-France-System7} + - {name: ECMWF-SEAS5} Multimodel: False # single option Reference: - {name: era5} # multiple references for single model? diff --git a/recipes/seasonal_oper.yml b/recipes/seasonal_oper.yml index 5e5f61fc..48e57f1a 100644 --- a/recipes/seasonal_oper.yml +++ b/recipes/seasonal_oper.yml @@ -26,7 +26,7 @@ Analysis: - None Datasets: System: - - name: system5c3s # list of strs + - name: ECMWF-SEAS5 # list of strs Multimodel: False # boolean, if true system above are aggregated into single multi-model Reference: # single dict? in the future multiple ref can be an asset - {name: era5} # str -- GitLab From 7ec05062a1bfda66b3770a6d2ed009a58c62289f Mon Sep 17 00:00:00 2001 From: Victoria Agudetse Roures Date: Thu, 23 Feb 2023 09:03:43 +0100 Subject: [PATCH 7/9] Change reference names --- conf/archive.yml | 8 ++++---- recipes/recipe_splitting_example.yml | 2 +- recipes/seasonal_oper.yml | 2 +- recipes/tests/recipe_seasonal_two-variables.yml | 2 +- tests/recipes/recipe-seasonal_daily_1.yml | 2 +- tests/recipes/recipe-seasonal_monthly_1.yml | 2 +- tools/check_recipe.R | 1 + 7 files changed, 10 insertions(+), 9 deletions(-) diff --git a/conf/archive.yml b/conf/archive.yml index d630e88c..decc387c 100644 --- a/conf/archive.yml +++ b/conf/archive.yml @@ -102,7 +102,7 @@ archive: time_stamp_lag: "+1" reference_grid: "conf/grid_description/griddes_eccc1.txt" UK-MetOffice-Glosea600: - name: "UK MetOffice GloSea 6 (v.600)" + name: "UK MetOffice GloSea 6 (v6.0)" institution: "European Centre for Medium-Range Weather Forecasts" src: "exp/ukmo/glosea6_system600-c3s/" monthly_mean: {"tas":"_f6h/", "tasmin":"_f24h/", @@ -126,7 +126,7 @@ archive: time_stamp_lag: "0" reference_grid: "conf/grid_description/griddes_ncep-cfsv2.txt" Reference: - era5: + ERA5: name: "ERA5" institution: "European Centre for Medium-Range Weather Forecasts" src: "recon/ecmwf/era5/" @@ -144,7 +144,7 @@ archive: "ta500":"_f1h-r1440x721cds/", "ta850":"_f1h-r1440x721cds/"} calendar: "standard" reference_grid: "/esarchive/recon/ecmwf/era5/monthly_mean/tas_f1h-r1440x721cds/tas_201805.nc" - era5land: + ERA5-Land: name: "ERA5-Land" institution: "European Centre for Medium-Range Weather Forecasts" src: "recon/ecmwf/era5land/" @@ -155,7 +155,7 @@ archive: "sfcWind":"_f1h/", "rsds":"_f1h/"} calendar: "proleptic_gregorian" reference_grid: "/esarchive/recon/ecmwf/era5land/daily_mean/tas_f1h/tas_201805.nc" - uerra: + UERRA: name: "ECMWF UERRA" institution: "European Centre for Medium-Range Weather Forecasts" src: "recon/ecmwf/uerra_mescan/" diff --git a/recipes/recipe_splitting_example.yml b/recipes/recipe_splitting_example.yml index 33228188..78a4d18c 100644 --- a/recipes/recipe_splitting_example.yml +++ b/recipes/recipe_splitting_example.yml @@ -21,7 +21,7 @@ Analysis: - {name: ECMWF-SEAS5} Multimodel: False # single option Reference: - - {name: era5} # multiple references for single model? + - {name: ERA5} # multiple references for single model? Time: sdate: # list, split - '1101' diff --git a/recipes/seasonal_oper.yml b/recipes/seasonal_oper.yml index 48e57f1a..a1351e37 100644 --- a/recipes/seasonal_oper.yml +++ b/recipes/seasonal_oper.yml @@ -29,7 +29,7 @@ Analysis: - name: ECMWF-SEAS5 # list of strs Multimodel: False # boolean, if true system above are aggregated into single multi-model Reference: # single dict? in the future multiple ref can be an asset - - {name: era5} # str + - {name: ERA5} # str Time: sdate: fcst_syear: ["2017"] # list of ints or None (case where only hcst is verfied) diff --git a/recipes/tests/recipe_seasonal_two-variables.yml b/recipes/tests/recipe_seasonal_two-variables.yml index 089db11e..0cef06b3 100644 --- a/recipes/tests/recipe_seasonal_two-variables.yml +++ b/recipes/tests/recipe_seasonal_two-variables.yml @@ -20,7 +20,7 @@ Analysis: - {name: ECMWF-SEAS5} Multimodel: False # single option Reference: - - {name: era5} # multiple references for single model? + - {name: ERA55} # multiple references for single model? Time: sdate: # list, split - '0101' diff --git a/tests/recipes/recipe-seasonal_daily_1.yml b/tests/recipes/recipe-seasonal_daily_1.yml index 290871bd..afa0f496 100644 --- a/tests/recipes/recipe-seasonal_daily_1.yml +++ b/tests/recipes/recipe-seasonal_daily_1.yml @@ -11,7 +11,7 @@ Analysis: name: ECMWF-SEAS5 Multimodel: False Reference: - name: era5 + name: ERA5 Time: sdate: '1201' fcst_year: diff --git a/tests/recipes/recipe-seasonal_monthly_1.yml b/tests/recipes/recipe-seasonal_monthly_1.yml index bfb4ec7c..68c58f83 100644 --- a/tests/recipes/recipe-seasonal_monthly_1.yml +++ b/tests/recipes/recipe-seasonal_monthly_1.yml @@ -11,7 +11,7 @@ Analysis: name: Meteo-France-System7 Multimodel: False Reference: - name: era5 + name: ERA5 Time: sdate: '1101' fcst_year: '2020' diff --git a/tools/check_recipe.R b/tools/check_recipe.R index 0f268733..559d0492 100644 --- a/tools/check_recipe.R +++ b/tools/check_recipe.R @@ -43,6 +43,7 @@ check_recipe <- function(recipe) { } # Check time settings if (tolower(recipe$Analysis$Horizon) == "seasonal") { + ## TODO: Specify filesystem archive <- read_yaml(ARCHIVE_SEASONAL)$archive if (!all(TIME_SETTINGS_SEASONAL %in% names(recipe$Analysis$Time))) { error(recipe$Run$logger, -- GitLab From 0e3c721b1fc0df8c3d5b4b11554394b225746b49 Mon Sep 17 00:00:00 2001 From: Victoria Agudetse Roures Date: Thu, 23 Feb 2023 09:04:33 +0100 Subject: [PATCH 8/9] Change reference names in testing recipes --- modules/Loading/testing_recipes/recipe_seasonal-tests.yml | 2 +- modules/Loading/testing_recipes/recipe_system5c3s-rsds.yml | 2 +- modules/Loading/testing_recipes/recipe_system5c3s-tas.yml | 2 +- modules/Loading/testing_recipes/recipe_system7c3s-prlr.yml | 2 +- modules/Loading/testing_recipes/recipe_system7c3s-tas.yml | 2 +- .../testing_recipes/recipe_tas-daily-regrid-to-reference.yml | 2 +- .../testing_recipes/recipe_tas-daily-regrid-to-system.yml | 2 +- modules/Loading/testing_recipes/recipe_test-new-metrics.yml | 2 +- modules/Loading/testing_recipes/recipe_test_anomalies.yml | 2 +- modules/Loading/testing_recipes/recipe_testing_nadia.yml | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/Loading/testing_recipes/recipe_seasonal-tests.yml b/modules/Loading/testing_recipes/recipe_seasonal-tests.yml index fe332e93..cda98c91 100644 --- a/modules/Loading/testing_recipes/recipe_seasonal-tests.yml +++ b/modules/Loading/testing_recipes/recipe_seasonal-tests.yml @@ -11,7 +11,7 @@ Analysis: name: ECMWF-SEAS5.1 Multimodel: False Reference: - name: era5 + name: ERA5 Time: sdate: '0101' fcst_year: diff --git a/modules/Loading/testing_recipes/recipe_system5c3s-rsds.yml b/modules/Loading/testing_recipes/recipe_system5c3s-rsds.yml index 3c4027de..0cb2d29f 100644 --- a/modules/Loading/testing_recipes/recipe_system5c3s-rsds.yml +++ b/modules/Loading/testing_recipes/recipe_system5c3s-rsds.yml @@ -11,7 +11,7 @@ Analysis: name: ECMWF-SEAS5 Multimodel: False Reference: - name: era5 + name: ERA5 Time: sdate: '1101' fcst_year: '2020' diff --git a/modules/Loading/testing_recipes/recipe_system5c3s-tas.yml b/modules/Loading/testing_recipes/recipe_system5c3s-tas.yml index d93f12fe..31ae079d 100644 --- a/modules/Loading/testing_recipes/recipe_system5c3s-tas.yml +++ b/modules/Loading/testing_recipes/recipe_system5c3s-tas.yml @@ -11,7 +11,7 @@ Analysis: name: ECMWF-SEAS5 Multimodel: no Reference: - name: era5 + name: ERA5 Time: sdate: '0601' fcst_year: '2020' diff --git a/modules/Loading/testing_recipes/recipe_system7c3s-prlr.yml b/modules/Loading/testing_recipes/recipe_system7c3s-prlr.yml index 967d41b8..58030bf3 100644 --- a/modules/Loading/testing_recipes/recipe_system7c3s-prlr.yml +++ b/modules/Loading/testing_recipes/recipe_system7c3s-prlr.yml @@ -11,7 +11,7 @@ Analysis: name: Meteo-France-System7 Multimodel: False Reference: - name: era5 + name: ERA5 Time: sdate: '1101' fcst_year: '2020' diff --git a/modules/Loading/testing_recipes/recipe_system7c3s-tas.yml b/modules/Loading/testing_recipes/recipe_system7c3s-tas.yml index 5920c99a..c8d3b5e8 100644 --- a/modules/Loading/testing_recipes/recipe_system7c3s-tas.yml +++ b/modules/Loading/testing_recipes/recipe_system7c3s-tas.yml @@ -11,7 +11,7 @@ Analysis: name: Meteo-France-System7 Multimodel: False Reference: - name: era5 + name: ERA5 Time: sdate: '1101' fcst_year: '2020' diff --git a/modules/Loading/testing_recipes/recipe_tas-daily-regrid-to-reference.yml b/modules/Loading/testing_recipes/recipe_tas-daily-regrid-to-reference.yml index f2f9aa8a..b14c90e1 100644 --- a/modules/Loading/testing_recipes/recipe_tas-daily-regrid-to-reference.yml +++ b/modules/Loading/testing_recipes/recipe_tas-daily-regrid-to-reference.yml @@ -12,7 +12,7 @@ Analysis: name: ECMWF-SEAS5 # Mandatory, str: System codename. See docu. Multimodel: no # Mandatory, bool: Either yes/true or no/false Reference: - name: era5 # Mandatory, str: Reference codename. See docu. + name: ERA5 # Mandatory, str: Reference codename. See docu. Time: sdate: '1101' fcst_year: '2020' # Optional, int: Forecast year 'YYYY' diff --git a/modules/Loading/testing_recipes/recipe_tas-daily-regrid-to-system.yml b/modules/Loading/testing_recipes/recipe_tas-daily-regrid-to-system.yml index 11254ce7..5c899f97 100644 --- a/modules/Loading/testing_recipes/recipe_tas-daily-regrid-to-system.yml +++ b/modules/Loading/testing_recipes/recipe_tas-daily-regrid-to-system.yml @@ -11,7 +11,7 @@ Analysis: name: ECMWF-SEAS5 Multimodel: no Reference: - name: era5 + name: ERA5 Time: sdate: '1101' fcst_year: '2020' diff --git a/modules/Loading/testing_recipes/recipe_test-new-metrics.yml b/modules/Loading/testing_recipes/recipe_test-new-metrics.yml index e36cffc6..b5745292 100644 --- a/modules/Loading/testing_recipes/recipe_test-new-metrics.yml +++ b/modules/Loading/testing_recipes/recipe_test-new-metrics.yml @@ -11,7 +11,7 @@ Analysis: name: Meteo-France-System7 Multimodel: False Reference: - name: era5 + name: ERA5 Time: sdate: '1101' fcst_year: '2020' diff --git a/modules/Loading/testing_recipes/recipe_test_anomalies.yml b/modules/Loading/testing_recipes/recipe_test_anomalies.yml index c523936a..287f9a98 100644 --- a/modules/Loading/testing_recipes/recipe_test_anomalies.yml +++ b/modules/Loading/testing_recipes/recipe_test_anomalies.yml @@ -11,7 +11,7 @@ Analysis: name: ECMWF-SEAS5 Multimodel: False Reference: - name: era5 + name: ERA5 Time: sdate: '1101' fcst_year: '2020' diff --git a/modules/Loading/testing_recipes/recipe_testing_nadia.yml b/modules/Loading/testing_recipes/recipe_testing_nadia.yml index 47c09bed..e6b2bc02 100644 --- a/modules/Loading/testing_recipes/recipe_testing_nadia.yml +++ b/modules/Loading/testing_recipes/recipe_testing_nadia.yml @@ -11,7 +11,7 @@ Analysis: name: ECMWF-SEAS5 Multimodel: False Reference: - name: era5 + name: ERA5 Time: sdate: '1101' fcst_year: -- GitLab From 41648224160839a172e476937e79979da0bde95f Mon Sep 17 00:00:00 2001 From: Victoria Agudetse Roures Date: Thu, 23 Feb 2023 10:53:22 +0100 Subject: [PATCH 9/9] Change system/reference names in scorecards output format --- modules/Saving/paths2save.R | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/modules/Saving/paths2save.R b/modules/Saving/paths2save.R index f08f7d4f..93196b86 100644 --- a/modules/Saving/paths2save.R +++ b/modules/Saving/paths2save.R @@ -19,12 +19,13 @@ get_filename <- function(dir, recipe, var, date, agg, file.type) { "country" = {gg <- "-country"}, "global" = {gg <- ""}) + system <- gsub('.','', recipe$Analysis$Datasets$System$name, fixed = T) + reference <- gsub('.','', recipe$Analysis$Datasets$Reference$name, fixed = T) + if (tolower(recipe$Analysis$Output_format) == 'scorecards') { # Define output dir name accordint to Scorecards format dict <- read_yaml("conf/output_dictionaries/scorecards.yml") # Get necessary names - system <- dict$System[[recipe$Analysis$Datasets$System$name]]$short_name - reference <- dict$Reference[[recipe$Analysis$Datasets$Reference$name]]$short_name hcst_start <- recipe$Analysis$Time$hcst_start hcst_end <- recipe$Analysis$Time$hcst_end @@ -51,9 +52,7 @@ get_filename <- function(dir, recipe, var, date, agg, file.type) { "probs" = {file <- paste0(var, gg, "-probs_", date)}, "bias" = {file <- paste0(var, gg, "-bias_", date)}) } - return(paste0(dir, file, ".nc")) - } get_dir <- function(recipe, agg = "global") { @@ -62,21 +61,18 @@ get_dir <- function(recipe, agg = "global") { # startdate, and aggregation. ## TODO: Get aggregation from recipe - ## TODO: Add system to default format - outdir <- paste0(recipe$Run$output_dir, "/outputs/") ## TODO: multivar case variable <- recipe$Analysis$Variables$name + system <- gsub('.','', recipe$Analysis$Datasets$System$name, fixed = T) if (tolower(recipe$Analysis$Output_format) == 'scorecards') { # Define output dir name accordint to Scorecards format dict <- read_yaml("conf/output_dictionaries/scorecards.yml") - system <- dict$System[[recipe$Analysis$Datasets$System$name]]$short_name + # system <- dict$System[[recipe$Analysis$Datasets$System$name]]$short_name dir <- paste0(outdir, "/", system, "/", variable, "/") - } else { # Default generic output format based on FOCUS - system <- gsub('.','', recipe$Analysis$Datasets$System$name, fixed = T) # Get startdate or hindcast period if (!is.null(recipe$Analysis$Time$fcst_year)) { if (tolower(recipe$Analysis$Horizon) == 'decadal') { -- GitLab