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 6891acfbba86a4dcf46fdc8e1196c4bd5654e1c3..df61a53190e7e70acb0c8dd1dba49568f37d4c27 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, seed
 from typing import Dict, Tuple
 
 import math
+
 import matplotlib.pyplot as plt
 import numpy as np
 import pandas as pd
@@ -819,7 +820,7 @@ class StudyVisualizer(VisualizationParameters):
         ax.set_aspect('equal')
 
     def show_or_save_to_file(self, add_classic_title=True, no_title=False, tight_layout=False, tight_pad=None,
-                             dpi=None):
+                             dpi=None, folder_for_variable=True):
         if tight_layout:
             if tight_pad is not None:
                 plt.tight_layout(**tight_pad)
@@ -839,7 +840,10 @@ class StudyVisualizer(VisualizationParameters):
             plt.show()
         if self.save_to_file:
             main_title, specific_title = '_'.join(self.study.title.split()).split('/')
-            filename = "{}/{}/".format(VERSION_TIME, main_title)
+            if folder_for_variable:
+                filename = "{}/{}/".format(VERSION_TIME, main_title)
+            else:
+                filename = "{}/".format(VERSION_TIME)
             if not self.only_one_graph:
                 filename += "{}".format('_'.join(self.plot_name.split())) + '_'
             filename += specific_title
diff --git a/papers/contrasting_snow_loads/main_result.py b/papers/contrasting_snow_loads/main_result.py
index dba2c4387bedcd21b6f5d9eb53d9e009b5ef5287..d152057b8e7555acb3dfb35731b48ecdb7d75280 100644
--- a/papers/contrasting_snow_loads/main_result.py
+++ b/papers/contrasting_snow_loads/main_result.py
@@ -1,6 +1,9 @@
 from multiprocessing.pool import Pool
 
 import matplotlib as mpl
+mpl.use('Agg')
+mpl.rcParams['text.usetex'] = True
+mpl.rcParams['text.latex.preamble'] = [r'\usepackage{amsmath}']
 
 from experiment.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal, CrocusSnowLoad3Days, \
     CrocusSnowLoad5Days, CrocusSnowLoad7Days, CrocusSnowLoad1Day
@@ -19,14 +22,14 @@ from papers.exceeding_snow_loads.result_trends_and_return_levels.plot_uncertaint
     plot_uncertainty_histogram
 from root_utils import NB_CORES
 
-mpl.rcParams['text.usetex'] = True
-mpl.rcParams['text.latex.preamble'] = [r'\usepackage{amsmath}']
+
 
 
 def intermediate_result(altitudes, massif_names=None,
                         model_subsets_for_uncertainty=None, uncertainty_methods=None,
                         study_class=CrocusSnowLoad3Days,
-                        multiprocessing=False):
+                        multiprocessing=False,
+                        save_to_file=True):
     """
     Plot all the trends for all altitudes
     And enable to plot uncertainty plot for some specific massif_names, uncertainty methods to be fast
@@ -39,7 +42,7 @@ def intermediate_result(altitudes, massif_names=None,
     """
     # Load altitude to visualizer
     altitude_to_visualizer = load_altitude_to_visualizer(altitudes, massif_names, model_subsets_for_uncertainty,
-                                                         study_class, uncertainty_methods)
+                                                         study_class, uncertainty_methods, save_to_file=save_to_file)
     # Load variable object efficiently
     for v in altitude_to_visualizer.values():
         _ = v.study.year_to_variable_object
@@ -62,7 +65,7 @@ def major_result():
     massif_names = None
     model_subsets_for_uncertainty = None
     altitudes = paper_altitudes
-    altitudes = [900, 1200, 1500, 1800, 2100, 2400, 2700]
+    # altitudes = [600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300]
     study_classes = [CrocusSnowLoad1Day, CrocusSnowLoad3Days, CrocusSnowLoad5Days, CrocusSnowLoad7Days][:]
     for study_class in study_classes:
         intermediate_result(altitudes, massif_names, model_subsets_for_uncertainty,
@@ -74,4 +77,5 @@ if __name__ == '__main__':
     # intermediate_result(altitudes=[1500, 1800][:], massif_names=None,
     #                     uncertainty_methods=[ConfidenceIntervalMethodFromExtremes.my_bayes,
     #                                          ConfidenceIntervalMethodFromExtremes.ci_mle][1:],
-    #                     multiprocessing=True)
\ No newline at end of file
+    #                     multiprocessing=True,
+    #                     save_to_file=False)
\ No newline at end of file
diff --git a/papers/contrasting_snow_loads/plot_contrasting_trend_curves.py b/papers/contrasting_snow_loads/plot_contrasting_trend_curves.py
index 616bb7289a2b32b5e872acad7c25701943594ab1..8d4b154ab32432515e23ef0d11e550f12fc70a5d 100644
--- a/papers/contrasting_snow_loads/plot_contrasting_trend_curves.py
+++ b/papers/contrasting_snow_loads/plot_contrasting_trend_curves.py
@@ -16,7 +16,8 @@ def plot_contrasting_trend_curves(altitude_to_visualizer: Dict[int, StudyVisuali
     visualizer = list(altitude_to_visualizer.values())[0]
 
     ax = create_adjusted_axes(1, 1)
-    ax_twinx = ax.twinx()
+    # ax_twinx = ax.twinx()
+    ax_twinx = ax
     ax_twiny = ax.twiny()
 
     trend_summary_values = list(zip(*[v.trend_summary_contrasting_values() for v in altitude_to_visualizer.values()]))
@@ -60,19 +61,20 @@ def plot_contrasting_trend_curves(altitude_to_visualizer: Dict[int, StudyVisuali
     #     axis.set_ylim(ax_lim)
     #     axis.set_yticks(ax_ticks)
     #     axis.tick_params(labelsize=labelsize)
-    ax.yaxis.grid()
+    ax_twinx.yaxis.grid()
 
-    label_curve = (visualizer.label).replace('change', 'decrease')
-    ax_twinx.set_ylabel(label_curve.replace('', ''), fontsize=legend_fontsize)
-    for region_name, mean_change in zip(AbstractExtendedStudy.region_names, mean_changes):
-        if len(mean_changes) > 1:
+    ax_twinx.set_ylabel(visualizer.label, fontsize=legend_fontsize)
+    for j, (region_name, mean_change) in enumerate(zip(AbstractExtendedStudy.region_names, mean_changes)):
+        if len(mean_changes) > 2:
             label = region_name
+        elif len(mean_changes) == 2:
+            label = 'North' if j == 0 else 'South'
         else:
             label = 'Mean relative change'
         ax_twinx.plot(altitudes, mean_change, label=label, linewidth=linewidth, marker='o')
         ax_twinx.legend(loc='upper right', prop={'size': size})
 
     # Save plot
-    visualizer.plot_name = 'Trend curves'
-    visualizer.show_or_save_to_file(no_title=True, dpi=dpi_paper1_figure)
+    visualizer.plot_name = 'Trend curves for' + visualizer.study.variable_name.split('(')[0]
+    visualizer.show_or_save_to_file(no_title=True, dpi=dpi_paper1_figure, folder_for_variable=False)
     plt.close()
diff --git a/papers/exceeding_snow_loads/study_visualizer_for_non_stationary_trends.py b/papers/exceeding_snow_loads/study_visualizer_for_non_stationary_trends.py
index a7f3e056da4c042b1b4effe953e985015ab3ca84..52af41d3a0a172a44d48d8aa9701e3e8413b21bb 100644
--- a/papers/exceeding_snow_loads/study_visualizer_for_non_stationary_trends.py
+++ b/papers/exceeding_snow_loads/study_visualizer_for_non_stationary_trends.py
@@ -436,12 +436,21 @@ class StudyVisualizerForNonStationaryTrends(StudyVisualizer):
         # percentage_decrease = 100 * len(decreasing_trend_tests) / len(trend_tests)
         # significative_decrease_trend_tests = [t for t in decreasing_trend_tests if t.is_significant]
         # percentage_decrease_significative = 100 * len(significative_decrease_trend_tests) / len(trend_tests)
-        compute_mean_change = lambda l: np.mean(np.array(list(l)))
-        mean_changes = [compute_mean_change(self.massif_name_to_relative_change_value.values())]
-        # Compute mean relatives per regions (for the moment i don't add the region means)
+        compute_mean_change = lambda l: np.mean(np.array(list(l))) if len(l) > 0 else 0
+        all_regions = False
         massif_name_to_region_name = AbstractExtendedStudy.massif_name_to_region_name
-        for region_name in AbstractExtendedStudy.real_region_names:
-            change_values = [v for m, v in self.massif_name_to_relative_change_value.items()
-                             if massif_name_to_region_name[m] == region_name]
-            mean_changes.append(compute_mean_change(change_values))
+        if all_regions:
+            mean_changes = [compute_mean_change(self.massif_name_to_relative_change_value.values())]
+            # Compute mean relatives per regions (for the moment i don't add the region means)
+            for region_name in AbstractExtendedStudy.real_region_names:
+                change_values = [v for m, v in self.massif_name_to_relative_change_value.items()
+                                 if massif_name_to_region_name[m] == region_name]
+                mean_changes.append(compute_mean_change(change_values))
+        else:
+            mean_changes = [
+                compute_mean_change([v for m, v in self.massif_name_to_relative_change_value.items()
+                                    if massif_name_to_region_name[m] in regions])
+                for regions in [AbstractExtendedStudy.real_region_names[:2], AbstractExtendedStudy.real_region_names[2:]]
+            ]
+
         return (self.altitude, *mean_changes)