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 53840c3012ec072795f8570d4cc91a5bea20d85f..54e7da27ba973f0227d2d89da13ae7694484b5cc 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
@@ -198,8 +198,10 @@ class AbstractStudy(object):
         return list(chain(*list(self.year_to_days.values())))
 
     @property
-    def all_daily_series(self):
-        all_daily_series = np.concatenate(list(self.year_to_daily_time_serie_array.values()))
+    def all_daily_series(self) -> np.ndarray:
+        """Return an array of approximate shape (total_number_of_days, 23) x """
+        all_daily_series = np.concatenate([ time_serie_array
+                                            for time_serie_array in self.year_to_daily_time_serie_array.values()])
         assert len(all_daily_series) == len(self.all_days)
         return all_daily_series
 
diff --git a/projects/contrasting_trends_in_snow_loads/snow_load_impact/__init__.py b/projects/contrasting_trends_in_snow_loads/snowfall fraction of total precipitation/__init__.py
similarity index 100%
rename from projects/contrasting_trends_in_snow_loads/snow_load_impact/__init__.py
rename to projects/contrasting_trends_in_snow_loads/snowfall fraction of total precipitation/__init__.py
diff --git a/projects/contrasting_trends_in_snow_loads/snowfall fraction of total precipitation/daily snowfall fraction.py b/projects/contrasting_trends_in_snow_loads/snowfall fraction of total precipitation/daily snowfall fraction.py
new file mode 100644
index 0000000000000000000000000000000000000000..fcee72d3c979181568ad7a44a872cd96ce902075
--- /dev/null
+++ b/projects/contrasting_trends_in_snow_loads/snowfall fraction of total precipitation/daily snowfall fraction.py	
@@ -0,0 +1,47 @@
+import numpy as np
+import matplotlib.pyplot as plt
+from scipy.ndimage import gaussian_filter, gaussian_filter1d
+
+from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranRainfall1Day, SafranTemperature, \
+    SafranSnowfall1Day
+
+
+def plot_snowfall_fraction(ax, altitude, temperature_array, snowfall_array, rainfall_array):
+    if ax is None:
+        ax = plt.gca()
+    lim = 10
+    bins = np.linspace(-lim, lim, num=(4 * 2 * lim) + 1)
+    inds = np.digitize(temperature_array, bins)
+    snowfall_fractions = []
+    for j in range(1, len(bins)):
+        mask = inds == j
+        fraction = np.mean(snowfall_array[mask]) / np.mean(snowfall_array[mask] + rainfall_array[mask])
+        snowfall_fractions.append(fraction)
+    new_snowfall_fractions = 100 * gaussian_filter1d(snowfall_fractions, sigma=0.5)
+    x = bins[:-1] + 0.125
+
+    ax.plot(x, new_snowfall_fractions, label=altitude)
+    ax.set_ylabel('Snowfall fraction (%)')
+    ax.set_xlabel('Daily surface air temperature (T)')
+    ax.legend()
+
+
+def daily_snowfall_fraction(ax, altitude, year_min=1959, year_max=2019):
+    temperature_study = SafranTemperature(altitude=altitude)
+    study_rainfall = SafranRainfall1Day(altitude=altitude)
+    study_snowfall = SafranSnowfall1Day(altitude=altitude)
+    all_time_series = [temperature_study.all_daily_series, study_snowfall.all_daily_series,
+                       study_rainfall.all_daily_series]
+    plot_snowfall_fraction(ax, *[np.concatenate(t) for t in all_time_series])
+
+
+def daily_snowfall_fraction_wrt_altitude():
+    ax = plt.gca()
+    for altitude in [900, 1800, 2700]:
+        daily_snowfall_fraction(ax, altitude)
+    plt.show()
+
+
+if __name__ == '__main__':
+    daily_snowfall_fraction_wrt_altitude()
+    # daily_snowfall_fraction(altitude=900)
diff --git a/projects/contrasting_trends_in_snow_loads/snow_load_impact/short_snow_load_partition.py b/projects/contrasting_trends_in_snow_loads/snowfall fraction of total precipitation/short_snow_load_partition.py
similarity index 100%
rename from projects/contrasting_trends_in_snow_loads/snow_load_impact/short_snow_load_partition.py
rename to projects/contrasting_trends_in_snow_loads/snowfall fraction of total precipitation/short_snow_load_partition.py
diff --git a/test/test_extreme_data/test_meteo_france_data/test_SCM_study.py b/test/test_extreme_data/test_meteo_france_data/test_SCM_study.py
index 56ab48da17cc964629b2f00ecf44cd527191bf3e..16cfbe9c4091b0128d5c600d83d890fa2eaa9d9b 100644
--- a/test/test_extreme_data/test_meteo_france_data/test_SCM_study.py
+++ b/test/test_extreme_data/test_meteo_france_data/test_SCM_study.py
@@ -82,6 +82,12 @@ class TestSCMSafranSnowfall(TestSCMStudy):
         # Assert that the massif names are the same between SAFRAN and the coordinate file
         assert not set(self.study.study_massif_names).symmetric_difference(set(df_centroid['NOM']))
 
+    def test_all_data(self):
+        all_daily_series = self.study.all_daily_series
+        self.assertEqual(all_daily_series.ndim, 2)
+        self.assertEqual(all_daily_series.shape[1], 23)
+        self.assertEqual(all_daily_series.shape[0], 22280)
+
 
 class TestSCMPrecipitation(TestSCMStudy):