diff --git a/experiment/meteo_france_data/scm_models_data/paper1_steps/1-main_good_stationary_gev_fit.py b/experiment/meteo_france_data/scm_models_data/paper1_steps/1-main_good_stationary_gev_fit.py
new file mode 100644
index 0000000000000000000000000000000000000000..4bcf26cb2e8ed75753cea36d73fc0cb41decf4e9
--- /dev/null
+++ b/experiment/meteo_france_data/scm_models_data/paper1_steps/1-main_good_stationary_gev_fit.py
@@ -0,0 +1,22 @@
+from experiment.meteo_france_data.scm_models_data.crocus.crocus import CrocusRecentSwe
+from experiment.meteo_france_data.scm_models_data.visualization.study_visualization.main_study_visualizer import \
+    study_iterator_global
+from experiment.meteo_france_data.scm_models_data.visualization.study_visualization.study_visualizer import \
+    StudyVisualizer
+
+
+def maxima_analysis():
+    save_to_file = True
+    only_first_one = False
+    durand_altitude = [900, 1500, 2100, 2700]
+    altitudes = durand_altitude
+    study_classes = [CrocusRecentSwe][:]
+    for study in study_iterator_global(study_classes, only_first_one=only_first_one, altitudes=altitudes):
+        study_visualizer = StudyVisualizer(study, save_to_file=save_to_file,
+                                           verbose=True,
+                                           multiprocessing=True)
+        study_visualizer.visualize_summary_of_annual_values_and_stationary_gev_fit()
+
+
+if __name__ == '__main__':
+    maxima_analysis()
diff --git a/experiment/meteo_france_data/scm_models_data/visualization/hypercube_visualization/main_files_after_conf/main_choice_starting_years.py b/experiment/meteo_france_data/scm_models_data/paper1_steps/2-main_choice_starting_years.py
similarity index 100%
rename from experiment/meteo_france_data/scm_models_data/visualization/hypercube_visualization/main_files_after_conf/main_choice_starting_years.py
rename to experiment/meteo_france_data/scm_models_data/paper1_steps/2-main_choice_starting_years.py
diff --git a/experiment/meteo_france_data/scm_models_data/paper1_steps/__init__.py b/experiment/meteo_france_data/scm_models_data/paper1_steps/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py b/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py
index 059c6afc25755b7dd257dd1f9e95db23689f33b2..74dbf0a13cc62bc75790e7d7644a96233f04aa57 100644
--- a/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py
+++ b/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py
@@ -6,6 +6,7 @@ from random import sample
 from typing import Dict
 
 import math
+import matplotlib
 import matplotlib.pyplot as plt
 import numpy as np
 import pandas as pd
@@ -751,14 +752,7 @@ class StudyVisualizer(VisualizationParameters):
         else:
             *clean_axes, ax0 = axes
         for ax in clean_axes:
-            ax.tick_params(axis=u'both', which=u'both', length=0)
-            ax.spines['top'].set_visible(False)
-            ax.spines['right'].set_visible(False)
-            ax.spines['bottom'].set_visible(False)
-            ax.spines['left'].set_visible(False)
-            ax.get_xaxis().set_visible(False)
-            ax.get_yaxis().set_visible(False)
-            ax.set_aspect('equal')
+            StudyVisualizer.clean_ax(ax)
         ax0.get_yaxis().set_visible(True)
         sub_title = ax0.yaxis.get_label()
         full_title = title + '\n\n' + sub_title._text
@@ -766,6 +760,17 @@ class StudyVisualizer(VisualizationParameters):
         label_function(full_title)
         ax0.tick_params(axis=u'both', which=u'both', length=0)
 
+    @staticmethod
+    def clean_ax(ax):
+        ax.tick_params(axis=u'both', which=u'both', length=0)
+        ax.spines['top'].set_visible(False)
+        ax.spines['right'].set_visible(False)
+        ax.spines['bottom'].set_visible(False)
+        ax.spines['left'].set_visible(False)
+        ax.get_xaxis().set_visible(False)
+        ax.get_yaxis().set_visible(False)
+        ax.set_aspect('equal')
+
     def show_or_save_to_file(self, add_classic_title=True, no_title=False, tight_layout=False):
         if tight_layout:
             plt.tight_layout()
@@ -842,7 +847,9 @@ class StudyVisualizer(VisualizationParameters):
                                        show=False,
                                        replace_blue_by_white=gev_param_name != GevParams.SHAPE,
                                        label=gev_param_name)
-        # self.clean_axes_write_title_on_the_left(axes, title='Independent fits')
+        # todo: add qqplot drawn for each massif on the map in the last cell
+        # or just it could be some fitting score based on the qqplot... and we just display the value
+        # like the log likelihood, (or we could also display some uncertainty here)
 
         # 3) Third row, gev indicator
         axes_third_row = axes[2]
@@ -852,7 +859,11 @@ class StudyVisualizer(VisualizationParameters):
                                        show=False,
                                        label='gev ' + indicator_name)
 
-        plt.show()
+        # Clean all ax
+        for ax in axes.flatten():
+            StudyVisualizer.clean_ax(ax)
+        self.plot_name = 'Overview of empirical and stationary gev indicators'
+        self.show_or_save_to_file()
 
     def visualize_annual_mean_values(self, ax=None, take_mean_value=True):
         if ax is None: