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 0ea553492616660b523ab9114aadbac99217627d..43696208f02528068fd63d3b83d98e40613c9dd9 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
@@ -98,8 +98,10 @@ class AbstractStudy(object):
         year_to_first_index_and_last_index = OrderedDict()
         first_day, last_day = first_day_and_last_day(self.season)
         for year, all_days in self.year_to_all_days.items():
-            first_index = all_days.index('{}-{}'.format(year - 1, first_day))
-            last_index = all_days.index('{}-{}'.format(year, last_day))
+            year_first_index = year - 1 if self.season is not Season.spring else year
+            year_last_index = year - 1 if self.season is Season.automn else year
+            first_index = all_days.index('{}-{}'.format(year_first_index, first_day))
+            last_index = all_days.index('{}-{}'.format(year_last_index, last_day))
             year_to_first_index_and_last_index[year] = (first_index, last_index)
         return year_to_first_index_and_last_index
 
diff --git a/extreme_data/meteo_france_data/scm_models_data/utils.py b/extreme_data/meteo_france_data/scm_models_data/utils.py
index 396cf0f5681ef58e3576c96a32b7376f37b269b2..dec1d7ea6ceb5cb37cb9311f14329973493a7ef1 100644
--- a/extreme_data/meteo_france_data/scm_models_data/utils.py
+++ b/extreme_data/meteo_france_data/scm_models_data/utils.py
@@ -19,7 +19,9 @@ def date_to_str(date: datetime) -> str:
 class Season(Enum):
     annual = 0
     winter_extended = 1
-    # i could add the classical seasons if needed
+    winter = 2
+    spring = 3
+    automn = 4
 
 
 def season_to_str(season):
@@ -36,7 +38,10 @@ class FrenchRegion(Enum):
 def first_day_and_last_day(season):
     season_to_start_day_and_last_day = {
         Season.annual: ('08-01', '07-31'),
-        Season.winter_extended: ('11-01', '05-31')
+        Season.winter_extended: ('11-01', '05-31'),
+        Season.winter: ('12-01', '02-28'),
+        Season.spring: ('03-01', '05-31'),
+        Season.automn: ('09-01', '11-30'),
     }
     return season_to_start_day_and_last_day[season]
 
diff --git a/extreme_data/meteo_france_data/scm_models_data/visualization/study_visualizer.py b/extreme_data/meteo_france_data/scm_models_data/visualization/study_visualizer.py
index 78d84b8f401b9ce8ef93cc94dbaf7a13341a0c47..91c427a3e6011b63a99693240dc4c397e21d0502 100644
--- a/extreme_data/meteo_france_data/scm_models_data/visualization/study_visualizer.py
+++ b/extreme_data/meteo_france_data/scm_models_data/visualization/study_visualizer.py
@@ -13,6 +13,7 @@ import numpy as np
 import pandas as pd
 import seaborn as sns
 
+from extreme_data.meteo_france_data.scm_models_data.utils import season_to_str
 from extreme_data.meteo_france_data.scm_models_data.visualization.plot_utils import load_plot
 from extreme_fit.estimator.margin_estimator.utils import fitted_stationary_gev
 from extreme_fit.model.margin_model.utils import fitmethod_to_str
@@ -554,6 +555,7 @@ class StudyVisualizer(VisualizationParameters):
             plt.show()
         if self.save_to_file:
             main_title, specific_title = '_'.join(self.study.title.split()).split('/')
+            main_title += season_to_str(self.study.season)
             if folder_for_variable:
                 filename = "{}/{}/".format(VERSION_TIME, main_title)
             else:
diff --git a/projects/altitude_spatial_model/altitudes_fit/altitudes_studies.py b/projects/altitude_spatial_model/altitudes_fit/altitudes_studies.py
index 6f87bf5def6e909f68c87c9ecc03e7c3697ffd15..5bd6c2aeeab9af9486f34fd46601d3f9ddfc5244 100644
--- a/projects/altitude_spatial_model/altitudes_fit/altitudes_studies.py
+++ b/projects/altitude_spatial_model/altitudes_fit/altitudes_studies.py
@@ -107,10 +107,10 @@ class AltitudesStudies(object):
 
     # Some visualization
 
-    def show_or_save_to_file(self, plot_name, show=False):
+    def show_or_save_to_file(self, plot_name, show=False, no_title=False):
         study_visualizer = StudyVisualizer(study=self.study, show=show, save_to_file=not show)
         study_visualizer.plot_name = plot_name
-        study_visualizer.show_or_save_to_file(add_classic_title=False, dpi=500)
+        study_visualizer.show_or_save_to_file(add_classic_title=False, dpi=500, no_title=no_title)
 
     def run_for_each_massif(self, function, massif_names, **kwargs):
         massif_names = massif_names if massif_names is not None else self.study.all_massif_names()
@@ -131,12 +131,13 @@ class AltitudesStudies(object):
                 ax.plot(x, y, linewidth=2, label=label)
         ax.xaxis.set_ticks(x[1::10])
         ax.tick_params(axis='both', which='major', labelsize=13)
-        ax.legend()
+        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],
                                                        massif_name.replace('_', ' '))
         ax.set_ylabel('{} ({})'.format(plot_name, self.study.variable_unit), fontsize=15)
         ax.set_xlabel('years', fontsize=15)
-        self.show_or_save_to_file(plot_name=plot_name, show=show)
+        self.show_or_save_to_file(plot_name=plot_name, show=show, no_title=True)
         ax.clear()
 
     def plot_mean_maxima_against_altitude(self, massif_names=None, show=False, std=False, change=False):
diff --git a/projects/altitude_spatial_model/altitudes_fit/main_altitudes_studies.py b/projects/altitude_spatial_model/altitudes_fit/main_altitudes_studies.py
index 46242d6c64a0e900efcadb23603c603668ec2e1b..097490a56bc3d8f5e501d2b0d2e8dbcc2be2d383 100644
--- a/projects/altitude_spatial_model/altitudes_fit/main_altitudes_studies.py
+++ b/projects/altitude_spatial_model/altitudes_fit/main_altitudes_studies.py
@@ -48,24 +48,29 @@ def plot_moments(studies, massif_names=None):
 
 
 def main():
-    altitudes = [900, 1200, 1500, 1800, 2100, 2400, 2700, 3000][4:7]
+    # altitudes = [900, 1200, 1500, 1800, 2100, 2400, 2700, 3000][4:7]
     # altitudes = [900, 1200, 1500, 1800, 2100, 2400, 2700, 3000][:]
-    # altitudes = [900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900]
+    # todo: l ecart  pour les saisons de l automne ou de sprint
+    #  vient probablement de certains zéros pas pris en compte pour le fit,
+    # mais pris en compte pour le calcul de mon aic
+    altitudes = [900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900][:]
     study_classes = [SafranSnowfall1Day, SafranSnowfall3Days, SafranSnowfall5Days, SafranSnowfall7Days][:2]
     study_classes = [SafranPrecipitation1Day, SafranPrecipitation3Days, SafranPrecipitation5Days,
                      SafranPrecipitation7Days][:]
     study_classes = [SafranSnowfall1Day, SafranPrecipitation1Day,
-                     SafranSnowfall3Days, SafranPrecipitation3Days][:1]
+                     SafranSnowfall3Days, SafranPrecipitation3Days][:]
+    seasons = [Season.automn, Season.winter, Season.spring][::-1]
     massif_names = None
     # massif_names = ['Aravis']
     # massif_names = ['Chartreuse', 'Belledonne']
 
-    for study_class in study_classes:
-        print('change study class')
-        studies = AltitudesStudies(study_class, altitudes, season=Season.winter_extended)
-        plot_time_series(studies, massif_names)
-        plot_moments(studies, massif_names)
-        plot_altitudinal_fit(studies, massif_names)
+    for season in seasons:
+        for study_class in study_classes:
+            studies = AltitudesStudies(study_class, altitudes, season=season)
+            print('inner loop', season, study_class)
+            plot_time_series(studies, massif_names)
+            plot_moments(studies, massif_names)
+            plot_altitudinal_fit(studies, massif_names)
 
 
 if __name__ == '__main__':
diff --git a/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/altitudes_studies_visualizer_for_non_stationary_models.py b/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/altitudes_studies_visualizer_for_non_stationary_models.py
index 63b186b625fbc5d7195a082d251e6c831f49906d..387a5acff4a374851a90ed1417a624ab474a3b4d 100644
--- a/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/altitudes_studies_visualizer_for_non_stationary_models.py
+++ b/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/altitudes_studies_visualizer_for_non_stationary_models.py
@@ -103,11 +103,11 @@ class AltitudesStudiesVisualizerForNonStationaryModels(StudyVisualizer):
                         for evaluate_coordinate in [False, True]:
                             if evaluate_coordinate:
                                 coef_name += 'evaluated at coordinates'
-                                for m in massif_name_to_best_coef.values():
+                                for massif_name in massif_name_to_best_coef.keys():
                                     if AbstractCoordinates.COORDINATE_X in coordinate_name:
-                                        massif_name_to_best_coef[m] *= np.power(1000, degree)
+                                        massif_name_to_best_coef[massif_name] *= np.power(1000, degree)
                                     if AbstractCoordinates.COORDINATE_T in coordinate_name:
-                                        massif_name_to_best_coef[m] *= np.power(1000, degree)
+                                        massif_name_to_best_coef[massif_name] *= np.power(2019, degree)
                             self.plot_best_coef_map(coef_name.replace('_', ''), massif_name_to_best_coef)
 
     def plot_best_coef_map(self, coef_name, massif_name_to_best_coef):
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 f9716643b4d574a0e8fde560717fb73fc8411019..6d0af7e6221e58fe46c269e1211698e49c4f6645 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
@@ -24,7 +24,7 @@ class TestSCMAllStudy(unittest.TestCase):
         self.assertEqual('{}-08-01'.format(year - 1), first_day)
         self.assertEqual('{}-07-31'.format(year), last_day)
 
-    def test_year_to_winter_date(self):
+    def test_year_to_winter_extended_date(self):
         year = 2019
         study = SafranSnowfall(altitude=900, year_min=year, year_max=year, season=Season.winter_extended)
         first_day, *_, last_day = study.year_to_days[year]