From d9e805cd0a4e974d3e1129f8014c41283d7027de Mon Sep 17 00:00:00 2001 From: Le Roux Erwan <erwan.le-roux@irstea.fr> Date: Mon, 8 Feb 2021 16:24:02 +0100 Subject: [PATCH] [projections] remove 'CNRM-ALADIN62_ECMWF-ERAINT' for the ensemble of adamont_v2. generalize the usage of "get_gcm_rcm_couple_adamont_to_full_name". fix color_dict. --- .../adamont_data/adamont_gcm_rcm_couples.py | 107 ++++++++++++++++++ .../adamont_data/adamont_scenario.py | 55 ++------- 2 files changed, 114 insertions(+), 48 deletions(-) create mode 100644 extreme_data/meteo_france_data/adamont_data/adamont_gcm_rcm_couples.py diff --git a/extreme_data/meteo_france_data/adamont_data/adamont_gcm_rcm_couples.py b/extreme_data/meteo_france_data/adamont_data/adamont_gcm_rcm_couples.py new file mode 100644 index 00000000..b3fdfc83 --- /dev/null +++ b/extreme_data/meteo_france_data/adamont_data/adamont_gcm_rcm_couples.py @@ -0,0 +1,107 @@ +gcm_rcm_couple_to_color = { + ('CNRM-CM5', 'CCLM4-8-17'): 'darkred', + ('CNRM-CM5', 'RCA4'): 'red', + ('CNRM-CM5', 'ALADIN53'): 'lightcoral', + # Adamont v2 + ('CNRM-CM5', 'ALADIN63'): 'orangered', + ('CNRM-CM5', 'RACMO22E'): 'firebrick', + + ('MPI-ESM-LR', 'CCLM4-8-17'): 'darkblue', + ('MPI-ESM-LR', 'RCA4'): 'blue', + ('MPI-ESM-LR', 'REMO2009'): 'lightblue', + + ('HadGEM2-ES', 'CCLM4-8-17'): 'darkgreen', + ('HadGEM2-ES', 'RCA4'): 'green', + ('HadGEM2-ES', 'RACMO22E'): 'lightgreen', + # Adamont v2 + ('HadGEM2-ES', 'RegCM4-6'): 'chartreuse', + + ('EC-EARTH', 'CCLM4-8-17'): 'darkviolet', + ('EC-EARTH', 'RCA4'): 'violet', + # adamont v2 + ('EC-EARTH', 'RACMO22E'): 'mediumorchid', + + ('IPSL-CM5A-MR', 'WRF331F'): 'darkorange', + ('IPSL-CM5A-MR', 'RCA4'): 'orange', + # adamont v2 + ('IPSL-CM5A-MR', 'WRF381P'): 'moccasin', + + ('NorESM1-M', 'HIRHAM5'): 'yellow', + # adamont v2 + ('NorESM1-M', 'REMO2015'): 'gold', + + # adamont v2 + ('ERAINT', 'ALADIN62'): 'deeppink' +} + + +def get_year_min_and_year_max_used_to_compute_quantile(gcm): + if gcm == 'HadGEM2-ES': + reanalysis_years = (1988, 2011) + model_year = (1982, 2005) + else: + reanalysis_years = (1981, 2011) + model_year = (1975, 2005) + return reanalysis_years, model_year + + +def get_gcm_rcm_couple_adamont_to_full_name(version): + if version == 1: + return gcm_rcm_couple_adamont_v1_to_full_name + else: + return gcm_rcm_couple_adamont_v2_to_full_name + + +gcm_rcm_couple_adamont_v1_to_full_name = { + ('CNRM-CM5', 'ALADIN53'): 'CNRM-ALADIN53_CNRM-CERFACS-CNRM-CM5', + ('CNRM-CM5', 'RCA4'): 'SMHI-RCA4_CNRM-CERFACS-CNRM-CM5', + ('CNRM-CM5', 'CCLM4-8-17'): 'CLMcom-CCLM4-8-17_CNRM-CERFACS-CNRM-CM5', + + ('EC-EARTH', 'CCLM4-8-17'): 'CLMcom-CCLM4-8-17_ICHEC-EC-EARTH', + ('EC-EARTH', 'RCA4'): 'SMHI-RCA4_ICHEC-EC-EARTH', + + ('MPI-ESM-LR', 'CCLM4-8-17'): 'CLMcom-CCLM4-8-17_MPI-M-MPI-ESM-LR', + ('MPI-ESM-LR', 'RCA4'): 'SMHI-RCA4_MPI-M-MPI-ESM-LR', + ('MPI-ESM-LR', 'REMO2009'): 'MPI-CSC-REMO2009_MPI-M-MPI-ESM-LR', + + ('HadGEM2-ES', 'CCLM4-8-17'): 'CLMcom-CCLM4-8-17_MOHC-HadGEM2-ES', + ('HadGEM2-ES', 'RACMO22E'): 'KNMI-RACMO22E_MOHC-HadGEM2-ES', + ('HadGEM2-ES', 'RCA4'): 'SMHI-RCA4_MOHC-HadGEM2-ES', + + ('NorESM1-M', 'HIRHAM5'): 'DMI-HIRHAM5_NCC-NorESM1-M', + + ('IPSL-CM5A-MR', 'WRF331F'): 'IPSL-INERIS-WRF331F_IPSL-IPSL-CM5A-MR', + ('IPSL-CM5A-MR', 'RCA4'): 'SMHI-RCA4_IPSL-IPSL-CM5A-MR', +} + +gcm_rcm_couple_adamont_v2_to_full_name = { + ('CNRM-CM5', 'RACMO22E'): 'KNMI-RACMO22E_CNRM-CERFACS-CNRM-CM5', + ('CNRM-CM5', 'CCLM4-8-17'): 'CLMcom-CCLM4-8-17_CNRM-CERFACS-CNRM-CM5', + ('CNRM-CM5', 'RCA4'): 'SMHI-RCA4_CNRM-CERFACS-CNRM-CM5', + ('CNRM-CM5', 'ALADIN63'): 'CNRM-ALADIN63_CNRM-CERFACS-CNRM-CM5', + ('CNRM-CM5', 'ALADIN53'): 'CNRM-ALADIN53_CNRM-CERFACS-CNRM-CM5', + + ('EC-EARTH', 'RACMO22E'): 'KNMI-RACMO22E_ICHEC-EC-EARTH', + ('EC-EARTH', 'RCA4'): 'SMHI-RCA4_ICHEC-EC-EARTH', + ('EC-EARTH', 'CCLM4-8-17'): 'CLMcom-CCLM4-8-17_ICHEC-EC-EARTH', + + ('MPI-ESM-LR', 'REMO2009'): 'MPI-CSC-REMO2009_MPI-M-MPI-ESM-LR', + ('MPI-ESM-LR', 'RCA4'): 'SMHI-RCA4_MPI-M-MPI-ESM-LR', + ('MPI-ESM-LR', 'CCLM4-8-17'): 'CLMcom-CCLM4-8-17_MPI-M-MPI-ESM-LR', + + ('HadGEM2-ES', 'RACMO22E'): 'KNMI-RACMO22E_MOHC-HadGEM2-ES', + ('HadGEM2-ES', 'RCA4'): 'SMHI-RCA4_MOHC-HadGEM2-ES', + ('HadGEM2-ES', 'RegCM4-6'): 'ICTP-RegCM4-6_MOHC-HadGEM2-ES', + ('HadGEM2-ES', 'CCLM4-8-17'): 'CLMcom-CCLM4-8-17_MOHC-HadGEM2-ES', + + ('NorESM1-M', 'REMO2015'): 'GERICS-REMO2015_NCC-NorESM1-M', + ('NorESM1-M', 'HIRHAM5'): 'DMI-HIRHAM5_NCC-NorESM1-M', + + ('IPSL-CM5A-MR', 'WRF331F'): 'IPSL-INERIS-WRF331F_IPSL-IPSL-CM5A-MR', + ('IPSL-CM5A-MR', 'RCA4'): 'SMHI-RCA4_IPSL-IPSL-CM5A-MR', + ('IPSL-CM5A-MR', 'WRF381P'): 'IPSL-WRF381P_IPSL-IPSL-CM5A-MR', + + # There was no indicator "max-1day-snowf" for this member + # For this member there is only the historical anyway + # ('ERAINT', 'ALADIN62'): 'CNRM-ALADIN62_ECMWF-ERAINT', +} diff --git a/extreme_data/meteo_france_data/adamont_data/adamont_scenario.py b/extreme_data/meteo_france_data/adamont_data/adamont_scenario.py index 0791a974..f7c05d46 100644 --- a/extreme_data/meteo_france_data/adamont_data/adamont_scenario.py +++ b/extreme_data/meteo_france_data/adamont_data/adamont_scenario.py @@ -1,5 +1,8 @@ from enum import Enum +from extreme_data.meteo_france_data.adamont_data.adamont_gcm_rcm_couples import gcm_rcm_couple_to_color, \ + get_gcm_rcm_couple_adamont_to_full_name + class AdamontScenario(Enum): histo = 0 @@ -40,7 +43,7 @@ def get_year_min(adamont_scenario, gcm_rcm_couple): year_min = 1982 elif rcm == 'RCA4': year_min = 1971 - elif gcm_rcm_couple in [('NorESM1-M', 'DMI-HIRHAM5'), ('IPSL-CM5A-MR', 'WRF331F')]: + elif gcm_rcm_couple in [('NorESM1-M', 'HIRHAM5'), ('IPSL-CM5A-MR', 'WRF331F')]: year_min = 1952 else: year_min = 1951 @@ -49,8 +52,10 @@ def get_year_min(adamont_scenario, gcm_rcm_couple): return year_min -def load_gcm_rcm_couples_for_year_min_and_year_max(year_min, year_max, adamont_scenario=AdamontScenario.histo): +def load_gcm_rcm_couples_for_year_min_and_year_max(year_min, year_max, adamont_scenario=AdamontScenario.histo, + version=2): gcm_rcm_couples = [] + gcm_rcm_couple_to_full_name = get_gcm_rcm_couple_adamont_to_full_name(version) for gcm_rcm_couple in gcm_rcm_couple_to_full_name.keys(): year_min_couple, year_max_couple = get_year_min_and_year_max_from_scenario( adamont_scenario=adamont_scenario, @@ -87,49 +92,3 @@ def gcm_rcm_couple_to_str(gcm_rcm_couple): def get_color_from_gcm_rcm_couple(gcm_rcm_couple): return gcm_rcm_couple_to_color[gcm_rcm_couple] - - -gcm_rcm_couple_to_color = { - ('CNRM-CM5', 'CCLM4-8-17'): 'darkred', - ('CNRM-CM5', 'RCA4'): 'red', - ('CNRM-CM5', 'ALADIN53'): 'lightcoral', - - ('MPI-ESM-LR', 'CCLM4-8-17'): 'darkblue', - ('MPI-ESM-LR', 'RCA4'): 'blue', - ('MPI-ESM-LR', 'REMO2009'): 'lightblue', - - ('HadGEM2-ES', 'CCLM4-8-17'): 'darkgreen', - ('HadGEM2-ES', 'RCA4'): 'green', - ('HadGEM2-ES', 'RACMO22E'): 'lightgreen', - - ('EC-EARTH', 'CCLM4-8-17'): 'darkviolet', - ('EC-EARTH', 'RCA4'): 'violet', - - ('IPSL-CM5A-MR', 'WRF331F'): 'darkorange', - ('IPSL-CM5A-MR', 'RCA4'): 'orange', - - ('NorESM1-M', 'DMI-HIRHAM5'): 'yellow', - -} - -gcm_rcm_couple_to_full_name = { - ('CNRM-CM5', 'ALADIN53'): 'CNRM-ALADIN53_CNRM-CERFACS-CNRM-CM5', - ('CNRM-CM5', 'RCA4'): 'SMHI-RCA4_CNRM-CERFACS-CNRM-CM5', - ('CNRM-CM5', 'CCLM4-8-17'): 'CLMcom-CCLM4-8-17_CNRM-CERFACS-CNRM-CM5', - - ('EC-EARTH', 'CCLM4-8-17'): 'CLMcom-CCLM4-8-17_ICHEC-EC-EARTH', - ('EC-EARTH', 'RCA4'): 'SMHI-RCA4_ICHEC-EC-EARTH', - - ('MPI-ESM-LR', 'CCLM4-8-17'): 'CLMcom-CCLM4-8-17_MPI-M-MPI-ESM-LR', - ('MPI-ESM-LR', 'RCA4'): 'SMHI-RCA4_MPI-M-MPI-ESM-LR', - ('MPI-ESM-LR', 'REMO2009'): 'MPI-CSC-REMO2009_MPI-M-MPI-ESM-LR', - - ('HadGEM2-ES', 'CCLM4-8-17'): 'CLMcom-CCLM4-8-17_MOHC-HadGEM2-ES', - ('HadGEM2-ES', 'RACMO22E'): 'KNMI-RACMO22E_MOHC-HadGEM2-ES', - ('HadGEM2-ES', 'RCA4'): 'SMHI-RCA4_MOHC-HadGEM2-ES', - - ('NorESM1-M', 'DMI-HIRHAM5'): 'DMI-HIRHAM5_NCC-NorESM1-M', - - ('IPSL-CM5A-MR', 'WRF331F'): 'IPSL-INERIS-WRF331F_IPSL-IPSL-CM5A-MR', - ('IPSL-CM5A-MR', 'RCA4'): 'SMHI-RCA4_IPSL-IPSL-CM5A-MR', -} -- GitLab