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