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 998e53b49922d596cd447e47d404f14843baca99..549a997a98c0996adbb55044871b94233252e3c5 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
@@ -128,7 +128,8 @@ class AbstractStudy(object):
             date = datetime.datetime(year=year - 1, month=8, day=1, hour=6, minute=0, second=0)
             days = []
             for i in range(366):
-                days.append(date_to_str(date))
+                day = date_to_str(date)
+                days.append(day)
                 date += datetime.timedelta(days=1)
                 if date.month == 8 and date.day == 1:
                     break
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 2109bf323095a8142145f415025152401b1be5e4..3cb375ca4274100b3b46cb29110846460d379c3e 100644
--- a/projects/altitude_spatial_model/altitudes_fit/main_altitudes_studies.py
+++ b/projects/altitude_spatial_model/altitudes_fit/main_altitudes_studies.py
@@ -39,7 +39,7 @@ def main():
                         , SafranPrecipitation3Days][:1]
     altitudes = [1800, 2100, 2400]
     study_classes = [SafranSnowfall1Day, SafranSnowfall3Days, SafranSnowfall5Days, SafranSnowfall7Days][:1]
-    # study_classes = [SafranPrecipitation1Day][:1]
+    study_classes = [SafranPrecipitation1Day][:1]
 
     # Common parameters
     # altitudes = [600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600]
diff --git a/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/altitude_group.py b/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/altitude_group.py
index 07e569441e6f95a78674818f9d74a8cfb60ad9ea..72d694b2222cb8261312115ce59e74fb48eb8c2a 100644
--- a/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/altitude_group.py
+++ b/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/altitude_group.py
@@ -6,6 +6,8 @@ altitudes_for_groups = [
     [1800, 2100, 2400],
     [2700, 3000, 3300]
 ]
+
+
 # altitudes_for_groups = [
 #     [600, 900, 1200, 1500, 1800],
 #     [1500, 1800, 2100, 2400, 2700],
@@ -67,6 +69,7 @@ class DefaultAltitudeGroup(AbstractAltitudeGroup):
     def reference_altitude(self):
         return 500
 
+
 def get_altitude_group_from_altitudes(altitudes):
     s = set(altitudes)
     if s == set(altitudes_for_groups[0]):
diff --git a/projects/altitude_spatial_model/seasonal_analysis/main_season_repartition_of_maxima.py b/projects/altitude_spatial_model/seasonal_analysis/main_season_repartition_of_maxima.py
new file mode 100644
index 0000000000000000000000000000000000000000..77562d85ac6c7f13f65520a611797db9bce96404
--- /dev/null
+++ b/projects/altitude_spatial_model/seasonal_analysis/main_season_repartition_of_maxima.py
@@ -0,0 +1,86 @@
+import matplotlib.pyplot as plt
+import operator
+import calendar
+
+import numpy as np
+
+from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day
+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
+from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.altitude_group import altitudes_for_groups, \
+    get_altitude_group_from_altitudes
+
+
+def plot_season_repartition_of_maxima(studies, massif_names, title='', idx=0):
+
+
+    month_to_name = {month: calendar.month_name[month] for month in range(1, 13)}
+
+    all_years = studies.study.ordered_years
+    title += ['-1959-2019', '-past-1959-1988', '-recent-1990-2019'][idx]
+    color = ['grey', 'red', 'green'][idx]
+    years = [all_years, all_years[:30], all_years[-30:]][idx]
+    ax = plt.gca()
+    ax2 = ax.twinx()
+
+    month_to_maxima = get_month_to_maxima(massif_names, studies, years)
+    # PLot percentages for each month
+    ordered_months = [8, 9, 10, 11, 12] + [1, 2, 3, 4, 5, 6, 7]
+    nb_total_maxima = sum([len(v) for v in month_to_maxima.values()])
+    percentage_maxima = [100 * len(month_to_maxima[month]) / nb_total_maxima for month in ordered_months]
+    month_names = [month_to_name[m][:3] for m in ordered_months]
+    ax.bar(month_names, percentage_maxima, width=0.5,
+           color=color, edgecolor=color, label='Percentage of maxima',
+           linewidth=2)
+    mean_maxima = [np.mean(month_to_maxima[month]) for month in ordered_months]
+    # Plot mean maxima for each month
+    ax2.plot(month_names, mean_maxima)
+
+    ax.set_ylabel('Percentages of annual maxima')
+    ax.set_ylim((0, 30))
+    ax.grid()
+    ax2.set_ylabel('Mean annual maxima')
+    ax2.set_ylim((0, 100))
+
+    studies.show_or_save_to_file(plot_name=title)
+    plt.close()
+
+
+def get_month_to_maxima(massif_names, studies, years):
+    month_to_maxima = {i: [] for i in range(1, 13)}
+    massif_names = set(massif_names)
+    for study in studies.altitude_to_study.values():
+        massif_ids = [i for i, m in enumerate(study.study_massif_names) if m in massif_names]
+        for year in years:
+            annual_maxima = study.year_to_annual_maxima[year][massif_ids]
+            annual_maxima_index = study.year_to_annual_maxima_index[year][massif_ids]
+            days = study.year_to_days[year]
+            days_for_annual_maxima = operator.itemgetter(*annual_maxima_index)(days)
+            months = [int(d.split('-')[1]) for d in days_for_annual_maxima]
+            for month, annual_maximum in zip(months, annual_maxima):
+                month_to_maxima[month].append(annual_maximum)
+    return month_to_maxima
+
+
+if __name__ == '__main__':
+    study_class = SafranSnowfall1Day
+    'Vercors'
+
+    norht_massif_names = ['Oisans', 'Grandes-Rousses', 'Haute-Maurienne', 'Vanoise',
+                          'Maurienne', 'Belledonne', 'Chartreuse', 'Haute-Tarentaise',
+                          'Beaufortain', 'Bauges', 'Mont-Blanc', 'Aravis', 'Chablais']
+    south_massif_names = ['Mercantour', 'Ubaye', 'Haut_Var-Haut_Verdon', 'Parpaillon', 'Champsaur',
+                          'Devoluy', 'Queyras', 'Pelvoux', 'Thabor']
+
+
+    for altitudes in altitudes_for_groups:
+        studies = AltitudesStudies(study_class, altitudes)
+        elevation = get_altitude_group_from_altitudes(altitudes).reference_altitude
+
+        # for idx in range(3):
+        for idx in range(1):
+            for masssif_names, region_name in zip([norht_massif_names, south_massif_names],
+                                                  ['North', 'South']):
+                plot_season_repartition_of_maxima(studies, masssif_names, '{} {}'.format(region_name, elevation),
+                                                  idx=idx)
+