diff --git a/extreme_data/meteo_france_data/adamont_data/abstract_adamont_study.py b/extreme_data/meteo_france_data/adamont_data/abstract_adamont_study.py
index 71029bd193bd0edbae4b1ff1f1600873278d8fe1..0978312011050d01022d6ad9647eee93b53f9209 100644
--- a/extreme_data/meteo_france_data/adamont_data/abstract_adamont_study.py
+++ b/extreme_data/meteo_france_data/adamont_data/abstract_adamont_study.py
@@ -31,8 +31,11 @@ class AbstractAdamontStudy(AbstractStudy):
                  french_region=FrenchRegion.alps,
                  scenario=AdamontScenario.histo, gcm_rcm_couple=('CNRM-CM5', 'ALADIN53')):
         # Load the default year_min & year_max for the scenario if not specified
-        if year_min is None and year_max is None:
-            year_min, year_max = get_year_min_and_year_max_from_scenario(scenario, gcm_rcm_couple)
+        year_min_scenario, year_max_scenario = get_year_min_and_year_max_from_scenario(scenario, gcm_rcm_couple)
+        if year_min is None:
+            year_min = year_min_scenario
+        if year_max is None:
+            year_max = year_max_scenario
         super().__init__(variable_class=variable_class, altitude=altitude, year_min=year_min, year_max=year_max,
                          multiprocessing=multiprocessing, season=season, french_region=french_region)
         self.gcm_rcm_couple = gcm_rcm_couple
@@ -49,19 +52,22 @@ class AbstractAdamontStudy(AbstractStudy):
 
     # Loading part
 
-
-
     @cached_property
     def ordered_years(self):
         return list(range(self.year_min, self.year_max + 1))
 
     @cached_property
     def winter_year_for_each_time_step(self):
-        start = datetime(year=self.year_min - 1, month=8, day=1, hour=6, minute=0, second=0)
+        year_min, _ = get_year_min_and_year_max_from_scenario(self.scenario, self.gcm_rcm_couple)
+        # It was written in the dataset  for the TIME variable that it represents
+        # "'hours since 1950-08-01 06:00:00'" for the HISTO scenario
+        # "'hours since 2005-08-01 06:00:00'" for the RCP scenario
+        start = datetime(year=year_min - 1, month=8, day=1, hour=6, minute=0, second=0)
         hours_after_start = np.array(self.dataset.variables['TIME'])
         dates = [start + timedelta(hours=h) for h in hours_after_start]
         winter_year = [date.year if date.month < 8 else date.year + 1 for date in dates]
-        winter_year[-1] = winter_year[-2]
+        # Remark. The last winter year for the HISTO scenario correspond to 2006.
+        # Thus, the last value is not taken into account
         return np.array(winter_year)
 
     @cached_property
@@ -116,6 +122,7 @@ class AbstractAdamontStudy(AbstractStudy):
     @property
     def nc_file_path(self):
         suffix_nc_file = get_suffix_for_the_nc_file(self.scenario, self.gcm_rcm_couple)
-        nc_file = '{}_FORCING_{}_{}_{}_{}.nc'.format(self.variable_folder_name, self.gcm_rcm_full_name, self.scenario_name,
+        nc_file = '{}_FORCING_{}_{}_{}_{}.nc'.format(self.variable_folder_name, self.gcm_rcm_full_name,
+                                                     self.scenario_name,
                                                      self.region_name, suffix_nc_file)
         return op.join(self.nc_files_path, nc_file)
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 c4931ae7ca51beab9f334e36e4b6ec4ab1c770db..a7f1831a295436e342d36a60be65e0e4171bf36f 100644
--- a/extreme_data/meteo_france_data/adamont_data/adamont_scenario.py
+++ b/extreme_data/meteo_france_data/adamont_data/adamont_scenario.py
@@ -10,8 +10,8 @@ class AdamontScenario(Enum):
 
 def get_year_min_and_year_max_from_scenario(adamont_scenario, gcm_rcm_couple):
     assert isinstance(adamont_scenario, AdamontScenario)
+    gcm, rcm = gcm_rcm_couple
     if adamont_scenario == AdamontScenario.histo:
-        gcm, rcm = gcm_rcm_couple
         if gcm == 'HadGEM2-ES':
             year_min = 1982
         elif rcm == 'RCA4':
@@ -20,21 +20,27 @@ def get_year_min_and_year_max_from_scenario(adamont_scenario, gcm_rcm_couple):
             year_min = 1952
         else:
             year_min = 1951
-        return year_min, 2005
+        year_max = 2005
     else:
-        return 2006, 2100
+        year_min = 2006
+        if gcm == 'HadGEM2-ES':
+            year_max = 2099
+        else:
+            year_max = 2100
+    return year_min, year_max
+
 
-def load_gcm_rcm_couples_for_year_min_and_year_max(year_min, year_max):
+def load_gcm_rcm_couples_for_year_min_and_year_max(year_min, year_max, adamont_scenario=AdamontScenario.histo):
     gcm_rcm_couples = []
     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=AdamontScenario.histo,
-                                                                                   gcm_rcm_couple=gcm_rcm_couple)
+        year_min_couple, year_max_couple = get_year_min_and_year_max_from_scenario(
+            adamont_scenario=adamont_scenario,
+            gcm_rcm_couple=gcm_rcm_couple)
         if year_min_couple <= year_min and year_max <= year_max_couple:
             gcm_rcm_couples.append(gcm_rcm_couple)
     return gcm_rcm_couples
 
 
-
 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)
@@ -45,7 +51,8 @@ def scenario_to_str(adamont_scenario):
 
 
 def gcm_rcm_couple_to_str(gcm_rcm_couple):
-    return  ' / '.join(gcm_rcm_couple)
+    return ' / '.join(gcm_rcm_couple)
+
 
 def get_color_from_gcm_rcm_couple(gcm_rcm_couple):
     return gcm_rcm_couple_to_color[gcm_rcm_couple]
@@ -72,7 +79,6 @@ gcm_rcm_couple_to_color = {
 
     ('NorESM1-M', 'DMI-HIRHAM5'): 'yellow',
 
-
 }
 
 gcm_rcm_couple_to_full_name = {
diff --git a/extreme_data/meteo_france_data/adamont_data/adamont_studies.py b/extreme_data/meteo_france_data/adamont_data/adamont_studies.py
index d6a16a4896c921e65743da72ce255fdeee97e9b1..498ed6c8a0df7435636a0dbd3ac6d462b40d1178 100644
--- a/extreme_data/meteo_france_data/adamont_data/adamont_studies.py
+++ b/extreme_data/meteo_france_data/adamont_data/adamont_studies.py
@@ -8,7 +8,7 @@ from extreme_data.meteo_france_data.adamont_data.adamont_scenario import gcm_rcm
     gcm_rcm_couple_to_str, get_color_from_gcm_rcm_couple
 from extreme_data.meteo_france_data.scm_models_data.abstract_study import AbstractStudy
 from extreme_data.meteo_france_data.scm_models_data.visualization.main_study_visualizer import \
-    SCM_STUDY_CLASS_TO_ABBREVIATION
+    SCM_STUDY_CLASS_TO_ABBREVIATION, ADAMONT_STUDY_CLASS_TO_ABBREVIATION
 from extreme_data.meteo_france_data.scm_models_data.visualization.study_visualizer import StudyVisualizer
 
 
@@ -57,7 +57,6 @@ class AdamontStudies(object):
                 ax.plot(x, y, linewidth=linewidth, label=label, color=color)
         if scm_study is not None:
             try:
-                print(type(scm_study))
                 y = scm_study.massif_name_to_annual_maxima[massif_name]
                 label = 'Reanalysis'
                 color = 'black'
@@ -69,7 +68,7 @@ class AdamontStudies(object):
         ax.tick_params(axis='both', which='major', labelsize=13)
         handles, labels = ax.get_legend_handles_labels()
         ax.legend(handles[::-1], labels[::-1])
-        plot_name = 'Annual maxima of {} in {}'.format(SCM_STUDY_CLASS_TO_ABBREVIATION[self.study_class],
+        plot_name = 'Annual maxima of {} in {}'.format(ADAMONT_STUDY_CLASS_TO_ABBREVIATION[self.study_class],
                                                        massif_name.replace('_', ' '))
         ax.set_ylabel('{} ({})'.format(plot_name, self.study.variable_unit), fontsize=15)
         ax.set_xlabel('years', fontsize=15)
diff --git a/extreme_data/meteo_france_data/scm_models_data/abstract_study.py b/extreme_data/meteo_france_data/scm_models_data/abstract_study.py
index e5ac797706ba0910d73482df1eb6ac065fc77f25..02ddf560e068454e0ce40675202351867c718ce7 100644
--- a/extreme_data/meteo_france_data/scm_models_data/abstract_study.py
+++ b/extreme_data/meteo_france_data/scm_models_data/abstract_study.py
@@ -356,7 +356,8 @@ class AbstractStudy(object):
 
     def daily_time_series(self, year):
         daily_time_serie = self.year_to_variable_object[year].daily_time_serie_array
-        assert daily_time_serie.shape[0] in [365, 366]
+        nb_days = daily_time_serie.shape[0]
+        assert nb_days == 365 or (nb_days == 366 and year % 4 == 0)
         assert daily_time_serie.shape[1] == len(self.column_mask)
         first_index, last_index = self.year_to_first_index_and_last_index[year]
         daily_time_serie = daily_time_serie[first_index:last_index + 1, self.column_mask]
diff --git a/extreme_data/meteo_france_data/scm_models_data/visualization/main_study_visualizer.py b/extreme_data/meteo_france_data/scm_models_data/visualization/main_study_visualizer.py
index 0cb29288834c67520fc8934b36e125f29f410707..152971ced77200f9bcbbf2f6e38ca5304c6b0013 100644
--- a/extreme_data/meteo_france_data/scm_models_data/visualization/main_study_visualizer.py
+++ b/extreme_data/meteo_france_data/scm_models_data/visualization/main_study_visualizer.py
@@ -57,9 +57,11 @@ SCM_STUDY_CLASS_TO_ABBREVIATION = {
     CrocusSnowDepthDifference: 'max HS - HS at max of GSL',
     CrocusSnowDepthAtMaxofSwe: 'HS at max of GSL',
     CrocusSnowDensity: 'Density',
-    AdamontSnowfall: 'daily snowfall',
     SafranDateFirstSnowfall: 'SF1 first date'
 }
+ADAMONT_STUDY_CLASS_TO_ABBREVIATION = {
+    AdamontSnowfall: 'daily snowfall',
+}
 
 altitude_massif_name_and_study_class_for_poster = [
     (900, 'Chartreuse', CrocusSweTotal),
diff --git a/projects/projected_snowfall/comparison_with_scm/comparison_historical_visualizer.py b/projects/projected_snowfall/comparison_with_scm/comparison_historical_visualizer.py
index c078db36143f1d849edcf14d1fb02b43f42b83cc..ee8c31e3ff61002117b65b6a4e872985fbcabbe6 100644
--- a/projects/projected_snowfall/comparison_with_scm/comparison_historical_visualizer.py
+++ b/projects/projected_snowfall/comparison_with_scm/comparison_historical_visualizer.py
@@ -1,15 +1,14 @@
-
-
 import matplotlib.pyplot as plt
 import numpy as np
+from cached_property import cached_property
 from matplotlib.lines import Line2D
 
 from extreme_data.meteo_france_data.adamont_data.adamont_scenario import get_color_from_gcm_rcm_couple, \
-    gcm_rcm_couple_to_str
+    gcm_rcm_couple_to_str, gcm_rcm_couple_to_color
 from extreme_data.meteo_france_data.adamont_data.adamont_studies import AdamontStudies
 from extreme_data.meteo_france_data.scm_models_data.abstract_study import AbstractStudy
 from extreme_data.meteo_france_data.scm_models_data.visualization.main_study_visualizer import \
-    SCM_STUDY_CLASS_TO_ABBREVIATION
+    SCM_STUDY_CLASS_TO_ABBREVIATION, ADAMONT_STUDY_CLASS_TO_ABBREVIATION
 from extreme_data.meteo_france_data.scm_models_data.visualization.study_visualizer import StudyVisualizer
 from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies
 
@@ -23,6 +22,7 @@ class ComparisonHistoricalVisualizer(StudyVisualizer):
                  ):
         super().__init__(adamont_studies.study, show=show, save_to_file=not show)
         self.scm_study = scm_study
+        self.altitude = self.scm_study.altitude
         self.adamont_studies = adamont_studies
         if massif_names is None:
             massif_names = scm_study.study_massif_names
@@ -45,17 +45,37 @@ class ComparisonHistoricalVisualizer(StudyVisualizer):
                 pass
         return np.array(values), gcm_rcm_couples
 
+    @cached_property
+    def mean_bias_maxima(self):
+        return self.get_mean_bias(plot_maxima=True)
+
+    def get_mean_bias(self, plot_maxima=True):
+        # Return an array: nb_ensemble x nb_massif
+        study_method = self.get_study_method(plot_maxima)
+        gcm_rcm_couple_to_bias_list = {couple: [] for couple in self.adamont_studies.gcm_rcm_couples}
+        for massif_name in self.massif_names:
+            values, gcm_rcm_couples = self.get_values(study_method, massif_name)
+            mean_values = np.mean(values, axis=1)
+            bias = (mean_values - mean_values[0])[1:]
+            for b, couple in zip(bias, gcm_rcm_couples):
+                gcm_rcm_couple_to_bias_list[couple].append(b)
+        return gcm_rcm_couple_to_bias_list
+
     def plot_comparison(self, plot_maxima=True):
-        if plot_maxima:
-            study_method = 'massif_name_to_annual_maxima'
-        else:
-            study_method = 'massif_name_to_daily_time_series'
+        study_method = self.get_study_method(plot_maxima)
         value_name = study_method.split('to_')[1]
         for massif_name in self.massif_names:
             values, gcm_rcm_couples = self.get_values(study_method, massif_name)
             plot_name = value_name + ' for {}'.format(massif_name.replace('_', '-'))
             self.shoe_plot_comparison(values, gcm_rcm_couples, plot_name)
 
+    def get_study_method(self, plot_maxima):
+        if plot_maxima:
+            study_method = 'massif_name_to_annual_maxima'
+        else:
+            study_method = 'massif_name_to_daily_time_series'
+        return study_method
+
     def shoe_plot_comparison(self, values, gcm_rcm_couples, plot_name):
         ax = plt.gca()
         width = 10
@@ -78,12 +98,33 @@ class ComparisonHistoricalVisualizer(StudyVisualizer):
         ax.set_xlim([min(positions) - width, max(positions) + width])
         ylabel = 'Annual maxima' if 'maxima' in plot_name else 'daily values'
         ax.set_ylabel('{} of {} ({})'.format(ylabel,
-                                             SCM_STUDY_CLASS_TO_ABBREVIATION[type(self.study)],
-                                                        self.study.variable_unit))
+                                             ADAMONT_STUDY_CLASS_TO_ABBREVIATION[type(self.study)],
+                                             self.study.variable_unit))
 
-        self.plot_name = 'comparison/{}'.format(plot_name)
+        self.plot_name = 'comparison/{}/{}'.format(self.scm_study.altitude, plot_name)
         self.show_or_save_to_file(add_classic_title=False, no_title=True, tight_layout=True)
         ax.clear()
         plt.close()
 
+    def shoe_plot_bias_maxima_comparison(self):
+        couples = list(self.mean_bias_maxima.keys())
+        values = list(self.mean_bias_maxima.values())
+        colors = [gcm_rcm_couple_to_color[couple] for couple in couples]
+        labels = [gcm_rcm_couple_to_str(couple) for couple in couples]
 
+        ax = plt.gca()
+        width = 10
+        positions = [i * width * 2 for i in range(len(values))]
+        bplot = ax.boxplot(values, positions=positions, widths=width, patch_artist=True, showmeans=True)
+        for color, patch in zip(colors, bplot['boxes']):
+            patch.set_facecolor(color)
+        custom_lines = [Line2D([0], [0], color=color, lw=4) for color in colors]
+        ax.legend(custom_lines, labels, ncol=2)
+        ax.set_xticks([])
+        plot_name = 'Mean bias w.r.t to the reanalysis at {} m '.format(self.altitude)
+        ax.set_ylabel(plot_name)
+        ax.set_xlim([min(positions) - width, max(positions) + width])
+        self.plot_name = 'altitude_comparison/{}'.format(plot_name)
+        self.show_or_save_to_file(add_classic_title=False, no_title=True, tight_layout=True)
+        ax.clear()
+        plt.close()
diff --git a/projects/projected_snowfall/comparison_with_scm/comparison_plot.py b/projects/projected_snowfall/comparison_with_scm/comparison_plot.py
new file mode 100644
index 0000000000000000000000000000000000000000..28707f1f1957d92ce8b812d9a81e8602d728776b
--- /dev/null
+++ b/projects/projected_snowfall/comparison_with_scm/comparison_plot.py
@@ -0,0 +1,45 @@
+import matplotlib.pyplot as plt
+from typing import Dict
+
+from matplotlib.lines import Line2D
+
+from extreme_data.meteo_france_data.adamont_data.adamont_scenario import gcm_rcm_couple_to_color, gcm_rcm_couple_to_str
+from projects.projected_snowfall.comparison_with_scm.comparison_historical_visualizer import \
+    ComparisonHistoricalVisualizer
+
+
+def individual_plot(v):
+    # v.adamont_studies.plot_maxima_time_series(v.massif_names, v.scm_study)
+    v.shoe_plot_bias_maxima_comparison()
+    # for plot_maxima in [True, False][:1]:
+    #     v.plot_comparison(plot_maxima)
+
+
+def collective_plot(altitude_to_visualizer):
+    bias_of_the_mean_with_the_altitude(altitude_to_visualizer)
+
+
+def bias_of_the_mean_with_the_altitude(altitude_to_visualizer: Dict[int, ComparisonHistoricalVisualizer]):
+    visualizer = list(altitude_to_visualizer.values())[0]
+    altitudes = list(altitude_to_visualizer.keys())
+    for couple in visualizer.adamont_studies.gcm_rcm_couples:
+        values = [v.mean_bias_maxima[couple] for v in altitude_to_visualizer.values()]
+
+        ax = plt.gca()
+        width = 10
+        positions = [i * width * 2 for i in range(len(values))]
+        bplot = ax.boxplot(values, positions=positions, widths=width, patch_artist=True, showmeans=True)
+        color = gcm_rcm_couple_to_color[couple]
+        for patch in bplot['boxes']:
+            patch.set_facecolor(color)
+
+        couple_name = ' + '.join(couple)
+        plot_name = 'Mean bias w.r.t to the reanalysis for {}'.format(couple_name)
+        ax.set_ylabel(plot_name)
+        ax.set_xlabel('Altitude')
+        ax.set_xticklabels(altitudes)
+        ax.set_xlim([min(positions) - width, max(positions) + width])
+        visualizer.plot_name = 'altitude_comparison/{}'.format(plot_name)
+        visualizer.show_or_save_to_file(add_classic_title=False, no_title=True, tight_layout=True)
+        ax.clear()
+        plt.close()
diff --git a/projects/projected_snowfall/comparison_with_scm/main_comparison_on_beginning_projection.py b/projects/projected_snowfall/comparison_with_scm/main_comparison_on_beginning_projection.py
new file mode 100644
index 0000000000000000000000000000000000000000..c5d682f335ac9f1b2c40765f182ed5b80fb0e9f7
--- /dev/null
+++ b/projects/projected_snowfall/comparison_with_scm/main_comparison_on_beginning_projection.py
@@ -0,0 +1,43 @@
+
+
+import matplotlib as mpl
+
+from projects.projected_snowfall.comparison_with_scm.main_comparison_on_historical_period import load_vizualizer_histo
+
+mpl.use('Agg')
+mpl.rcParams['text.usetex'] = True
+mpl.rcParams['text.latex.preamble'] = [r'\usepackage{amsmath}']
+from collections import OrderedDict
+
+from extreme_data.meteo_france_data.adamont_data.adamont.adamont_snowfall import AdamontSnowfall
+from extreme_data.meteo_france_data.adamont_data.adamont_scenario import gcm_rcm_couple_to_full_name
+from extreme_data.meteo_france_data.adamont_data.adamont_studies import AdamontStudies
+from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day
+from extreme_data.meteo_france_data.scm_models_data.utils import Season
+from projects.projected_snowfall.comparison_with_scm.comparison_historical_visualizer import \
+    ComparisonHistoricalVisualizer
+
+
+def main():
+    fast = True
+    # Set the year_min and year_max for the comparison
+    if fast:
+        year_min = [2006][0]
+        year_max = [2019][0]
+        massif_names = ['Vanoise']
+        altitudes = [1800]
+    else:
+        year_min = [2006][0]
+        year_max = [2019][0]
+        massif_names = None
+        altitudes = [900, 1800, 2700]
+
+    # Load visualizers
+    for altitude in altitudes:
+        study_class_couple = [(SafranSnowfall1Day, AdamontSnowfall)][0]
+        v = load_vizualizer_histo(altitude, massif_names, study_class_couple, year_max, year_min)
+        v.adamont_studies.plot_maxima_time_series(v.massif_names, v.scm_study)
+
+
+if __name__ == '__main__':
+    main()
diff --git a/projects/projected_snowfall/comparison_with_scm/main_comparison_on_historical_period.py b/projects/projected_snowfall/comparison_with_scm/main_comparison_on_historical_period.py
index ef9b14d10958494b2c5cdd0ac0f8fd4a3337034a..4231bdcf9edaaa4b270b4762a18bc5805fc9d6f0 100644
--- a/projects/projected_snowfall/comparison_with_scm/main_comparison_on_historical_period.py
+++ b/projects/projected_snowfall/comparison_with_scm/main_comparison_on_historical_period.py
@@ -3,9 +3,11 @@ mpl.use('Agg')
 mpl.rcParams['text.usetex'] = True
 mpl.rcParams['text.latex.preamble'] = [r'\usepackage{amsmath}']
 
+from projects.projected_snowfall.comparison_with_scm.comparison_plot import individual_plot
+
 from extreme_data.meteo_france_data.adamont_data.adamont.adamont_snowfall import AdamontSnowfall
-from extreme_data.meteo_france_data.adamont_data.adamont_scenario import gcm_rcm_couple_to_full_name, \
-    get_year_min_and_year_max_from_scenario, AdamontScenario, load_gcm_rcm_couples_for_year_min_and_year_max
+from extreme_data.meteo_france_data.adamont_data.adamont_scenario import load_gcm_rcm_couples_for_year_min_and_year_max, \
+    AdamontScenario
 from extreme_data.meteo_france_data.adamont_data.adamont_studies import AdamontStudies
 from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day
 from extreme_data.meteo_france_data.scm_models_data.utils import Season
@@ -14,36 +16,53 @@ from projects.projected_snowfall.comparison_with_scm.comparison_historical_visua
 
 
 def main():
-    fast = True
+    fast = False
     # Set the year_min and year_max for the comparison
-    if fast:
+    if fast is None:
+        year_min = [1982, 1950][1]
+        massif_names = ['Vanoise', 'Vercors', 'Mont-Blanc']
+        altitudes = [900, 1800]
+    elif fast:
         year_min = [1982, 1950][1]
         massif_names = ['Vanoise']
         altitudes = [1800]
     else:
         massif_names = None
         year_min = [1982, 1950][1]
-        altitudes = [900, 1800, 2700]
+        altitudes = [600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600][:]
+
+    # Load visualizers
 
+    # Individual plot
     for altitude in altitudes:
-        plot(altitude, massif_names, year_min)
+        v = load_visualizer_histo(altitude, massif_names, year_min)
+        individual_plot(v)
 
+    # # Collective plot
+    # altitude_to_visualizer = OrderedDict()
+    # for altitude in altitudes:
+    #     altitude_to_visualizer[altitude] = load_visualizer_histo(altitude, massif_names, year_min)
+    # collective_plot(altitude_to_visualizer)
 
-def plot(altitude, massif_names, year_min):
+
+def load_visualizer_histo(altitude, massif_names, year_min):
     year_min = max(1959, year_min)
     year_max = 2005
     study_class_couple = [(SafranSnowfall1Day, AdamontSnowfall)][0]
+    return load_vizualizer_histo(altitude, massif_names, study_class_couple, year_max, year_min)
+
+
+def load_vizualizer_histo(altitude, massif_names, study_class_couple, year_max, year_min):
     scm_study_class, adamont_study_class = study_class_couple
     season = Season.annual
     scm_study = scm_study_class(altitude=altitude, year_min=year_min, year_max=year_max, season=season)
-    gcm_rcm_couples = load_gcm_rcm_couples_for_year_min_and_year_max(year_min, year_max)
+    gcm_rcm_couples = load_gcm_rcm_couples_for_year_min_and_year_max(year_min, year_max, adamont_scenario=AdamontScenario.histo)
     adamont_studies = AdamontStudies(adamont_study_class, gcm_rcm_couples,
-                                     altitude=altitude, year_min=year_min, year_max=year_max, season=season)
-    adamont_studies.plot_maxima_time_series(massif_names, scm_study)
+                                     altitude=altitude, year_min=year_min, year_max=year_max, season=season,
+                                     scenario=AdamontScenario.histo)
     visualizer = ComparisonHistoricalVisualizer(scm_study, adamont_studies, massif_names=massif_names)
-    for plot_maxima in [True, False][:1]:
-        visualizer.plot_comparison(plot_maxima)
+    return visualizer
 
 
 if __name__ == '__main__':
-    main()
\ No newline at end of file
+    main()
diff --git a/projects/projected_snowfall/projected_data/__init__.py b/projects/projected_snowfall/projected_data/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/projects/projected_snowfall/projected_data/main_projection.py b/projects/projected_snowfall/projected_data/main_projection.py
new file mode 100644
index 0000000000000000000000000000000000000000..b11886d727c4fced2576e32fc80d560cdcdbfc82
--- /dev/null
+++ b/projects/projected_snowfall/projected_data/main_projection.py
@@ -0,0 +1,48 @@
+
+
+import matplotlib as mpl
+
+mpl.use('Agg')
+mpl.rcParams['text.usetex'] = True
+mpl.rcParams['text.latex.preamble'] = [r'\usepackage{amsmath}']
+from collections import OrderedDict
+
+from extreme_data.meteo_france_data.adamont_data.adamont.adamont_snowfall import AdamontSnowfall
+from extreme_data.meteo_france_data.adamont_data.adamont_scenario import gcm_rcm_couple_to_full_name, AdamontScenario, \
+    load_gcm_rcm_couples_for_year_min_and_year_max
+from extreme_data.meteo_france_data.adamont_data.adamont_studies import AdamontStudies
+from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day
+from extreme_data.meteo_france_data.scm_models_data.utils import Season
+from projects.projected_snowfall.comparison_with_scm.comparison_historical_visualizer import \
+    ComparisonHistoricalVisualizer
+
+
+def main():
+    fast = True
+    # Set the year_min and year_max for the comparison
+    if fast:
+        year_min = [2006][0]
+        year_max = [2030][0]
+        massif_names = ['Vanoise']
+        altitudes = [1800]
+    else:
+        year_min = [2006][0]
+        year_max = [2100][0]
+        massif_names = None
+        altitudes = [900, 1800, 2700]
+
+    # Load studies
+    for altitude in altitudes:
+        adamont_study_class = AdamontSnowfall
+        season = Season.annual
+        gcm_rcm_couples = load_gcm_rcm_couples_for_year_min_and_year_max(year_min, year_max,
+                                                                         adamont_scenario=AdamontScenario.rcp85)
+        adamont_studies = AdamontStudies(adamont_study_class, gcm_rcm_couples,
+                                         altitude=altitude, year_min=year_min,
+                                         year_max=year_max, season=season,
+                                         scenario=AdamontScenario.rcp85)
+        adamont_studies.plot_maxima_time_series(massif_names)
+
+
+if __name__ == '__main__':
+    main()