diff --git a/experiment/meteo_france_SCM_study/abstract_extended_study.py b/experiment/meteo_france_SCM_study/abstract_extended_study.py
index fad23841dddb2ab58be3336d2f4aa0f2d7a915b6..d3dfe45703fbcd60257aae875cb5a9f5dbb3b456 100644
--- a/experiment/meteo_france_SCM_study/abstract_extended_study.py
+++ b/experiment/meteo_france_SCM_study/abstract_extended_study.py
@@ -41,7 +41,7 @@ class AbstractExtendedStudy(AbstractStudy):
     """ Properties """
 
     @property
-    def _year_to_daily_time_serie(self) -> OrderedDict:
+    def _year_to_daily_time_serie_array(self) -> OrderedDict:
         return self._year_to_extended_time_serie(aggregation_function=np.mean)
 
     @property
@@ -50,7 +50,7 @@ class AbstractExtendedStudy(AbstractStudy):
 
     def _year_to_extended_time_serie(self, aggregation_function) -> OrderedDict:
         year_to_extended_time_serie = OrderedDict()
-        for year, old_time_serie in super()._year_to_daily_time_serie.items():
+        for year, old_time_serie in super()._year_to_daily_time_serie_array.items():
             new_time_serie = np.zeros([len(old_time_serie), len(self.safran_massif_names)])
             new_time_serie[:, self.nb_region_names:] = old_time_serie
             for i, region_name in enumerate(self.region_names):
diff --git a/experiment/meteo_france_SCM_study/abstract_study.py b/experiment/meteo_france_SCM_study/abstract_study.py
index a64d29e1c951777167536b0c09b64b0cedff150c..31e8db9e452f355147e114353665365f1958bb32 100644
--- a/experiment/meteo_france_SCM_study/abstract_study.py
+++ b/experiment/meteo_france_SCM_study/abstract_study.py
@@ -38,7 +38,7 @@ class AbstractStudy(object):
     @property
     def df_all_daily_time_series_concatenated(self) -> pd.DataFrame:
         df_list = [pd.DataFrame(time_serie, columns=self.safran_massif_names) for time_serie in
-                   self.year_to_daily_time_serie.values()]
+                   self.year_to_daily_time_serie_array.values()]
         df_concatenated = pd.concat(df_list)
         return df_concatenated
 
@@ -63,12 +63,11 @@ class AbstractStudy(object):
         for year, nc_file in sorted(nc_files, key=lambda t: t[0]):
             if self.year_min <= year < self.year_max:
                 year_to_dataset[year] = Dataset(op.join(self.safran_full_path, nc_file))
-        print(year_to_dataset.keys())
         return year_to_dataset
 
     @cached_property
-    def year_to_daily_time_serie(self) -> OrderedDict:
-        return self._year_to_daily_time_serie
+    def year_to_daily_time_serie_array(self) -> OrderedDict:
+        return self._year_to_daily_time_serie_array
 
     @cached_property
     def year_to_annual_maxima(self) -> OrderedDict:
@@ -82,7 +81,8 @@ class AbstractStudy(object):
     def year_to_annual_total(self) -> OrderedDict:
         # Map each year to an array of size nb_massif
         year_to_annual_mean = OrderedDict()
-        for year, time_serie in self._year_to_daily_time_serie.items():
+        for year, time_serie in self._year_to_daily_time_serie_array.items():
+            print(time_serie.shape)
             year_to_annual_mean[year] = self.annual_aggregation_function(time_serie, axis=0)
         return year_to_annual_mean
 
@@ -92,18 +92,18 @@ class AbstractStudy(object):
     """ Private methods to be overwritten """
 
     @property
-    def _year_to_daily_time_serie(self) -> OrderedDict:
+    def _year_to_daily_time_serie_array(self) -> OrderedDict:
         # Map each year to a matrix of size 365-nb_days_consecutive+1 x nb_massifs
         year_to_variable = {year: self.instantiate_variable_object(dataset) for year, dataset in
                             self.year_to_dataset_ordered_dict.items()}
-        year_to_daily_time_serie = OrderedDict()
+        year_to_daily_time_serie_array = OrderedDict()
         for year in self.year_to_dataset_ordered_dict.keys():
-            year_to_daily_time_serie[year] = year_to_variable[year].daily_time_serie
-        return year_to_daily_time_serie
+            year_to_daily_time_serie_array[year] = year_to_variable[year].daily_time_serie_array
+        return year_to_daily_time_serie_array
 
     @property
     def _year_to_max_daily_time_serie(self) -> OrderedDict:
-        return self._year_to_daily_time_serie
+        return self._year_to_daily_time_serie_array
 
 
 
diff --git a/experiment/meteo_france_SCM_study/abstract_variable.py b/experiment/meteo_france_SCM_study/abstract_variable.py
index d60cdfc318c24511d6079502a0ff582b2c4f294c..00b0a98afdad54040f00e70cb0211d7e035b25cc 100644
--- a/experiment/meteo_france_SCM_study/abstract_variable.py
+++ b/experiment/meteo_france_SCM_study/abstract_variable.py
@@ -9,6 +9,6 @@ class AbstractVariable(object):
         self.altitude = altitude
 
     @property
-    def daily_time_serie(self):
+    def daily_time_serie_array(self):
         # Return an array of size length of time series x nb_massif
         raise NotImplementedError
\ No newline at end of file
diff --git a/experiment/meteo_france_SCM_study/crocus/crocus.py b/experiment/meteo_france_SCM_study/crocus/crocus.py
index d585735b2461e65a59160d97a56e152437820410..3b8871460943792b2ef2591747102c602570f73d 100644
--- a/experiment/meteo_france_SCM_study/crocus/crocus.py
+++ b/experiment/meteo_france_SCM_study/crocus/crocus.py
@@ -10,9 +10,9 @@ class Crocus(AbstractStudy):
     In the Crocus data, there is no 'massifsList' variable, thus we assume massifs are ordered just like Safran data
     """
 
-    def __init__(self, variable_class, altitude=1800):
+    def __init__(self, variable_class, *args, **kwargs):
         assert variable_class in [CrocusSweVariable, CrocusDepthVariable]
-        super().__init__(variable_class, altitude)
+        super().__init__(variable_class, *args, **kwargs)
         self.model_name = 'Crocus'
 
     @property
@@ -26,8 +26,8 @@ class Crocus(AbstractStudy):
 
 class CrocusSwe(Crocus):
 
-    def __init__(self, altitude=1800):
-        super().__init__(CrocusSweVariable, altitude)
+    def __init__(self, *args, **kwargs):
+        super().__init__(CrocusSweVariable, *args, **kwargs)
 
 
 class ExtendedCrocusSwe(AbstractExtendedStudy, CrocusSwe):
@@ -36,8 +36,8 @@ class ExtendedCrocusSwe(AbstractExtendedStudy, CrocusSwe):
 
 class CrocusDepth(Crocus):
 
-    def __init__(self, altitude=1800):
-        super().__init__(CrocusDepthVariable, altitude)
+    def __init__(self, *args, **kwargs):
+        super().__init__(CrocusDepthVariable, *args, **kwargs)
 
 
 class ExtendedCrocusDepth(AbstractExtendedStudy, CrocusDepth):
@@ -51,5 +51,5 @@ if __name__ == '__main__':
         time_arr = np.array(d.variables['time'])
         print(time_arr)
         # print(d)
-        a = study.year_to_daily_time_serie[1960]
+        a = study.year_to_daily_time_serie_array[1960]
         print(a.shape)
diff --git a/experiment/meteo_france_SCM_study/crocus/crocus_variables.py b/experiment/meteo_france_SCM_study/crocus/crocus_variables.py
index 387c07d212f0cc33d5f420719e2e419d7708b159..947cece70df2f30924d20a627ff4080f2f5df6a9 100644
--- a/experiment/meteo_france_SCM_study/crocus/crocus_variables.py
+++ b/experiment/meteo_france_SCM_study/crocus/crocus_variables.py
@@ -10,7 +10,7 @@ class CrocusVariable(AbstractVariable):
         self.variable_name = variable_name
 
     @property
-    def daily_time_serie(self):
+    def daily_time_serie_array(self):
         time_serie_every_6_hours = np.array(self.dataset.variables[self.variable_name])[:, 0, :]
         if self.altitude == 2400:
             time_serie_daily = time_serie_every_6_hours
diff --git a/experiment/meteo_france_SCM_study/safran/fit_safran.py b/experiment/meteo_france_SCM_study/safran/fit_safran.py
index f2f06014d71c15ed89b723c88fe274c49237762e..3b46d8e756cc2e5dbefe83257c6a2c664aaf6aec 100644
--- a/experiment/meteo_france_SCM_study/safran/fit_safran.py
+++ b/experiment/meteo_france_SCM_study/safran/fit_safran.py
@@ -13,7 +13,7 @@ def fit_mle_gev_for_all_safran_and_different_days():
             # safran = Safran(safran_alti, nb_day)
             safran = ExtendedSafranSnowfall(safran_alti, nb_day)
             df = safran.df_gev_mle_each_massif
-            df.index += ' Safran{} with {} days'.format(safran.altitude, safran.nb_days_of_snowfall)
+            df.index += ' Safran{} with {} days'.format(safran.altitude, safran.nb_consecutive_days)
             dfs.append(df)
     df = pd.concat(dfs)
     path = r'/home/erwan/Documents/projects/spatiotemporalextremes/local/spatio_temporal_datasets/results/fit_mle_massif/fit_mle_gev_{}.csv'
diff --git a/experiment/meteo_france_SCM_study/safran/safran.py b/experiment/meteo_france_SCM_study/safran/safran.py
index 27d8327750875f5a4ec813642751158d4ae73fb8..9b465db71e1b0371f9a371a57800643302194e96 100644
--- a/experiment/meteo_france_SCM_study/safran/safran.py
+++ b/experiment/meteo_france_SCM_study/safran/safran.py
@@ -10,22 +10,23 @@ from experiment.meteo_france_SCM_study.safran.safran_variable import SafranSnowf
 class Safran(AbstractStudy):
 
     def __init__(self, variable_class: type, *args, **kwargs):
+        assert variable_class in [SafranSnowfallVariable, SafranPrecipitationVariable, SafranTemperatureVariable]
         super().__init__(variable_class, *args, **kwargs)
         self.model_name = 'Safran'
 
 
 class SafranFrequency(Safran):
 
-    def __init__(self, variable_class: type, nb_days_of_snowfall=1, *args, **kwargs):
+    def __init__(self, variable_class: type, nb_consecutive_days=1, *args, **kwargs):
         super().__init__(variable_class, *args, **kwargs)
-        self.nb_days_of_snowfall = nb_days_of_snowfall
+        self.nb_consecutive_days = nb_consecutive_days
 
     def instantiate_variable_object(self, dataset) -> AbstractVariable:
-        return self.variable_class(dataset, self.nb_days_of_snowfall)
+        return self.variable_class(dataset, self.nb_consecutive_days)
 
     @property
     def variable_name(self):
-        return super().variable_name + ' cumulated over {} days'.format(self.nb_days_of_snowfall)
+        return super().variable_name + ' cumulated over {} days'.format(self.nb_consecutive_days)
 
     def annual_aggregation_function(self, *args, **kwargs):
         return np.sum(*args, **kwargs)
diff --git a/experiment/meteo_france_SCM_study/safran/safran_variable.py b/experiment/meteo_france_SCM_study/safran/safran_variable.py
index add94fd3d0457548d89224ed1601f1e9789f6ffa..c07cfb7cf6de773a37cac15d1e8cfd3332e4e64f 100644
--- a/experiment/meteo_france_SCM_study/safran/safran_variable.py
+++ b/experiment/meteo_france_SCM_study/safran/safran_variable.py
@@ -35,7 +35,7 @@ class SafranSnowfallVariable(AbstractVariable):
         self.daily_snowfall = [sum(hourly_snowfall[24 * i:24 * (i + 1)]) for i in range(nb_days)]
 
     @property
-    def daily_time_serie(self):
+    def daily_time_serie_array(self):
         # Aggregate the daily snowfall by the number of consecutive days
         shifted_list = [self.daily_snowfall[i:] for i in range(self.nb_consecutive_days_of_snowfall)]
         # First element of shifted_list is of length n, Second element of length n-1, Third element n-2....
@@ -62,6 +62,6 @@ class SafranTemperatureVariable(AbstractVariable):
 
 
     @property
-    def daily_time_serie(self):
+    def daily_time_serie_array(self):
         return self.daily_temperature
 
diff --git a/experiment/meteo_france_SCM_study/visualization/study_visualization/main_study_visualizer.py b/experiment/meteo_france_SCM_study/visualization/study_visualization/main_study_visualizer.py
index 923e49180e86c6cff77a4d18e2dc6e7e7f04a1dc..c317b9d3631cc8ecf2e8746ae46053a605bc0b21 100644
--- a/experiment/meteo_france_SCM_study/visualization/study_visualization/main_study_visualizer.py
+++ b/experiment/meteo_france_SCM_study/visualization/study_visualization/main_study_visualizer.py
@@ -22,7 +22,7 @@ def study_iterator(study_class, only_first_one=False, both_altitude=False, verbo
         for alti in AbstractStudy.ALTITUDES[::1]:
             if verbose:
                 print('alti: {}, nb_day: {}'.format(alti, nb_day))
-            study = study_class(alti, nb_day) if is_safran_study else study_class(alti)
+            study = study_class(altitude=alti, nb_consecutive_days=nb_day) if is_safran_study else study_class(alti)
             yield study
             if only_first_one and not both_altitude:
                 break
diff --git a/experiment/meteo_france_SCM_study/visualization/study_visualization/study_visualizer.py b/experiment/meteo_france_SCM_study/visualization/study_visualization/study_visualizer.py
index 12b0ab84e338542ed2de8da22c6f40b281be167e..bc141d21be1ab6a28b5650e41695b056d9ee1204 100644
--- a/experiment/meteo_france_SCM_study/visualization/study_visualization/study_visualizer.py
+++ b/experiment/meteo_france_SCM_study/visualization/study_visualization/study_visualizer.py
@@ -129,7 +129,7 @@ class StudyVisualizer(object):
             # Plot some additional quantiles from the correspond Annual Maxima law
             if self.plot_block_maxima_quantiles:
                 # This formula can only be applied if we have a daily time serie
-                assert len(self.study.year_to_daily_time_serie[1958]) in [365, 366]
+                assert len(self.study.year_to_daily_time_serie_array[1958]) in [365, 366]
                 p = p ** (1 / 365)
                 x_level = all_massif_data[int(p * len(all_massif_data))]
                 name_to_xlevel_and_color[BLOCK_MAXIMA_DISPLAY_NAME + name] = (x_level, color)
@@ -172,10 +172,10 @@ class StudyVisualizer(object):
 
     def get_all_massif_data(self, massif_id):
         if self.year_for_kde_plot is not None:
-            all_massif_data = self.study.year_to_daily_time_serie[self.year_for_kde_plot][:, massif_id]
+            all_massif_data = self.study.year_to_daily_time_serie_array[self.year_for_kde_plot][:, massif_id]
         else:
             all_massif_data = np.concatenate(
-                [data[:, massif_id] for data in self.study.year_to_daily_time_serie.values()])
+                [data[:, massif_id] for data in self.study.year_to_daily_time_serie_array.values()])
         all_massif_data = np.sort(all_massif_data)
         return all_massif_data
 
@@ -197,7 +197,7 @@ class StudyVisualizer(object):
         # Counting the sum of 3-consecutive days of snowfall does not have any physical meaning,
         # as we are counting twice some days
         color_mean = 'g'
-        tuples_x_y = [(year, np.mean(data[:, massif_id])) for year, data in self.study.year_to_daily_time_serie.items()]
+        tuples_x_y = [(year, np.mean(data[:, massif_id])) for year, data in self.study.year_to_daily_time_serie_array.items()]
         x, y = list(zip(*tuples_x_y))
         x, y = average_smoothing_with_sliding_window(x, y, window_size_for_smoothing=self.window_size_for_smoothing)
         ax.plot(x, y, color=color_mean)
diff --git a/test/test_experiment/test_meteo_france_SCM_study/test_SCM_study.py b/test/test_experiment/test_meteo_france_SCM_study/test_SCM_study.py
index d39607aeebb32fc32f0e741165c65a8cc08cf581..71bf34336082b416e9e9617cbfbd6ddd8fee84c9 100644
--- a/test/test_experiment/test_meteo_france_SCM_study/test_SCM_study.py
+++ b/test/test_experiment/test_meteo_france_SCM_study/test_SCM_study.py
@@ -30,7 +30,7 @@ class TestSCMStudy(unittest.TestCase):
 
     def test_scm_daily_data(self):
         for study in load_scm_studies():
-            time_serie = study.year_to_daily_time_serie[1958]
+            time_serie = study.year_to_daily_time_serie_array[1958]
             self.assertTrue(time_serie.ndim == 2, msg='for {} ndim={}'.format(study.__repr__(), time_serie.ndim))
             self.assertTrue(len(time_serie) in [365, 366],
                             msg="current time serie length for {} is {}".format(study.__repr__(), len(time_serie)))
diff --git a/test/test_utils.py b/test/test_utils.py
index aca87266d08244598007faf0bc1af8f0b2787c78..3fb317c84b11123b92523aa57fc80453f66db838 100644
--- a/test/test_utils.py
+++ b/test/test_utils.py
@@ -96,12 +96,13 @@ def load_test_spatiotemporal_coordinates(nb_points, nb_steps, train_split_ratio=
 
 def load_safran_studies(altitudes) -> List[Safran]:
     nb_days_list = [1]
-    return [SafranSnowfall(safran_altitude, nb_days) for safran_altitude in altitudes for nb_days in nb_days_list]
+    return [SafranSnowfall(altitude=safran_altitude, nb_consecutive_days=nb_days)
+            for safran_altitude in altitudes for nb_days in nb_days_list]
 
 
 def load_crocus_studies(altitudes) -> List[Crocus]:
     crocus_classes = [CrocusSwe, CrocusDepth][:]
-    return [crocus_class(altitude) for crocus_class, altitude in product(crocus_classes, altitudes)]
+    return [crocus_class(altitude=altitude) for crocus_class, altitude in product(crocus_classes, altitudes)]
 
 
 def load_scm_studies() -> List[AbstractStudy]: