diff --git a/experiment/meteo_france_data/scm_models_data/abstract_extended_study.py b/experiment/meteo_france_data/scm_models_data/abstract_extended_study.py
index 93e98334cfd0dd9f3cdb50008c3e2d53ce685e6e..d95b87097c047484748e1641ad1a30d0da18b440 100644
--- a/experiment/meteo_france_data/scm_models_data/abstract_extended_study.py
+++ b/experiment/meteo_france_data/scm_models_data/abstract_extended_study.py
@@ -4,14 +4,15 @@ from collections import OrderedDict
 from experiment.meteo_france_data.scm_models_data.abstract_study import AbstractStudy
 from spatio_temporal_dataset.coordinates.spatial_coordinates.abstract_spatial_coordinates import \
     AbstractSpatialCoordinates
+from utils import classproperty
 
 
 class AbstractExtendedStudy(AbstractStudy):
 
 
 
-    @property
-    def region_names(self):
+    @classproperty
+    def region_names(cls):
         return ['Alps', 'Northern Alps', 'Central Alps', 'Southern Alps', 'Extreme South Alps']
 
     @property
@@ -22,22 +23,27 @@ class AbstractExtendedStudy(AbstractStudy):
     def study_massif_names(self):
         return self.region_names + super().study_massif_names
 
-    @property
-    def massif_name_to_region_name(self):
-        df_centroid = self.load_df_centroid()
+    @classproperty
+    def massif_name_to_region_name(cls):
+        df_centroid = cls.load_df_centroid()
         return OrderedDict(zip(df_centroid.index, df_centroid['REGION']))
 
-    @property
-    def region_name_to_massif_ids(self):
+    @classproperty
+    def region_name_to_massif_names(cls):
+        return {k: [cls.original_safran_massif_id_to_massif_name[i] for i in v]
+                for k, v in cls.region_name_to_massif_ids.items()}
+
+    @classproperty
+    def region_name_to_massif_ids(cls):
         region_name_to_massifs_ids = {}
-        for region_name_loop in self.region_names:
+        for region_name_loop in cls.region_names:
             # We use "is in" so that the "Alps" will automatically regroup all the massif data
             massif_names_belong_to_the_group = [massif_name
-                                                for massif_name, region_name in self.massif_name_to_region_name.items()
+                                                for massif_name, region_name in cls.massif_name_to_region_name.items()
                                                 if region_name_loop in region_name]
             massif_ids_belong_to_the_group = [massif_id
                                               for massif_id, massif_name in
-                                              self.original_safran_massif_id_to_massif_name.items()
+                                              cls.original_safran_massif_id_to_massif_name.items()
                                               if massif_name in massif_names_belong_to_the_group]
             region_name_to_massifs_ids[region_name_loop] = massif_ids_belong_to_the_group
         return region_name_to_massifs_ids
diff --git a/experiment/meteo_france_data/scm_models_data/abstract_study.py b/experiment/meteo_france_data/scm_models_data/abstract_study.py
index 6fe1e078b5d19065ec5def8cca49ae2196954ad5..7eebbec1a0958f6fcbf4c9d9633f01a88ce826dc 100644
--- a/experiment/meteo_france_data/scm_models_data/abstract_study.py
+++ b/experiment/meteo_france_data/scm_models_data/abstract_study.py
@@ -327,11 +327,10 @@ class AbstractStudy(object):
 
     """  Spatial properties """
 
-    @property
-    def original_safran_massif_id_to_massif_name(self) -> Dict[int, str]:
-        return {massif_id: massif_name for massif_id, massif_name in enumerate(self.all_massif_names)}
+    @classproperty
+    def original_safran_massif_id_to_massif_name(cls) -> Dict[int, str]:
+        return {massif_id: massif_name for massif_id, massif_name in enumerate(cls.all_massif_names)}
 
-    # @cached_property
     @classproperty
     def all_massif_names(cls) -> List[str]:
         """
diff --git a/experiment/meteo_france_data/scm_models_data/visualization/hypercube_visualization/main_hypercube_visualization.py b/experiment/meteo_france_data/scm_models_data/visualization/hypercube_visualization/main_hypercube_visualization.py
index c577d90eae3cb186689f855010e976d29e2994fc..71e060ec548b0997a498b77b8dbe5fef94a45269 100644
--- a/experiment/meteo_france_data/scm_models_data/visualization/hypercube_visualization/main_hypercube_visualization.py
+++ b/experiment/meteo_france_data/scm_models_data/visualization/hypercube_visualization/main_hypercube_visualization.py
@@ -90,9 +90,9 @@ def fast_altitude_year_hypercube():
                                                                 trend_test_class=trend_test_class,
                                                                 nb_data_reduced_for_speed=nb_data_reduced_for_speed,
                                                                 last_starting_year=last_starting_year)
-                visualizer.visualize_year_trend_test()
+                # visualizer.visualize_year_trend_test()
                 visualizer.visualize_altitude_trend_test()
-                visualizer.visualize_massif_trend_test()
+                # visualizer.visualize_massif_trend_test()
 
 
 def full_altitude_year_hypercube():