diff --git a/experiment/trend_analysis/univariate_test/extreme_trend_test/abstract_gev_trend_test.py b/experiment/trend_analysis/univariate_test/extreme_trend_test/abstract_gev_trend_test.py
index ff001c28551994496658a3315312ea2ee81dc778..c6040667a23f529945ab815d145485a0b950f4df 100644
--- a/experiment/trend_analysis/univariate_test/extreme_trend_test/abstract_gev_trend_test.py
+++ b/experiment/trend_analysis/univariate_test/extreme_trend_test/abstract_gev_trend_test.py
@@ -88,8 +88,8 @@ class AbstractGevTrendTest(AbstractUnivariateTest):
     def degree_freedom_chi2(self) -> int:
         raise NotImplementedError
 
-    @property
-    def total_number_of_parameters_for_unconstrained_model(self) -> int:
+    @classproperty
+    def total_number_of_parameters_for_unconstrained_model(cls) -> int:
         raise NotImplementedError
 
     @property
diff --git a/experiment/trend_analysis/univariate_test/extreme_trend_test/trend_test_one_parameter/gumbel_trend_test_one_parameter.py b/experiment/trend_analysis/univariate_test/extreme_trend_test/trend_test_one_parameter/gumbel_trend_test_one_parameter.py
index d6e1ba53e5aa9afa81bd6058d56e7ac0c655c215..cf2fcdb34361024ef5fa924b306efdd3b51b7640 100644
--- a/experiment/trend_analysis/univariate_test/extreme_trend_test/trend_test_one_parameter/gumbel_trend_test_one_parameter.py
+++ b/experiment/trend_analysis/univariate_test/extreme_trend_test/trend_test_one_parameter/gumbel_trend_test_one_parameter.py
@@ -23,8 +23,8 @@ class GumbelVersusGumbel(GevTrendTestOneParameter):
     def is_significant(self) -> bool:
         return False
 
-    @property
-    def total_number_of_parameters_for_unconstrained_model(self) -> int:
+    @classproperty
+    def total_number_of_parameters_for_unconstrained_model(cls) -> int:
         return 2
 
     @classproperty
@@ -49,8 +49,8 @@ class GevStationaryVersusGumbel(GevTrendTestOneParameter):
                          quantile_level=quantile_level,
                          fit_method=fit_method)
 
-    @property
-    def total_number_of_parameters_for_unconstrained_model(self) -> int:
+    @classproperty
+    def total_number_of_parameters_for_unconstrained_model(cls) -> int:
         return 3
 
     def _slope_strength(self):
@@ -74,8 +74,8 @@ class GumbelLocationTrendTest(GevTrendTestOneParameterAgainstStationary):
                          quantile_level=quantile_level,
                          constrained_model_class=GumbelTemporalModel, fit_method=fit_method)
 
-    @property
-    def total_number_of_parameters_for_unconstrained_model(self) -> int:
+    @classproperty
+    def total_number_of_parameters_for_unconstrained_model(cls) -> int:
         return 3
 
     def _slope_strength(self):
@@ -107,8 +107,8 @@ class GumbelScaleTrendTest(GevTrendTestOneParameterAgainstStationary):
             p=self.quantile_level,
             sigma1=self.non_stationary_linear_coef)
 
-    @property
-    def total_number_of_parameters_for_unconstrained_model(self) -> int:
+    @classproperty
+    def total_number_of_parameters_for_unconstrained_model(cls) -> int:
         return 3
 
     @classproperty
diff --git a/experiment/trend_analysis/univariate_test/extreme_trend_test/trend_test_three_parameters/gev_trend_test_three_parameters.py b/experiment/trend_analysis/univariate_test/extreme_trend_test/trend_test_three_parameters/gev_trend_test_three_parameters.py
index 9f9a7bbbea5a9c690c9198e16193259da55df1b3..d552869b68cb1a2fb093e055c9e6e0868e053775 100644
--- a/experiment/trend_analysis/univariate_test/extreme_trend_test/trend_test_three_parameters/gev_trend_test_three_parameters.py
+++ b/experiment/trend_analysis/univariate_test/extreme_trend_test/trend_test_three_parameters/gev_trend_test_three_parameters.py
@@ -50,6 +50,6 @@ class GevLocationAndScaleTrendTestAgainstGumbel(GevTrendTestThreeParameters):
     def marker(self):
         return 'D'
 
-    @property
-    def total_number_of_parameters_for_unconstrained_model(self) -> int:
+    @classproperty
+    def total_number_of_parameters_for_unconstrained_model(cls) -> int:
         return 5
\ No newline at end of file
diff --git a/experiment/trend_analysis/univariate_test/extreme_trend_test/trend_test_two_parameters/gev_trend_test_two_parameters.py b/experiment/trend_analysis/univariate_test/extreme_trend_test/trend_test_two_parameters/gev_trend_test_two_parameters.py
index 56c93e8ce0ba3e39f7fe2d3ec7ec004d918791d9..265babf96daa0ab48a62f703590a9d401d074971 100644
--- a/experiment/trend_analysis/univariate_test/extreme_trend_test/trend_test_two_parameters/gev_trend_test_two_parameters.py
+++ b/experiment/trend_analysis/univariate_test/extreme_trend_test/trend_test_two_parameters/gev_trend_test_two_parameters.py
@@ -65,8 +65,8 @@ class GevLocationAgainstGumbel(GevTrendTestTwoParameters, GevLocationTrendTest):
     def marker(self):
         return 'o'
 
-    @property
-    def total_number_of_parameters_for_unconstrained_model(self) -> int:
+    @classproperty
+    def total_number_of_parameters_for_unconstrained_model(cls) -> int:
         return 4
 
 
@@ -83,6 +83,6 @@ class GevScaleAgainstGumbel(GevTrendTestTwoParameters, GevScaleTrendTest):
     def marker(self):
         return '^'
 
-    @property
-    def total_number_of_parameters_for_unconstrained_model(self) -> int:
+    @classproperty
+    def total_number_of_parameters_for_unconstrained_model(cls) -> int:
         return 4
diff --git a/experiment/trend_analysis/univariate_test/extreme_trend_test/trend_test_two_parameters/gumbel_test_two_parameters.py b/experiment/trend_analysis/univariate_test/extreme_trend_test/trend_test_two_parameters/gumbel_test_two_parameters.py
index d21fdb7fa41894334cd7074177ac3e102a68d54d..975f90cef550c879159773b7030996a0b0688dfb 100644
--- a/experiment/trend_analysis/univariate_test/extreme_trend_test/trend_test_two_parameters/gumbel_test_two_parameters.py
+++ b/experiment/trend_analysis/univariate_test/extreme_trend_test/trend_test_two_parameters/gumbel_test_two_parameters.py
@@ -18,8 +18,8 @@ class GumbelLocationAndScaleTrendTest(GevTrendTestTwoParameters):
                          quantile_level=quantile_level,
                          fit_method=fit_method)
 
-    @property
-    def total_number_of_parameters_for_unconstrained_model(self) -> int:
+    @classproperty
+    def total_number_of_parameters_for_unconstrained_model(cls) -> int:
         return 4
 
     @property
diff --git a/papers/exceeding_snow_loads/check_mle_convergence_for_trends/shape/main_shape_repartition.py b/papers/exceeding_snow_loads/check_mle_convergence_for_trends/shape/main_shape_repartition.py
index d9344122a669c763b0069178cc0050d707870103..846d1aae604b7fc3f5e5abb58ff581ad9fc51055 100644
--- a/papers/exceeding_snow_loads/check_mle_convergence_for_trends/shape/main_shape_repartition.py
+++ b/papers/exceeding_snow_loads/check_mle_convergence_for_trends/shape/main_shape_repartition.py
@@ -2,6 +2,7 @@ from experiment.meteo_france_data.scm_models_data.crocus.crocus import CrocusSno
 from papers.exceeding_snow_loads.check_mle_convergence_for_trends.shape.study_visualizer_for_shape_repartition import \
     StudyVisualizerForShape
 from papers.exceeding_snow_loads.paper_main_utils import load_altitude_to_visualizer
+from papers.exceeding_snow_loads.paper_utils import paper_altitudes
 
 
 def main_shape_repartition(altitudes, massif_names=None,
@@ -28,6 +29,6 @@ if __name__ == '__main__':
     # main_shape_repartition([900], save_to_file=False)
     # main_shape_repartition([900, 1800, 2700])
     # main_shape_repartition([300, 600, 900, 1200, 1500, 1800, 2700])
-    main_shape_repartition([900, 1800, 2700], study_visualizer_class=StudyVisualizerForShape, save_to_file=True)
+    main_shape_repartition(paper_altitudes, study_visualizer_class=StudyVisualizerForShape, save_to_file=True)
     # main_shape_repartition([300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900, 4200],
     #                        study_visualizer_class=StudyVisualizerForShape, save_to_file=True)
diff --git a/papers/exceeding_snow_loads/check_mle_convergence_for_trends/shape/study_visualizer_for_shape_repartition.py b/papers/exceeding_snow_loads/check_mle_convergence_for_trends/shape/study_visualizer_for_shape_repartition.py
index 56de999a98c604cd98699b99beb9b2c6530d6316..59d377f79f48fad285074cda3de9b5731e66f176 100644
--- a/papers/exceeding_snow_loads/check_mle_convergence_for_trends/shape/study_visualizer_for_shape_repartition.py
+++ b/papers/exceeding_snow_loads/check_mle_convergence_for_trends/shape/study_visualizer_for_shape_repartition.py
@@ -3,7 +3,7 @@ from cached_property import cached_property
 
 from experiment.meteo_france_data.plot.create_shifted_cmap import get_shifted_map
 from experiment.meteo_france_data.scm_models_data.abstract_study import AbstractStudy
-from experiment.exceeding_snow_loads.study_visualizer_for_non_stationary_trends import \
+from papers.exceeding_snow_loads.study_visualizer_for_non_stationary_trends import \
     StudyVisualizerForNonStationaryTrends
 from experiment.trend_analysis.abstract_score import MeanScore
 
diff --git a/papers/exceeding_snow_loads/paper_utils.py b/papers/exceeding_snow_loads/paper_utils.py
index 5a45a996deefcc4dd3242264d8d9f284d7b77b7c..801febc09d1e9187330458882cd994c55d235ff8 100644
--- a/papers/exceeding_snow_loads/paper_utils.py
+++ b/papers/exceeding_snow_loads/paper_utils.py
@@ -4,18 +4,31 @@ from experiment.meteo_france_data.scm_models_data.crocus.crocus import CrocusSno
     CrocusSnowLoad3Days
 from experiment.meteo_france_data.scm_models_data.visualization.study_visualization.main_study_visualizer import \
     ALL_ALTITUDES_WITHOUT_NAN
+from experiment.trend_analysis.univariate_test.extreme_trend_test.trend_test_one_parameter.gumbel_trend_test_one_parameter import \
+    GumbelVersusGumbel, GumbelLocationTrendTest, GumbelScaleTrendTest, GevStationaryVersusGumbel
+from experiment.trend_analysis.univariate_test.extreme_trend_test.trend_test_three_parameters.gev_trend_test_three_parameters import \
+    GevLocationAndScaleTrendTestAgainstGumbel
+from experiment.trend_analysis.univariate_test.extreme_trend_test.trend_test_two_parameters.gev_trend_test_two_parameters import \
+    GevLocationAgainstGumbel, GevScaleAgainstGumbel
+from experiment.trend_analysis.univariate_test.extreme_trend_test.trend_test_two_parameters.gumbel_test_two_parameters import \
+    GumbelLocationAndScaleTrendTest
 from root_utils import get_display_name_from_object_type
 
 paper_altitudes = ALL_ALTITUDES_WITHOUT_NAN
 paper_study_classes = [CrocusSnowLoadTotal, CrocusSnowLoadEurocode, CrocusSnowLoad3Days][:2]
 # dpi_paper1_figure = 700
 dpi_paper1_figure = None
+NON_STATIONARY_TREND_TEST_PAPER = [GumbelVersusGumbel,
+                                   GumbelLocationTrendTest, GumbelScaleTrendTest,
+                                   GumbelLocationAndScaleTrendTest,
+                                   GevStationaryVersusGumbel,
+                                   GevLocationAgainstGumbel, GevScaleAgainstGumbel,
+                                   GevLocationAndScaleTrendTestAgainstGumbel]
+
+
 
 class ModelSubsetForUncertainty(Enum):
     stationary_gumbel = 0
     stationary_gumbel_and_gev = 1
     non_stationary_gumbel = 2
     non_stationary_gumbel_and_gev = 3
-
-
-
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 7a81fbe26dfa2164cc66fa018ae3fd30dad46b56..34be06091da90a40bd9ae8408ea2e103da08cf6e 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
@@ -16,7 +16,7 @@ from experiment.meteo_france_data.scm_models_data.visualization.study_visualizat
     StudyVisualizer
 from papers.exceeding_snow_loads.check_mcmc_convergence_for_return_levels.gelman_convergence_test import \
     compute_gelman_convergence_value
-from papers.exceeding_snow_loads.paper_utils import ModelSubsetForUncertainty
+from papers.exceeding_snow_loads.paper_utils import ModelSubsetForUncertainty, NON_STATIONARY_TREND_TEST_PAPER
 from experiment.trend_analysis.abstract_score import MeanScore
 from experiment.trend_analysis.univariate_test.extreme_trend_test.abstract_gev_trend_test import AbstractGevTrendTest
 from experiment.trend_analysis.univariate_test.extreme_trend_test.trend_test_one_parameter.gumbel_trend_test_one_parameter import \
@@ -76,12 +76,7 @@ class StudyVisualizerForNonStationaryTrends(StudyVisualizer):
             self.uncertainty_massif_names = self.study.study_massif_names
         if self.non_stationary_trend_test_to_marker is None:
             # Assign default argument for the non stationary trends
-            self.non_stationary_trend_test = [GumbelVersusGumbel,
-                                              GumbelLocationTrendTest, GumbelScaleTrendTest,
-                                              GumbelLocationAndScaleTrendTest,
-                                              GevStationaryVersusGumbel,
-                                              GevLocationAgainstGumbel, GevScaleAgainstGumbel,
-                                              GevLocationAndScaleTrendTestAgainstGumbel]
+            self.non_stationary_trend_test = NON_STATIONARY_TREND_TEST_PAPER
             self.non_stationary_trend_test_to_marker = {t: t.marker for t in self.non_stationary_trend_test}
         else:
             self.non_stationary_trend_test = list(self.non_stationary_trend_test_to_marker.keys())
@@ -284,7 +279,8 @@ class StudyVisualizerForNonStationaryTrends(StudyVisualizer):
 
     @cached_property
     def selected_and_significative_trend_test_class_counter(self):
-        return Counter([type(t) for t in self.massif_name_to_trend_test_that_minimized_aic.values() if t.is_significant])
+        return Counter(
+            [type(t) for t in self.massif_name_to_trend_test_that_minimized_aic.values() if t.is_significant])
 
     @cached_property
     def massif_name_to_marker_style(self):
diff --git a/test/test_experiment/test_trend_analysis.py b/test/test_experiment/test_trend_analysis.py
new file mode 100644
index 0000000000000000000000000000000000000000..81fba15081e94357a368f931f138986ff31a5e75
--- /dev/null
+++ b/test/test_experiment/test_trend_analysis.py
@@ -0,0 +1,16 @@
+import unittest
+
+from papers.exceeding_snow_loads.paper_utils import NON_STATIONARY_TREND_TEST_PAPER
+
+
+class TestTrendAnalysis(unittest.TestCase):
+
+    def test_nb_parameters(self):
+        trend_test_classes = NON_STATIONARY_TREND_TEST_PAPER
+        nb_expected = [2, 3, 3, 4, 3, 4, 4, 5]
+        for trend_test_class, nb in zip(trend_test_classes, nb_expected):
+            self.assertEqual(trend_test_class.total_number_of_parameters_for_unconstrained_model, nb)
+
+
+if __name__ == '__main__':
+    unittest.main()