diff --git a/extreme_data/meteo_france_data/scm_models_data/safran/safran.py b/extreme_data/meteo_france_data/scm_models_data/safran/safran.py
index 1d1a9d4638adc38f2525d249b7fabf3569d506b5..8eecfc8172534379ade4b0e884596daabef6004d 100644
--- a/extreme_data/meteo_france_data/scm_models_data/safran/safran.py
+++ b/extreme_data/meteo_france_data/scm_models_data/safran/safran.py
@@ -22,33 +22,32 @@ class Safran(AbstractStudy):
 
 class SafranSnowfall(Safran, CumulatedStudy):
 
-    def __init__(self, *args, **kwargs):
-        CumulatedStudy.__init__(self, SafranSnowfallVariable, *args, **kwargs)
-        Safran.__init__(self, SafranSnowfallVariable, *args, **kwargs)
+    def __init__(self, **kwargs):
+        super().__init__(SafranSnowfallVariable, **kwargs)
 
 
 class SafranSnowfall1Day(SafranSnowfall):
 
-    def __init__(self, *args, **kwargs):
-        super().__init__(nb_consecutive_days=1, *args, **kwargs)
+    def __init__(self, **kwargs):
+        super().__init__(nb_consecutive_days=1, **kwargs)
 
 
 class SafranSnowfall3Days(SafranSnowfall):
 
-    def __init__(self, *args, **kwargs):
-        super().__init__(nb_consecutive_days=3, *args, **kwargs)
+    def __init__(self, **kwargs):
+        super().__init__(nb_consecutive_days=3, **kwargs)
 
 
 class SafranSnowfall5Days(SafranSnowfall):
 
-    def __init__(self, *args, **kwargs):
-        super().__init__(nb_consecutive_days=5, *args, **kwargs)
+    def __init__(self, **kwargs):
+        super().__init__(nb_consecutive_days=5, **kwargs)
 
 
 class SafranSnowfall7Days(SafranSnowfall):
 
-    def __init__(self, *args, **kwargs):
-        super().__init__(nb_consecutive_days=7, *args, **kwargs)
+    def __init__(self, **kwargs):
+        super().__init__(nb_consecutive_days=7, **kwargs)
 
 
 class ExtendedSafranSnowfall(AbstractExtendedStudy, SafranSnowfall):
@@ -57,38 +56,38 @@ class ExtendedSafranSnowfall(AbstractExtendedStudy, SafranSnowfall):
 
 class SafranRainfall(CumulatedStudy, Safran):
 
-    def __init__(self, *args, **kwargs):
-        super().__init__(SafranRainfallVariable, *args, **kwargs)
+    def __init__(self, **kwargs):
+        super().__init__(SafranRainfallVariable, **kwargs)
 
 
 class SafranRainfall1Day(SafranRainfall):
 
-    def __init__(self, *args, **kwargs):
-        super().__init__(nb_consecutive_days=1, *args, **kwargs)
+    def __init__(self, **kwargs):
+        super().__init__(nb_consecutive_days=1, **kwargs)
 
 
 class SafranRainfall3Days(SafranRainfall):
 
-    def __init__(self, *args, **kwargs):
-        super().__init__(nb_consecutive_days=3, *args, **kwargs)
+    def __init__(self, **kwargs):
+        super().__init__(nb_consecutive_days=3, **kwargs)
 
 
 class SafranRainfall5Days(SafranRainfall):
 
-    def __init__(self, *args, **kwargs):
-        super().__init__(nb_consecutive_days=5, *args, **kwargs)
+    def __init__(self, **kwargs):
+        super().__init__(nb_consecutive_days=5, **kwargs)
 
 
 class SafranRainfall7Days(SafranRainfall):
 
-    def __init__(self, *args, **kwargs):
-        super().__init__(nb_consecutive_days=7, *args, **kwargs)
+    def __init__(self, **kwargs):
+        super().__init__(nb_consecutive_days=7, **kwargs)
 
 
 class SafranPrecipitation(CumulatedStudy, Safran):
 
-    def __init__(self, *args, **kwargs):
-        super().__init__(SafranTotalPrecipVariable, *args, **kwargs)
+    def __init__(self, **kwargs):
+        super().__init__(SafranTotalPrecipVariable, **kwargs)
 
     def load_variable_array(self, dataset):
         return [np.array(dataset.variables[k]) for k in self.load_keyword()]
@@ -100,26 +99,26 @@ class SafranPrecipitation(CumulatedStudy, Safran):
 
 class SafranPrecipitation1Day(SafranPrecipitation):
 
-    def __init__(self, *args, **kwargs):
-        super().__init__(nb_consecutive_days=1, *args, **kwargs)
+    def __init__(self, **kwargs):
+        super().__init__(nb_consecutive_days=1, **kwargs)
 
 
 class SafranPrecipitation3Days(SafranPrecipitation):
 
-    def __init__(self, *args, **kwargs):
-        super().__init__(nb_consecutive_days=3, *args, **kwargs)
+    def __init__(self, **kwargs):
+        super().__init__(nb_consecutive_days=3, **kwargs)
 
 
 class SafranPrecipitation5Days(SafranPrecipitation):
 
-    def __init__(self, *args, **kwargs):
-        super().__init__(nb_consecutive_days=5, *args, **kwargs)
+    def __init__(self, **kwargs):
+        super().__init__(nb_consecutive_days=5, **kwargs)
 
 
 class SafranPrecipitation7Days(SafranPrecipitation):
 
-    def __init__(self, *args, **kwargs):
-        super().__init__(nb_consecutive_days=7, *args, **kwargs)
+    def __init__(self, **kwargs):
+        super().__init__(nb_consecutive_days=7, **kwargs)
 
 
 class ExtendedSafranPrecipitation(AbstractExtendedStudy, SafranPrecipitation):
@@ -128,14 +127,20 @@ class ExtendedSafranPrecipitation(AbstractExtendedStudy, SafranPrecipitation):
 
 class SafranTemperature(Safran):
 
-    def __init__(self, *args, **kwargs):
-        super().__init__(SafranTemperatureVariable, *args, **kwargs)
+    def __init__(self, **kwargs):
+        super().__init__(SafranTemperatureVariable, **kwargs)
 
     def annual_aggregation_function(self, *args, **kwargs):
         return np.mean(*args, **kwargs)
 
 
 if __name__ == '__main__':
-    study = SafranRainfall1Day()
+    altitude = 900
+    year_min = 1959
+    year_max = 2000
+    study = SafranRainfall1Day(altitude, year_min=year_min, year_max=year_max)
+    d = study.year_to_dataset_ordered_dict[1959]
+    print(d.keywords)
+    print(d.variables.keys())
     print(study.year_to_annual_maxima[1959])
     print(study.ordered_years)
diff --git a/extreme_fit/estimator/margin_estimator/utils.py b/extreme_fit/estimator/margin_estimator/utils.py
index 95dc74d0bcd01ea7b628a5cfa38b0e12cbb0fc24..df5805269b3bc3a175edd73f0fd8ab6c65bcaa30 100644
--- a/extreme_fit/estimator/margin_estimator/utils.py
+++ b/extreme_fit/estimator/margin_estimator/utils.py
@@ -2,6 +2,8 @@ import pandas as pd
 
 from extreme_fit.distribution.gev.gev_params import GevParams
 from extreme_fit.estimator.margin_estimator.abstract_margin_estimator import LinearMarginEstimator
+from extreme_fit.model.margin_model.linear_margin_model.abstract_temporal_linear_margin_model import \
+    TemporalMarginFitMethod
 from extreme_fit.model.margin_model.linear_margin_model.temporal_linear_margin_models import StationaryTemporalModel
 from spatio_temporal_dataset.coordinates.temporal_coordinates.generated_temporal_coordinates import \
     ConsecutiveTemporalCoordinates
@@ -20,7 +22,7 @@ def fitted_linear_margin_estimator(model_class, coordinates, dataset, starting_y
     return estimator
 
 
-def fitted_stationary_gev(x_gev, fit_method, model_class=StationaryTemporalModel, starting_year=None,
+def fitted_stationary_gev(x_gev, fit_method=TemporalMarginFitMethod.is_mev_gev_fit, model_class=StationaryTemporalModel, starting_year=None,
                           transformation_class=CenteredScaledNormalization) -> GevParams:
     coordinates = ConsecutiveTemporalCoordinates.from_nb_temporal_steps(nb_temporal_steps=len(x_gev),
                                                                         transformation_class=CenteredScaledNormalization)
diff --git a/projects/exceeding_snow_loads/presentation/statistical_model.py b/projects/exceeding_snow_loads/presentation/statistical_model.py
index 1a5e8dcdd3155682a3d97e9831c4ea32988b72cf..72bdf968d5942824120977331248daca57278cd4 100644
--- a/projects/exceeding_snow_loads/presentation/statistical_model.py
+++ b/projects/exceeding_snow_loads/presentation/statistical_model.py
@@ -25,6 +25,7 @@ def binomial_observation():
         plt.yticks([0.0, 1.0], ['Heads', 'Tails'])
         ax.plot(time, data, color=color, label=label, linewidth=4)
 
+
 def histogram_for_gev():
     import matplotlib.pyplot as plt
     from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal
@@ -53,9 +54,6 @@ def histogram_for_gev():
     ax.set_ylim([0, 0.3])
 
 
-
-
-
 def histogram_for_normal():
     ax = plt.gca()
     linewidth = 5
@@ -71,9 +69,8 @@ def histogram_for_normal():
     ax.set_ylim([0, 0.6])
 
 
-
 if __name__ == '__main__':
     # binomial_observation()
     # histogram_for_gev()
     histogram_for_normal()
-    plt.show()
\ No newline at end of file
+    plt.show()
diff --git a/test/test_extreme_data/test_meteo_france_data/test_SCM_study.py b/test/test_extreme_data/test_meteo_france_data/test_SCM_study.py
index 9c829c99bde81cbb77d6ed1b3de59d9e11b4c47a..56ab48da17cc964629b2f00ecf44cd527191bf3e 100644
--- a/test/test_extreme_data/test_meteo_france_data/test_SCM_study.py
+++ b/test/test_extreme_data/test_meteo_france_data/test_SCM_study.py
@@ -4,9 +4,10 @@ from random import sample
 
 import pandas as pd
 
+from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoad3Days
 from extreme_data.meteo_france_data.scm_models_data.safran.cumulated_study import NB_DAYS
 from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall, SafranTemperature, \
-    SafranPrecipitation
+    SafranPrecipitation, SafranSnowfall3Days, SafranRainfall3Days
 from extreme_data.meteo_france_data.scm_models_data.utils import SeasonForTheMaxima
 from extreme_data.meteo_france_data.scm_models_data.visualization.main_study_visualizer import \
     study_iterator_global, SCM_STUDIES, ALL_ALTITUDES
@@ -33,9 +34,10 @@ class TestSCMAllStudy(unittest.TestCase):
         self.assertEqual(len(days), len(daily_time_series))
 
     def test_instantiate_studies(self):
+        study_classes = SCM_STUDIES
         nb_sample = 2
         for nb_days in sample(set(NB_DAYS), k=nb_sample):
-            for study in study_iterator_global(study_classes=SCM_STUDIES,
+            for study in study_iterator_global(study_classes=study_classes,
                                                only_first_one=False, verbose=False,
                                                altitudes=sample(set(ALL_ALTITUDES), k=nb_sample), nb_days=nb_days):
                 first_path_file = study.ordered_years_and_path_files[0][0]
@@ -44,6 +46,14 @@ class TestSCMAllStudy(unittest.TestCase):
                                  msg='{} days for type {}'.format(nb_days, get_display_name_from_object_type(
                                      type(variable_object))))
 
+    def test_instantiate_studies_with_number_of_days(self):
+        altitude = 900
+        year_min = 1959
+        year_max = 2000
+        study_classes = [SafranSnowfall3Days, SafranRainfall3Days, CrocusSnowLoad3Days]
+        for study_class in study_classes:
+            study_class(altitude=altitude, year_min=year_min, year_max=year_max)
+
 
 class TestSCMStudy(unittest.TestCase):