diff --git a/experiment/meteo_france_SCM_study/abstract_study.py b/experiment/meteo_france_SCM_study/abstract_study.py
index 29f943a2836fbefffdb63c0285e8391b203a5737..89a3b59e81e245126cfd42fbd3560e746645e0f5 100644
--- a/experiment/meteo_france_SCM_study/abstract_study.py
+++ b/experiment/meteo_france_SCM_study/abstract_study.py
@@ -3,7 +3,7 @@ import numpy as np
 from PIL import Image, ImageDraw
 import os.path as op
 from collections import OrderedDict
-from typing import List, Dict
+from typing import List, Dict, Tuple
 
 import matplotlib.pyplot as plt
 import pandas as pd
@@ -71,6 +71,11 @@ class AbstractStudy(object):
                 year_to_dataset[year] = Dataset(op.join(self.safran_full_path, nc_file))
         return year_to_dataset
 
+    @property
+    def start_year_and_end_year(self) -> Tuple[int, int]:
+        ordered_years = list(self.year_to_dataset_ordered_dict.keys())
+        return ordered_years[0], ordered_years[-1]
+
     @cached_property
     def year_to_daily_time_serie_array(self) -> OrderedDict:
         return self._year_to_daily_time_serie_array
diff --git a/experiment/meteo_france_SCM_study/visualization/study_visualization/main_study_visualizer.py b/experiment/meteo_france_SCM_study/visualization/study_visualization/main_study_visualizer.py
index f6f208fcc883fbbe85f1bcc4d98baa4da6adb04e..026f170809941466b5380ef5df40810f9ad8d96c 100644
--- a/experiment/meteo_france_SCM_study/visualization/study_visualization/main_study_visualizer.py
+++ b/experiment/meteo_france_SCM_study/visualization/study_visualization/main_study_visualizer.py
@@ -68,13 +68,13 @@ def max_stable_process_vizu_compare_gaume_study(altitude=1800, nb_days=1):
     study_visualizer.visualize_brown_resnick_fit()
 
 
-def normal_visualization():
+def normal_visualization(temporal_non_stationarity=False):
     save_to_file = False
     only_first_one = True
     # for study_class in SCM_STUDIES[:1]:
     for study_class in [SafranSnowfall, SafranRainfall, SafranTemperature][:1]:
         for study in study_iterator(study_class, only_first_one=only_first_one):
-            study_visualizer = StudyVisualizer(study, save_to_file=save_to_file)
+            study_visualizer = StudyVisualizer(study, save_to_file=save_to_file, temporal_non_stationarity=temporal_non_stationarity)
             # study_visualizer.visualize_independent_margin_fits(threshold=[None, 20, 40, 60][0])
             # study_visualizer.visualize_annual_mean_values()
             study_visualizer.visualize_linear_margin_fit(only_first_max_stable=None)
@@ -97,7 +97,7 @@ def complete_analysis(only_first_one=False):
 
 if __name__ == '__main__':
     # annual_mean_vizu_compare_durand_study(safran=True, take_mean_value=True, altitude=2400)
-    normal_visualization()
+    normal_visualization(temporal_non_stationarity=True)
     # max_stable_process_vizu_compare_gaume_study(altitude=1800, nb_days=1)
     # extended_visualization()
     # complete_analysis()
diff --git a/spatio_temporal_dataset/coordinates/abstract_coordinates.py b/spatio_temporal_dataset/coordinates/abstract_coordinates.py
index 4705d7d02ee3b897104eec623b4c84cfd10880ba..b6d2da35282c56d2d0f3d21b8c798c7b41566f91 100644
--- a/spatio_temporal_dataset/coordinates/abstract_coordinates.py
+++ b/spatio_temporal_dataset/coordinates/abstract_coordinates.py
@@ -162,6 +162,10 @@ class AbstractCoordinates(object):
     def nb_coordinates_spatial(self) -> int:
         return len(self.coordinates_spatial_names)
 
+    @property
+    def has_spatial_coordinates(self):
+        return self.nb_coordinates_spatial > 0
+
     def df_spatial_coordinates(self, split: Split = Split.all) -> pd.DataFrame:
         if self.nb_coordinates_spatial == 0:
             return pd.DataFrame()
@@ -185,6 +189,10 @@ class AbstractCoordinates(object):
     def has_temporal_coordinates(self):
         return self.nb_coordinates_temporal > 0
 
+    @property
+    def has_spatio_temporal_coordinates(self):
+        return self.has_spatial_coordinates and self.has_temporal_coordinates
+
     def df_temporal_coordinates(self, split: Split = Split.all) -> pd.DataFrame:
         if self.nb_coordinates_temporal == 0:
             return pd.DataFrame()