from enum import Enum class AdamontScenario(Enum): histo = 0 rcp26 = 1 rcp45 = 2 rcp85 = 3 def get_year_min_and_year_max_from_scenario(adamont_scenario, gcm_rcm_couple): assert isinstance(adamont_scenario, AdamontScenario) if adamont_scenario == AdamontScenario.histo: gcm, rcm = gcm_rcm_couple if gcm == 'HadGEM2-ES': year_min = 1982 elif rcm == 'RCA4': year_min = 1971 elif gcm_rcm_couple in [('NorESM1-M', 'DMI-HIRHAM5'), ('IPSL-CM5A-MR', 'WRF331F')]: year_min = 1952 else: year_min = 1951 return year_min, 2005 else: return 2006, 2100 def get_suffix_for_the_nc_file(adamont_scenario, gcm_rcm_couple): year_min, year_max = get_year_min_and_year_max_from_scenario(adamont_scenario, gcm_rcm_couple) return '{}080106_{}080106_daysum'.format(year_min - 1, year_max) def scenario_to_str(adamont_scenario): return str(adamont_scenario).split('.')[-1].upper() 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', }