diff --git a/extreme_data/edf_data/weather_types.py b/extreme_data/edf_data/weather_types.py
index ca2c74dcb8d11ae2d4ff30b1e05d50beefbf72f3..519b85a84079246c1d6a85bed5c8d886f34e4014 100644
--- a/extreme_data/edf_data/weather_types.py
+++ b/extreme_data/edf_data/weather_types.py
@@ -1,5 +1,8 @@
+from datetime import datetime
+
 import pandas as pd
 
+from extreme_data.meteo_france_data.scm_models_data.utils import date_to_str
 from root_utils import get_full_path
 
 relative_path = r'local/EDF_data/Weather_types/CatalogueTT_EDF_France0_5308.txt'
@@ -13,7 +16,10 @@ def load_df_weather_types() -> pd.DataFrame:
         for i, l in enumerate(f):
             if i >= 7:
                 l = str(l).split('"')[1:]
-                weather_types.append((l[0], int(l[1][2])))
+                wp = int(l[1][2])
+                day, month, year = [int(e) for e in l[0].split('/')]
+                date_str = date_to_str(datetime(year=year, month=month, day=day))
+                weather_types.append((date_str, wp))
     df = pd.DataFrame(weather_types, columns=['Date', 'WP'])
     df.set_index('Date', inplace=True)
     return df
diff --git a/extreme_data/meteo_france_data/scm_models_data/abstract_study.py b/extreme_data/meteo_france_data/scm_models_data/abstract_study.py
index 366ee0bb7c400a25a5880a02b10d5548e069170f..a36101eb4bfc10cd94d800c8a7de47253798e2e2 100644
--- a/extreme_data/meteo_france_data/scm_models_data/abstract_study.py
+++ b/extreme_data/meteo_france_data/scm_models_data/abstract_study.py
@@ -19,9 +19,9 @@ from matplotlib.colors import Normalize
 from netCDF4 import Dataset
 
 from extreme_data.meteo_france_data.scm_models_data.abstract_variable import AbstractVariable
-from extreme_data.meteo_france_data.scm_models_data.scm_constants import ALTITUDES, ZS_INT_23, ZS_INT_MASK, LONGITUDES, \
+from extreme_data.meteo_france_data.scm_models_data.utils import ALTITUDES, ZS_INT_23, ZS_INT_MASK, LONGITUDES, \
     LATITUDES, ORIENTATIONS, SLOPES, ORDERED_ALLSLOPES_ALTITUDES, ORDERED_ALLSLOPES_ORIENTATIONS, \
-    ORDERED_ALLSLOPES_SLOPES, ORDERED_ALLSLOPES_MASSIFNUM
+    ORDERED_ALLSLOPES_SLOPES, ORDERED_ALLSLOPES_MASSIFNUM, date_to_str
 from extreme_data.meteo_france_data.scm_models_data.visualization.utils import get_km_formatter
 from extreme_fit.function.margin_function.abstract_margin_function import \
     AbstractMarginFunction
@@ -84,13 +84,20 @@ class AbstractStudy(object):
             date = datetime.datetime(year=year, month=8, day=1, hour=6, minute=0, second=0)
             days = []
             for i in range(366):
-                days.append(str(date).split()[0])
+                days.append(date_to_str(date))
                 date += datetime.timedelta(days=1)
                 if date.month == 8 and date.day == 1:
                     break
             year_to_days[year] = days
         return year_to_days
 
+    @cached_property
+    def year_to_wps(self):
+        year_max_with_data = self.year_max - 1
+        assert 1954 <= self.year_min and year_max_with_data <= 2008, \
+            'Weather patterns are not available between {} and {}'.format(self.year_min, self.year_max)
+        pass
+
     @property
     def all_days(self):
         return list(chain(*list(self.year_to_days.values())))
@@ -177,6 +184,8 @@ class AbstractStudy(object):
 
     """ Load daily observations """
 
+
+
     @cached_property
     def year_to_daily_time_serie_array(self) -> OrderedDict:
         return self._year_to_daily_time_serie_array
@@ -594,3 +603,7 @@ class AbstractStudy(object):
             mask_massif = np.array(img)
             mask_french_alps += mask_massif
         return ~np.array(mask_french_alps, dtype=bool)
+
+
+
+
diff --git a/extreme_data/meteo_france_data/scm_models_data/crocus/taline_data.py b/extreme_data/meteo_france_data/scm_models_data/crocus/taline_data.py
deleted file mode 100644
index 2f992812445b355730898167e0e5543179699d53..0000000000000000000000000000000000000000
--- a/extreme_data/meteo_france_data/scm_models_data/crocus/taline_data.py
+++ /dev/null
@@ -1,22 +0,0 @@
-from collections import OrderedDict
-
-import numpy as np
-import pandas as pd
-
-from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusDepth
-from extreme_data.meteo_france_data.scm_models_data.scm_constants import ALTITUDES
-from root_utils import get_display_name_from_object_type
-
-massif_name = 'Queyras'
-study_class = CrocusDepth
-all_days = study_class(altitude=0).all_days
-altitude_to_queyras_depth = OrderedDict()
-for altitude in ALTITUDES[:]:
-    study = study_class(altitude=altitude, orientation=90.0)
-    if massif_name in study.study_massif_names:
-        idx_queyras = study.study_massif_names.index(massif_name)
-        queyras_all_daily_series = study.all_daily_series[:, idx_queyras]
-        altitude_to_queyras_depth[altitude] = queyras_all_daily_series
-df = pd.DataFrame.from_dict(altitude_to_queyras_depth)
-df.index = all_days
-df.to_csv('{}_{}_90.csv'.format(massif_name, get_display_name_from_object_type(study_class)))
\ No newline at end of file
diff --git a/extreme_data/meteo_france_data/scm_models_data/scm_constants.py b/extreme_data/meteo_france_data/scm_models_data/utils.py
similarity index 99%
rename from extreme_data/meteo_france_data/scm_models_data/scm_constants.py
rename to extreme_data/meteo_france_data/scm_models_data/utils.py
index 0bbf64f50362fec3efc0a35e80a29628499ee815..0ae808471c4e8ca394a428750eae2094ae86106d 100644
--- a/extreme_data/meteo_france_data/scm_models_data/scm_constants.py
+++ b/extreme_data/meteo_france_data/scm_models_data/utils.py
@@ -2,8 +2,14 @@
 """
 ZS was extracted from a netcdf file
 """
+from datetime import datetime
+
 import numpy as np
 
+
+def date_to_str(date: datetime) -> str:
+    return str(date).split()[0]
+
 ZS = """[ 300.  600.  900. 1200. 1500. 1800. 2100. 2400. 2700. 3000. 3300.  300.
 600.  900. 1200. 1500. 1800. 2100. 2400. 2700. 3000.  300.  600.  900.
 1200. 1500. 1800. 2100. 2400. 2700. 3000. 3300. 3600. 3900. 4200. 4500.
diff --git a/test/test_extreme_data/test_edf_data/test_weather_types.py b/test/test_extreme_data/test_edf_data/test_weather_types.py
index afa1d9b67673da09812ab1bc9e70f0d9fc149da1..1b70bf900629b375a20a735316db24e262104fd7 100644
--- a/test/test_extreme_data/test_edf_data/test_weather_types.py
+++ b/test/test_extreme_data/test_edf_data/test_weather_types.py
@@ -1,9 +1,12 @@
 import unittest
+from datetime import datetime
 
 import pandas as pd
 
 from extreme_data.edf_data.weather_types import load_df_weather_types
+from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusSwe3Days
 from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranTemperature
+from extreme_data.meteo_france_data.scm_models_data.utils import date_to_str
 
 
 class TestWeatherTypes(unittest.TestCase):
@@ -11,10 +14,21 @@ class TestWeatherTypes(unittest.TestCase):
     def test_df_weather_types(self):
         df = load_df_weather_types()
         self.assertEqual(len(df), 20354)
-        first = df.iloc[0].values[0]
-        last = df.iloc[-1].values[0]
-        self.assertEqual(first, 5)
-        self.assertEqual(last, 8)
+        # Assert values
+        self.assertEqual(df.iloc[0, :].values[0], 5)
+        self.assertEqual(df.iloc[-1, :].values[0], 8)
+        # Assert keys
+        self.assertEqual(date_to_str(datetime(year=1953, month=1, day=1)), df.index[0])
+        self.assertEqual(date_to_str(datetime(year=2008, month=9, day=22)), df.index[-1])
+
+    def test_assertion_wps(self):
+        with self.assertRaises(AssertionError):
+            print(CrocusSwe3Days(altitude=900, year_max=2020).year_to_wps)
+        with self.assertRaises(AssertionError):
+            print(CrocusSwe3Days(altitude=900, year_min=1952).year_to_wps)
+        study = CrocusSwe3Days(altitude=900, year_min=1954, year_max=2008)
+        d = study.year_to_wps
+        self.assertTrue(True)
 
     def test_yearly_percentages(self):
         # Expected Percentages come from the original paper
diff --git a/test/test_extreme_data/test_meteo_france_data/test_SCM_oriented_data.py b/test/test_extreme_data/test_meteo_france_data/test_SCM_oriented_data.py
index 4152e86705f8bc51c47948ce320c32977c6e349a..a21c7ea2bcb8f318f141efef49320dec3ca65b11 100644
--- a/test/test_extreme_data/test_meteo_france_data/test_SCM_oriented_data.py
+++ b/test/test_extreme_data/test_meteo_france_data/test_SCM_oriented_data.py
@@ -6,7 +6,7 @@ import pandas as pd
 
 from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusSwe3Days
 from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall
-from extreme_data.meteo_france_data.scm_models_data.scm_constants import SLOPES
+from extreme_data.meteo_france_data.scm_models_data.utils import SLOPES
 
 
 class TestSCMOrientedData(unittest.TestCase):