From 7d4ef49a798ad0b6547a544e0e4573a9a20d0e9d Mon Sep 17 00:00:00 2001
From: Le Roux Erwan <erwan.le-roux@irstea.fr>
Date: Tue, 28 May 2019 11:36:56 +0200
Subject: [PATCH] [SCM] refactor folder for meteo france data. add analysis of
 station data

---
 .../__init__.py                               |  0
 .../scm_models_data}/__init__.py              |  0
 .../abstract_extended_study.py                |  2 +-
 .../scm_models_data}/abstract_study.py        |  6 +--
 .../scm_models_data}/abstract_variable.py     |  0
 .../scm_models_data}/crocus/__init__.py       |  0
 .../scm_models_data}/crocus/crocus.py         |  8 ++--
 .../crocus/crocus_variables.py                |  2 +-
 .../scm_models_data}/cumulated_study.py       |  4 +-
 .../scm_models_data}/safran/__init__.py       |  0
 .../scm_models_data}/safran/safran.py         | 10 ++---
 .../safran/safran_variable.py                 |  2 +-
 .../scm_models_data}/scm_constants.py         |  0
 .../stations_data/analysis.py                 | 39 +++++++++++++++++++
 .../visualization/__init__.py                 |  0
 .../hypercube_visualization/__init__.py       |  0
 .../abstract_hypercube_visualizer.py          |  2 +-
 .../altitude_hypercube_visualizer.py          |  4 +-
 .../main_hypercube_visualization.py           |  8 ++--
 .../quantity_altitude_visualizer.py           |  2 +-
 .../studies_visualization/__init__.py         |  0
 .../main_studies_visualizer.py                | 10 ++---
 .../studies_visualization/studies.py          |  4 +-
 .../studies_visualizer.py                     |  8 ++--
 .../study_visualization/__init__.py           |  0
 .../main_study_visualizer.py                  |  9 +++--
 .../study_visualization/study_visualizer.py   |  4 +-
 .../visualization/utils.py                    |  0
 .../trend_analysis/non_stationary_trends.py   |  1 -
 .../abstract_margin_function.py               |  2 +-
 test/test_experiment/test_SCM_study.py        |  8 ++--
 .../test_coordinate_sensitivity.py            |  6 +--
 test/test_utils.py                            |  6 +--
 33 files changed, 93 insertions(+), 54 deletions(-)
 rename experiment/{meteo_france_SCM_models => meteo_france_data}/__init__.py (100%)
 rename experiment/{meteo_france_SCM_models/study => meteo_france_data/scm_models_data}/__init__.py (100%)
 rename experiment/{meteo_france_SCM_models/study => meteo_france_data/scm_models_data}/abstract_extended_study.py (97%)
 rename experiment/{meteo_france_SCM_models/study => meteo_france_data/scm_models_data}/abstract_study.py (98%)
 rename experiment/{meteo_france_SCM_models/study => meteo_france_data/scm_models_data}/abstract_variable.py (100%)
 rename experiment/{meteo_france_SCM_models/study => meteo_france_data/scm_models_data}/crocus/__init__.py (100%)
 rename experiment/{meteo_france_SCM_models/study => meteo_france_data/scm_models_data}/crocus/crocus.py (85%)
 rename experiment/{meteo_france_SCM_models/study => meteo_france_data/scm_models_data}/crocus/crocus_variables.py (86%)
 rename experiment/{meteo_france_SCM_models/study => meteo_france_data/scm_models_data}/cumulated_study.py (80%)
 rename experiment/{meteo_france_SCM_models/study => meteo_france_data/scm_models_data}/safran/__init__.py (100%)
 rename experiment/{meteo_france_SCM_models/study => meteo_france_data/scm_models_data}/safran/safran.py (82%)
 rename experiment/{meteo_france_SCM_models/study => meteo_france_data/scm_models_data}/safran/safran_variable.py (98%)
 rename experiment/{meteo_france_SCM_models/study => meteo_france_data/scm_models_data}/scm_constants.py (100%)
 create mode 100644 experiment/meteo_france_data/stations_data/analysis.py
 rename experiment/{meteo_france_SCM_models => meteo_france_data}/visualization/__init__.py (100%)
 rename experiment/{meteo_france_SCM_models => meteo_france_data}/visualization/hypercube_visualization/__init__.py (100%)
 rename experiment/{meteo_france_SCM_models => meteo_france_data}/visualization/hypercube_visualization/abstract_hypercube_visualizer.py (96%)
 rename experiment/{meteo_france_SCM_models => meteo_france_data}/visualization/hypercube_visualization/altitude_hypercube_visualizer.py (97%)
 rename experiment/{meteo_france_SCM_models => meteo_france_data}/visualization/hypercube_visualization/main_hypercube_visualization.py (94%)
 rename experiment/{meteo_france_SCM_models => meteo_france_data}/visualization/hypercube_visualization/quantity_altitude_visualizer.py (93%)
 rename experiment/{meteo_france_SCM_models => meteo_france_data}/visualization/studies_visualization/__init__.py (100%)
 rename experiment/{meteo_france_SCM_models => meteo_france_data}/visualization/studies_visualization/main_studies_visualizer.py (84%)
 rename experiment/{meteo_france_SCM_models => meteo_france_data}/visualization/studies_visualization/studies.py (85%)
 rename experiment/{meteo_france_SCM_models => meteo_france_data}/visualization/studies_visualization/studies_visualizer.py (96%)
 rename experiment/{meteo_france_SCM_models => meteo_france_data}/visualization/study_visualization/__init__.py (100%)
 rename experiment/{meteo_france_SCM_models => meteo_france_data}/visualization/study_visualization/main_study_visualizer.py (95%)
 rename experiment/{meteo_france_SCM_models => meteo_france_data}/visualization/study_visualization/study_visualizer.py (99%)
 rename experiment/{meteo_france_SCM_models => meteo_france_data}/visualization/utils.py (100%)

diff --git a/experiment/meteo_france_SCM_models/__init__.py b/experiment/meteo_france_data/__init__.py
similarity index 100%
rename from experiment/meteo_france_SCM_models/__init__.py
rename to experiment/meteo_france_data/__init__.py
diff --git a/experiment/meteo_france_SCM_models/study/__init__.py b/experiment/meteo_france_data/scm_models_data/__init__.py
similarity index 100%
rename from experiment/meteo_france_SCM_models/study/__init__.py
rename to experiment/meteo_france_data/scm_models_data/__init__.py
diff --git a/experiment/meteo_france_SCM_models/study/abstract_extended_study.py b/experiment/meteo_france_data/scm_models_data/abstract_extended_study.py
similarity index 97%
rename from experiment/meteo_france_SCM_models/study/abstract_extended_study.py
rename to experiment/meteo_france_data/scm_models_data/abstract_extended_study.py
index e14d6324..93e98334 100644
--- a/experiment/meteo_france_SCM_models/study/abstract_extended_study.py
+++ b/experiment/meteo_france_data/scm_models_data/abstract_extended_study.py
@@ -1,7 +1,7 @@
 import numpy as np
 from collections import OrderedDict
 
-from experiment.meteo_france_SCM_models.study.abstract_study import AbstractStudy
+from experiment.meteo_france_data.scm_models_data.abstract_study import AbstractStudy
 from spatio_temporal_dataset.coordinates.spatial_coordinates.abstract_spatial_coordinates import \
     AbstractSpatialCoordinates
 
diff --git a/experiment/meteo_france_SCM_models/study/abstract_study.py b/experiment/meteo_france_data/scm_models_data/abstract_study.py
similarity index 98%
rename from experiment/meteo_france_SCM_models/study/abstract_study.py
rename to experiment/meteo_france_data/scm_models_data/abstract_study.py
index 13aca7a3..8515032c 100644
--- a/experiment/meteo_france_SCM_models/study/abstract_study.py
+++ b/experiment/meteo_france_data/scm_models_data/abstract_study.py
@@ -15,9 +15,9 @@ from matplotlib import cm
 from matplotlib.colors import Normalize
 from netCDF4 import Dataset
 
-from experiment.meteo_france_SCM_models.study.abstract_variable import AbstractVariable
-from experiment.meteo_france_SCM_models.study.scm_constants import ALTITUDES, ZS_INT_23, ZS_INT_MASK, LONGITUDES, LATITUDES
-from experiment.meteo_france_SCM_models.visualization.utils import get_km_formatter
+from experiment.meteo_france_data.scm_models_data.abstract_variable import AbstractVariable
+from experiment.meteo_france_data.scm_models_data.scm_constants import ALTITUDES, ZS_INT_23, ZS_INT_MASK, LONGITUDES, LATITUDES
+from experiment.meteo_france_data.visualization.utils import get_km_formatter
 from extreme_estimator.extreme_models.margin_model.margin_function.abstract_margin_function import \
     AbstractMarginFunction
 from extreme_estimator.margin_fits.plot.create_shifted_cmap import get_color_rbga_shifted, create_colorbase_axis
diff --git a/experiment/meteo_france_SCM_models/study/abstract_variable.py b/experiment/meteo_france_data/scm_models_data/abstract_variable.py
similarity index 100%
rename from experiment/meteo_france_SCM_models/study/abstract_variable.py
rename to experiment/meteo_france_data/scm_models_data/abstract_variable.py
diff --git a/experiment/meteo_france_SCM_models/study/crocus/__init__.py b/experiment/meteo_france_data/scm_models_data/crocus/__init__.py
similarity index 100%
rename from experiment/meteo_france_SCM_models/study/crocus/__init__.py
rename to experiment/meteo_france_data/scm_models_data/crocus/__init__.py
diff --git a/experiment/meteo_france_SCM_models/study/crocus/crocus.py b/experiment/meteo_france_data/scm_models_data/crocus/crocus.py
similarity index 85%
rename from experiment/meteo_france_SCM_models/study/crocus/crocus.py
rename to experiment/meteo_france_data/scm_models_data/crocus/crocus.py
index e5671176..11fe787e 100644
--- a/experiment/meteo_france_SCM_models/study/crocus/crocus.py
+++ b/experiment/meteo_france_data/scm_models_data/crocus/crocus.py
@@ -1,9 +1,9 @@
 import numpy as np
 
-from experiment.meteo_france_SCM_models.study.abstract_extended_study import AbstractExtendedStudy
-from experiment.meteo_france_SCM_models.study.abstract_study import AbstractStudy
-from experiment.meteo_france_SCM_models.study.crocus.crocus_variables import CrocusSweVariable, CrocusDepthVariable
-from experiment.meteo_france_SCM_models.study.cumulated_study import CumulatedStudy
+from experiment.meteo_france_data.scm_models_data.abstract_extended_study import AbstractExtendedStudy
+from experiment.meteo_france_data.scm_models_data.abstract_study import AbstractStudy
+from experiment.meteo_france_data.scm_models_data.crocus.crocus_variables import CrocusSweVariable, CrocusDepthVariable
+from experiment.meteo_france_data.scm_models_data.cumulated_study import CumulatedStudy
 
 
 class Crocus(AbstractStudy):
diff --git a/experiment/meteo_france_SCM_models/study/crocus/crocus_variables.py b/experiment/meteo_france_data/scm_models_data/crocus/crocus_variables.py
similarity index 86%
rename from experiment/meteo_france_SCM_models/study/crocus/crocus_variables.py
rename to experiment/meteo_france_data/scm_models_data/crocus/crocus_variables.py
index 4663bf4f..cb51b05f 100644
--- a/experiment/meteo_france_SCM_models/study/crocus/crocus_variables.py
+++ b/experiment/meteo_france_data/scm_models_data/crocus/crocus_variables.py
@@ -1,6 +1,6 @@
 import numpy as np
 
-from experiment.meteo_france_SCM_models.study.abstract_variable import AbstractVariable
+from experiment.meteo_france_data.scm_models_data.abstract_variable import AbstractVariable
 
 
 class CrocusVariable(AbstractVariable):
diff --git a/experiment/meteo_france_SCM_models/study/cumulated_study.py b/experiment/meteo_france_data/scm_models_data/cumulated_study.py
similarity index 80%
rename from experiment/meteo_france_SCM_models/study/cumulated_study.py
rename to experiment/meteo_france_data/scm_models_data/cumulated_study.py
index 8dd806ca..15166779 100644
--- a/experiment/meteo_france_SCM_models/study/cumulated_study.py
+++ b/experiment/meteo_france_data/scm_models_data/cumulated_study.py
@@ -1,5 +1,5 @@
-from experiment.meteo_france_SCM_models.study.abstract_study import AbstractStudy
-from experiment.meteo_france_SCM_models.study.abstract_variable import AbstractVariable
+from experiment.meteo_france_data.scm_models_data.abstract_study import AbstractStudy
+from experiment.meteo_france_data.scm_models_data.abstract_variable import AbstractVariable
 
 NB_DAYS = [1, 3, 5, 7]
 
diff --git a/experiment/meteo_france_SCM_models/study/safran/__init__.py b/experiment/meteo_france_data/scm_models_data/safran/__init__.py
similarity index 100%
rename from experiment/meteo_france_SCM_models/study/safran/__init__.py
rename to experiment/meteo_france_data/scm_models_data/safran/__init__.py
diff --git a/experiment/meteo_france_SCM_models/study/safran/safran.py b/experiment/meteo_france_data/scm_models_data/safran/safran.py
similarity index 82%
rename from experiment/meteo_france_SCM_models/study/safran/safran.py
rename to experiment/meteo_france_data/scm_models_data/safran/safran.py
index f845aa01..767e2446 100644
--- a/experiment/meteo_france_SCM_models/study/safran/safran.py
+++ b/experiment/meteo_france_data/scm_models_data/safran/safran.py
@@ -1,10 +1,10 @@
 import numpy as np
 
-from experiment.meteo_france_SCM_models.study.abstract_extended_study import AbstractExtendedStudy
-from experiment.meteo_france_SCM_models.study.abstract_study import AbstractStudy
-from experiment.meteo_france_SCM_models.study.abstract_variable import AbstractVariable
-from experiment.meteo_france_SCM_models.study.cumulated_study import CumulatedStudy
-from experiment.meteo_france_SCM_models.study.safran.safran_variable import SafranSnowfallVariable, \
+from experiment.meteo_france_data.scm_models_data.abstract_extended_study import AbstractExtendedStudy
+from experiment.meteo_france_data.scm_models_data.abstract_study import AbstractStudy
+from experiment.meteo_france_data.scm_models_data.abstract_variable import AbstractVariable
+from experiment.meteo_france_data.scm_models_data.cumulated_study import CumulatedStudy
+from experiment.meteo_france_data.scm_models_data.safran.safran_variable import SafranSnowfallVariable, \
     SafranRainfallVariable, SafranTemperatureVariable, SafranTotalPrecipVariable
 
 
diff --git a/experiment/meteo_france_SCM_models/study/safran/safran_variable.py b/experiment/meteo_france_data/scm_models_data/safran/safran_variable.py
similarity index 98%
rename from experiment/meteo_france_SCM_models/study/safran/safran_variable.py
rename to experiment/meteo_france_data/scm_models_data/safran/safran_variable.py
index b40b6cd5..ef9cf610 100644
--- a/experiment/meteo_france_SCM_models/study/safran/safran_variable.py
+++ b/experiment/meteo_france_data/scm_models_data/safran/safran_variable.py
@@ -1,6 +1,6 @@
 import numpy as np
 
-from experiment.meteo_france_SCM_models.study.abstract_variable import AbstractVariable
+from experiment.meteo_france_data.scm_models_data.abstract_variable import AbstractVariable
 
 
 class SafranSnowfallVariable(AbstractVariable):
diff --git a/experiment/meteo_france_SCM_models/study/scm_constants.py b/experiment/meteo_france_data/scm_models_data/scm_constants.py
similarity index 100%
rename from experiment/meteo_france_SCM_models/study/scm_constants.py
rename to experiment/meteo_france_data/scm_models_data/scm_constants.py
diff --git a/experiment/meteo_france_data/stations_data/analysis.py b/experiment/meteo_france_data/stations_data/analysis.py
new file mode 100644
index 00000000..4347d443
--- /dev/null
+++ b/experiment/meteo_france_data/stations_data/analysis.py
@@ -0,0 +1,39 @@
+from collections import OrderedDict
+
+DATA_PATH = r'/home/erwan/Documents/projects/spatiotemporalextremes/local/spatio_temporal_datasets/Johan_data/PrecipitationsAvalanches_MaxPrecipit_ParPoste_ParHiver_traites.xls'
+
+import pandas as pd
+
+
+class Stations(object):
+
+    def load_main_df(self):
+        df = pd.read_excel(DATA_PATH, sheet_name='max alpes 2500m presentes')
+        df = df.iloc[:78, 4:]
+        return df
+
+    def reduce_altitude(self, altitude=900) -> pd.Series:
+        df = self.load_main_df()
+        ind_altitude = altitude - 150 < df['ALTITUDE']
+        ind_altitude &= df['ALTITUDE'] <= altitude + 150
+        df = df.loc[ind_altitude]
+        # Put all the result into an ordered dict
+        d = OrderedDict()
+        # Number of stations
+        d['Nb stations'] = len(df)
+        # Number of massifs
+        # d['Nb mas'] = len(df)
+        return pd.Series(d)
+
+    def df_altitude(self):
+        altitudes = [900, 1200]
+        df = pd.concat([self.reduce_altitude(altitude) for altitude in altitudes], axis=1)
+        df = df.transpose()
+        df.index = altitudes
+        print(df)
+
+
+if __name__ == '__main__':
+    s = Stations()
+    # s.load_main_df()
+    s.df_altitude()
diff --git a/experiment/meteo_france_SCM_models/visualization/__init__.py b/experiment/meteo_france_data/visualization/__init__.py
similarity index 100%
rename from experiment/meteo_france_SCM_models/visualization/__init__.py
rename to experiment/meteo_france_data/visualization/__init__.py
diff --git a/experiment/meteo_france_SCM_models/visualization/hypercube_visualization/__init__.py b/experiment/meteo_france_data/visualization/hypercube_visualization/__init__.py
similarity index 100%
rename from experiment/meteo_france_SCM_models/visualization/hypercube_visualization/__init__.py
rename to experiment/meteo_france_data/visualization/hypercube_visualization/__init__.py
diff --git a/experiment/meteo_france_SCM_models/visualization/hypercube_visualization/abstract_hypercube_visualizer.py b/experiment/meteo_france_data/visualization/hypercube_visualization/abstract_hypercube_visualizer.py
similarity index 96%
rename from experiment/meteo_france_SCM_models/visualization/hypercube_visualization/abstract_hypercube_visualizer.py
rename to experiment/meteo_france_data/visualization/hypercube_visualization/abstract_hypercube_visualizer.py
index ab333ca2..a5258a51 100644
--- a/experiment/meteo_france_SCM_models/visualization/hypercube_visualization/abstract_hypercube_visualizer.py
+++ b/experiment/meteo_france_data/visualization/hypercube_visualization/abstract_hypercube_visualizer.py
@@ -5,7 +5,7 @@ from typing import Dict, Tuple
 import matplotlib.pyplot as plt
 import pandas as pd
 
-from experiment.meteo_france_SCM_models.visualization.study_visualization.study_visualizer import StudyVisualizer
+from experiment.meteo_france_data.visualization.study_visualization.study_visualizer import StudyVisualizer
 from utils import cached_property, VERSION_TIME, get_display_name_from_object_type
 
 
diff --git a/experiment/meteo_france_SCM_models/visualization/hypercube_visualization/altitude_hypercube_visualizer.py b/experiment/meteo_france_data/visualization/hypercube_visualization/altitude_hypercube_visualizer.py
similarity index 97%
rename from experiment/meteo_france_SCM_models/visualization/hypercube_visualization/altitude_hypercube_visualizer.py
rename to experiment/meteo_france_data/visualization/hypercube_visualization/altitude_hypercube_visualizer.py
index ff008345..c216f6e2 100644
--- a/experiment/meteo_france_SCM_models/visualization/hypercube_visualization/altitude_hypercube_visualizer.py
+++ b/experiment/meteo_france_data/visualization/hypercube_visualization/altitude_hypercube_visualizer.py
@@ -2,9 +2,9 @@ import matplotlib.pyplot as plt
 import numpy as np
 import pandas as pd
 
-from experiment.meteo_france_SCM_models.visualization.hypercube_visualization.abstract_hypercube_visualizer import \
+from experiment.meteo_france_data.visualization.hypercube_visualization.abstract_hypercube_visualizer import \
     AbstractHypercubeVisualizer
-from experiment.meteo_france_SCM_models.visualization.study_visualization.study_visualizer import StudyVisualizer
+from experiment.meteo_france_data.visualization.study_visualization.study_visualizer import StudyVisualizer
 from experiment.trend_analysis.univariate_test.abstract_univariate_test import AbstractUnivariateTest
 from utils import get_display_name_from_object_type
 
diff --git a/experiment/meteo_france_SCM_models/visualization/hypercube_visualization/main_hypercube_visualization.py b/experiment/meteo_france_data/visualization/hypercube_visualization/main_hypercube_visualization.py
similarity index 94%
rename from experiment/meteo_france_SCM_models/visualization/hypercube_visualization/main_hypercube_visualization.py
rename to experiment/meteo_france_data/visualization/hypercube_visualization/main_hypercube_visualization.py
index 4ff80b08..e39c3790 100644
--- a/experiment/meteo_france_SCM_models/visualization/hypercube_visualization/main_hypercube_visualization.py
+++ b/experiment/meteo_france_data/visualization/hypercube_visualization/main_hypercube_visualization.py
@@ -2,13 +2,13 @@ import time
 from itertools import product
 from collections import OrderedDict
 
-from experiment.meteo_france_SCM_models.visualization.hypercube_visualization.altitude_hypercube_visualizer import \
+from experiment.meteo_france_data.visualization.hypercube_visualization.altitude_hypercube_visualizer import \
     AltitudeHypercubeVisualizer, Altitude_Hypercube_Year_Visualizer
-from experiment.meteo_france_SCM_models.visualization.hypercube_visualization.quantity_altitude_visualizer import \
+from experiment.meteo_france_data.visualization.hypercube_visualization.quantity_altitude_visualizer import \
     QuantityAltitudeHypercubeVisualizer
-from experiment.meteo_france_SCM_models.visualization.study_visualization.main_study_visualizer import ALL_ALTITUDES, \
+from experiment.meteo_france_data.visualization.study_visualization.main_study_visualizer import ALL_ALTITUDES, \
     SCM_STUDIES, study_iterator, study_iterator_global
-from experiment.meteo_france_SCM_models.visualization.study_visualization.study_visualizer import StudyVisualizer
+from experiment.meteo_france_data.visualization.study_visualization.study_visualizer import StudyVisualizer
 from experiment.trend_analysis.univariate_test.abstract_gev_change_point_test import GevLocationChangePointTest, \
     GevScaleChangePointTest, GevShapeChangePointTest
 from utils import get_display_name_from_object_type
diff --git a/experiment/meteo_france_SCM_models/visualization/hypercube_visualization/quantity_altitude_visualizer.py b/experiment/meteo_france_data/visualization/hypercube_visualization/quantity_altitude_visualizer.py
similarity index 93%
rename from experiment/meteo_france_SCM_models/visualization/hypercube_visualization/quantity_altitude_visualizer.py
rename to experiment/meteo_france_data/visualization/hypercube_visualization/quantity_altitude_visualizer.py
index c558f298..12f31e37 100644
--- a/experiment/meteo_france_SCM_models/visualization/hypercube_visualization/quantity_altitude_visualizer.py
+++ b/experiment/meteo_france_data/visualization/hypercube_visualization/quantity_altitude_visualizer.py
@@ -1,6 +1,6 @@
 import pandas as pd
 
-from experiment.meteo_france_SCM_models.visualization.hypercube_visualization.altitude_hypercube_visualizer import \
+from experiment.meteo_france_data.visualization.hypercube_visualization.altitude_hypercube_visualizer import \
     AltitudeHypercubeVisualizer
 
 
diff --git a/experiment/meteo_france_SCM_models/visualization/studies_visualization/__init__.py b/experiment/meteo_france_data/visualization/studies_visualization/__init__.py
similarity index 100%
rename from experiment/meteo_france_SCM_models/visualization/studies_visualization/__init__.py
rename to experiment/meteo_france_data/visualization/studies_visualization/__init__.py
diff --git a/experiment/meteo_france_SCM_models/visualization/studies_visualization/main_studies_visualizer.py b/experiment/meteo_france_data/visualization/studies_visualization/main_studies_visualizer.py
similarity index 84%
rename from experiment/meteo_france_SCM_models/visualization/studies_visualization/main_studies_visualizer.py
rename to experiment/meteo_france_data/visualization/studies_visualization/main_studies_visualizer.py
index ceed354d..9cd31321 100644
--- a/experiment/meteo_france_SCM_models/visualization/studies_visualization/main_studies_visualizer.py
+++ b/experiment/meteo_france_data/visualization/studies_visualization/main_studies_visualizer.py
@@ -3,14 +3,14 @@ from experiment.trend_analysis.abstract_score import MannKendall, WeigthedScore,
 from experiment.trend_analysis.univariate_test.abstract_gev_change_point_test import GevLocationChangePointTest, \
     GevScaleChangePointTest, GevShapeChangePointTest
 from experiment.trend_analysis.univariate_test.abstract_univariate_test import MannKendallTrendTest
-from experiment.meteo_france_SCM_models.study.safran.safran import ExtendedSafranTotalPrecip
-from experiment.meteo_france_SCM_models.visualization.studies_visualization.studies import Studies
-from experiment.meteo_france_SCM_models.visualization.studies_visualization.studies_visualizer import StudiesVisualizer, \
+from experiment.meteo_france_data.scm_models_data.safran.safran import ExtendedSafranTotalPrecip
+from experiment.meteo_france_data.visualization.studies_visualization.studies import Studies
+from experiment.meteo_france_data.visualization.studies_visualization.studies_visualizer import StudiesVisualizer, \
     AltitudeVisualizer
-from experiment.meteo_france_SCM_models.visualization.study_visualization.main_study_visualizer import ALL_ALTITUDES, \
+from experiment.meteo_france_data.visualization.study_visualization.main_study_visualizer import ALL_ALTITUDES, \
     study_iterator_global, SCM_STUDIES
 
-from experiment.meteo_france_SCM_models.visualization.study_visualization.study_visualizer import StudyVisualizer
+from experiment.meteo_france_data.visualization.study_visualization.study_visualizer import StudyVisualizer
 from collections import OrderedDict
 
 
diff --git a/experiment/meteo_france_SCM_models/visualization/studies_visualization/studies.py b/experiment/meteo_france_data/visualization/studies_visualization/studies.py
similarity index 85%
rename from experiment/meteo_france_SCM_models/visualization/studies_visualization/studies.py
rename to experiment/meteo_france_data/visualization/studies_visualization/studies.py
index 8affe797..d956246d 100644
--- a/experiment/meteo_france_SCM_models/visualization/studies_visualization/studies.py
+++ b/experiment/meteo_france_data/visualization/studies_visualization/studies.py
@@ -1,8 +1,8 @@
 from collections import OrderedDict
 from typing import Dict
 
-from experiment.meteo_france_SCM_models.study.abstract_study import AbstractStudy
-from experiment.meteo_france_SCM_models.study.scm_constants import ALTITUDES
+from experiment.meteo_france_data.scm_models_data.abstract_study import AbstractStudy
+from experiment.meteo_france_data.scm_models_data.scm_constants import ALTITUDES
 
 
 class Studies(object):
diff --git a/experiment/meteo_france_SCM_models/visualization/studies_visualization/studies_visualizer.py b/experiment/meteo_france_data/visualization/studies_visualization/studies_visualizer.py
similarity index 96%
rename from experiment/meteo_france_SCM_models/visualization/studies_visualization/studies_visualizer.py
rename to experiment/meteo_france_data/visualization/studies_visualization/studies_visualizer.py
index 56abb141..bdb536e2 100644
--- a/experiment/meteo_france_SCM_models/visualization/studies_visualization/studies_visualizer.py
+++ b/experiment/meteo_france_data/visualization/studies_visualization/studies_visualizer.py
@@ -9,12 +9,12 @@ import pandas as pd
 import matplotlib.pyplot as plt
 from matplotlib.lines import Line2D
 
-from experiment.meteo_france_SCM_models.study.abstract_extended_study import AbstractExtendedStudy
+from experiment.meteo_france_data.scm_models_data.abstract_extended_study import AbstractExtendedStudy
 from experiment.trend_analysis.univariate_test.abstract_univariate_test import AbstractUnivariateTest
-from experiment.meteo_france_SCM_models.visualization.studies_visualization.studies import \
+from experiment.meteo_france_data.visualization.studies_visualization.studies import \
     Studies
-from experiment.meteo_france_SCM_models.visualization.study_visualization.study_visualizer import StudyVisualizer
-from experiment.meteo_france_SCM_models.visualization.utils import plot_df
+from experiment.meteo_france_data.visualization.study_visualization.study_visualizer import StudyVisualizer
+from experiment.meteo_france_data.visualization.utils import plot_df
 from utils import cached_property, get_display_name_from_object_type, VERSION_TIME
 
 
diff --git a/experiment/meteo_france_SCM_models/visualization/study_visualization/__init__.py b/experiment/meteo_france_data/visualization/study_visualization/__init__.py
similarity index 100%
rename from experiment/meteo_france_SCM_models/visualization/study_visualization/__init__.py
rename to experiment/meteo_france_data/visualization/study_visualization/__init__.py
diff --git a/experiment/meteo_france_SCM_models/visualization/study_visualization/main_study_visualizer.py b/experiment/meteo_france_data/visualization/study_visualization/main_study_visualizer.py
similarity index 95%
rename from experiment/meteo_france_SCM_models/visualization/study_visualization/main_study_visualizer.py
rename to experiment/meteo_france_data/visualization/study_visualization/main_study_visualizer.py
index 893fb39c..6bed93e8 100644
--- a/experiment/meteo_france_SCM_models/visualization/study_visualization/main_study_visualizer.py
+++ b/experiment/meteo_france_data/visualization/study_visualization/main_study_visualizer.py
@@ -2,13 +2,13 @@ import time
 from typing import List
 
 from experiment.trend_analysis.abstract_score import MannKendall
-from experiment.meteo_france_SCM_models.study.abstract_study import AbstractStudy
-from experiment.meteo_france_SCM_models.study.crocus.crocus import CrocusDepth, CrocusSwe, ExtendedCrocusDepth, \
+from experiment.meteo_france_data.scm_models_data.abstract_study import AbstractStudy
+from experiment.meteo_france_data.scm_models_data.crocus.crocus import CrocusDepth, CrocusSwe, ExtendedCrocusDepth, \
     ExtendedCrocusSwe, CrocusDaysWithSnowOnGround
-from experiment.meteo_france_SCM_models.study.safran.safran import SafranSnowfall, ExtendedSafranSnowfall, SafranRainfall, \
+from experiment.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall, ExtendedSafranSnowfall, SafranRainfall, \
     SafranTemperature, SafranTotalPrecip
 
-from experiment.meteo_france_SCM_models.visualization.study_visualization.study_visualizer import StudyVisualizer
+from experiment.meteo_france_data.visualization.study_visualization.study_visualizer import StudyVisualizer
 from collections import OrderedDict
 
 from experiment.trend_analysis.univariate_test.abstract_gev_change_point_test import GevLocationChangePointTest
@@ -23,6 +23,7 @@ ALL_ALTITUDES = [0, 300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 330
 ALL_ALTITUDES_WITHOUT_NAN = [300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900, 4200, 4500, 4800]
 full_altitude_with_at_least_2_stations = [0, 300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600, 3900,
                                           4200]
+ALL_ALTITUDES_WITH_20_STATIONS_AT_LEAST = ALL_ALTITUDES[3:-6][:]
 
 ALL_STUDIES = SCM_STUDIES + [SafranTemperature, SafranRainfall]
 
diff --git a/experiment/meteo_france_SCM_models/visualization/study_visualization/study_visualizer.py b/experiment/meteo_france_data/visualization/study_visualization/study_visualizer.py
similarity index 99%
rename from experiment/meteo_france_SCM_models/visualization/study_visualization/study_visualizer.py
rename to experiment/meteo_france_data/visualization/study_visualization/study_visualizer.py
index 836b8ca0..dcc1cc3a 100644
--- a/experiment/meteo_france_SCM_models/visualization/study_visualization/study_visualizer.py
+++ b/experiment/meteo_france_data/visualization/study_visualization/study_visualizer.py
@@ -10,12 +10,12 @@ import pandas as pd
 import seaborn as sns
 
 from experiment.trend_analysis.abstract_score import MeanScore, AbstractTrendScore
-from experiment.meteo_france_SCM_models.study.abstract_study import AbstractStudy
+from experiment.meteo_france_data.scm_models_data.abstract_study import AbstractStudy
 from experiment.trend_analysis.univariate_test.abstract_gev_change_point_test import AbstractGevChangePointTest
 from experiment.trend_analysis.univariate_test.abstract_univariate_test import AbstractUnivariateTest
 from experiment.trend_analysis.non_stationary_trends import \
     ConditionalIndedendenceLocationTrendTest, MaxStableLocationTrendTest, IndependenceLocationTrendTest
-from experiment.meteo_france_SCM_models.visualization.utils import create_adjusted_axes
+from experiment.meteo_france_data.visualization.utils import create_adjusted_axes
 from experiment.utils import average_smoothing_with_sliding_window
 from extreme_estimator.estimator.full_estimator.abstract_full_estimator import \
     FullEstimatorInASingleStepWithSmoothMargin
diff --git a/experiment/meteo_france_SCM_models/visualization/utils.py b/experiment/meteo_france_data/visualization/utils.py
similarity index 100%
rename from experiment/meteo_france_SCM_models/visualization/utils.py
rename to experiment/meteo_france_data/visualization/utils.py
diff --git a/experiment/trend_analysis/non_stationary_trends.py b/experiment/trend_analysis/non_stationary_trends.py
index e7e96bc9..b3a5b920 100644
--- a/experiment/trend_analysis/non_stationary_trends.py
+++ b/experiment/trend_analysis/non_stationary_trends.py
@@ -4,7 +4,6 @@ from typing import Union
 
 import pandas as pd
 
-from experiment.meteo_france_SCM_models.visualization.utils import align_yaxis_on_zero
 from extreme_estimator.estimator.abstract_estimator import AbstractEstimator
 from scipy.stats import chi2
 from extreme_estimator.estimator.full_estimator.abstract_full_estimator import \
diff --git a/extreme_estimator/extreme_models/margin_model/margin_function/abstract_margin_function.py b/extreme_estimator/extreme_models/margin_model/margin_function/abstract_margin_function.py
index 315ab036..ada3da81 100644
--- a/extreme_estimator/extreme_models/margin_model/margin_function/abstract_margin_function.py
+++ b/extreme_estimator/extreme_models/margin_model/margin_function/abstract_margin_function.py
@@ -5,7 +5,7 @@ import matplotlib.pyplot as plt
 import numpy as np
 import pandas as pd
 
-from experiment.meteo_france_SCM_models.visualization.utils import create_adjusted_axes
+from experiment.meteo_france_data.visualization.utils import create_adjusted_axes
 from extreme_estimator.margin_fits.gev.gev_params import GevParams
 from extreme_estimator.margin_fits.plot.create_shifted_cmap import imshow_shifted
 from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
diff --git a/test/test_experiment/test_SCM_study.py b/test/test_experiment/test_SCM_study.py
index de6dd512..7e233cfd 100644
--- a/test/test_experiment/test_SCM_study.py
+++ b/test/test_experiment/test_SCM_study.py
@@ -4,13 +4,13 @@ from random import sample
 
 import pandas as pd
 
-from experiment.meteo_france_SCM_models.study.cumulated_study import NB_DAYS
-from experiment.meteo_france_SCM_models.study.safran.safran import SafranSnowfall, ExtendedSafranSnowfall, \
+from experiment.meteo_france_data.scm_models_data.cumulated_study import NB_DAYS
+from experiment.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall, ExtendedSafranSnowfall, \
     SafranTemperature, \
     SafranTotalPrecip
-from experiment.meteo_france_SCM_models.visualization.study_visualization.main_study_visualizer import study_iterator, \
+from experiment.meteo_france_data.visualization.study_visualization.main_study_visualizer import study_iterator, \
     study_iterator_global, SCM_STUDIES, ALL_ALTITUDES
-from experiment.meteo_france_SCM_models.visualization.study_visualization.study_visualizer import StudyVisualizer
+from experiment.meteo_france_data.visualization.study_visualization.study_visualizer import StudyVisualizer
 from experiment.trend_analysis.univariate_test.abstract_gev_change_point_test import GevLocationChangePointTest
 from utils import get_display_name_from_object_type
 
diff --git a/test/test_experiment/test_coordinate_sensitivity.py b/test/test_experiment/test_coordinate_sensitivity.py
index 2282a8b3..da06bb49 100644
--- a/test/test_experiment/test_coordinate_sensitivity.py
+++ b/test/test_experiment/test_coordinate_sensitivity.py
@@ -1,11 +1,11 @@
 import unittest
 
-from experiment.meteo_france_SCM_models.study.crocus.crocus import CrocusSwe
-from experiment.meteo_france_SCM_models.visualization.study_visualization.main_study_visualizer import \
+from experiment.meteo_france_data.scm_models_data.crocus.crocus import CrocusSwe
+from experiment.meteo_france_data.visualization.study_visualization.main_study_visualizer import \
     study_iterator_global
 from experiment.trend_analysis.non_stationary_trends import \
     ConditionalIndedendenceLocationTrendTest
-from experiment.meteo_france_SCM_models.visualization.study_visualization.study_visualizer import StudyVisualizer
+from experiment.meteo_france_data.visualization.study_visualization.study_visualizer import StudyVisualizer
 from spatio_temporal_dataset.coordinates.transformed_coordinates.transformation.uniform_normalization import \
     BetweenZeroAndOneNormalization, BetweenZeroAndOneNormalizationMinEpsilon, BetweenZeroAndOneNormalizationMaxEpsilon
 from utils import get_display_name_from_object_type
diff --git a/test/test_utils.py b/test/test_utils.py
index a53cb224..25596f3b 100644
--- a/test/test_utils.py
+++ b/test/test_utils.py
@@ -1,8 +1,8 @@
 from itertools import product
 from typing import List
 
-from experiment.meteo_france_SCM_models.study.abstract_study import AbstractStudy
-from experiment.meteo_france_SCM_models.study.crocus.crocus import Crocus, CrocusSwe, CrocusDepth
+from experiment.meteo_france_data.scm_models_data.abstract_study import AbstractStudy
+from experiment.meteo_france_data.scm_models_data.crocus.crocus import Crocus, CrocusSwe, CrocusDepth
 from extreme_estimator.estimator.full_estimator.abstract_full_estimator import SmoothMarginalsThenUnitaryMsp, \
     FullEstimatorInASingleStepWithSmoothMargin
 from extreme_estimator.estimator.max_stable_estimator.abstract_max_stable_estimator import MaxStableEstimator
@@ -14,7 +14,7 @@ from extreme_estimator.extreme_models.max_stable_model.abstract_max_stable_model
     AbstractMaxStableModelWithCovarianceFunction, CovarianceFunction
 from extreme_estimator.extreme_models.max_stable_model.max_stable_models import Smith, BrownResnick, Schlather, \
     Geometric, ExtremalT, ISchlather
-from experiment.meteo_france_SCM_models.study.safran.safran import SafranSnowfall, Safran, SafranRainfall, \
+from experiment.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall, Safran, SafranRainfall, \
     SafranTemperature, SafranTotalPrecip
 from spatio_temporal_dataset.coordinates.spatial_coordinates.alps_station_3D_coordinates import \
     AlpsStation3DCoordinatesWithAnisotropy
-- 
GitLab