diff --git a/extreme_data/meteo_france_data/adamont_data/utils/download_cmip5.py b/extreme_data/meteo_france_data/adamont_data/utils/download_cmip5.py
new file mode 100644
index 0000000000000000000000000000000000000000..71b5c599f86fb200b26c5210ccb464cfa4df5b22
--- /dev/null
+++ b/extreme_data/meteo_france_data/adamont_data/utils/download_cmip5.py
@@ -0,0 +1,24 @@
+import cdsapi
+
+c = cdsapi.Client()
+
+models = ['mpi_esm_lr', 'cnrm_cm5']
+
+
+def get_year_min_and_max(model, experiment):
+    pass
+
+
+def retrieve(model, experiment):
+    year_min, year_max = get_year_min_and_max(model, experiment)
+    c.retrieve(
+        'projections-cmip5-monthly-single-levels',
+        {
+            'experiment': 'historical',
+            'variable': '2m_temperature',
+            'model': 'cnrm_cm5',
+            'ensemble_member': 'r1i1p1',
+            'period': '195001-200512',
+            'format': 'zip',
+        },
+        'download.zip')
diff --git a/extreme_data/meteo_france_data/scm_models_data/case_studies/nico/nico2.py b/extreme_data/meteo_france_data/scm_models_data/case_studies/nico/nico2.py
new file mode 100644
index 0000000000000000000000000000000000000000..4354aaa109826a1eba4c620237802bb68952b43c
--- /dev/null
+++ b/extreme_data/meteo_france_data/scm_models_data/case_studies/nico/nico2.py
@@ -0,0 +1,48 @@
+import pandas as pd
+import numpy as np
+import xlsxwriter
+
+
+from extreme_data.meteo_france_data.scm_models_data.abstract_study import AbstractStudy
+from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusDepth, CrocusSwe3Days
+from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day, SafranSnowfall3Days
+from extreme_data.meteo_france_data.scm_models_data.utils import FrenchRegion
+from extreme_data.meteo_france_data.scm_models_data.visualization.main_study_visualizer import \
+    SCM_STUDY_CLASS_TO_ABBREVIATION
+from extreme_fit.estimator.margin_estimator.utils import fitted_stationary_gev
+from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies
+
+
+def generate_excel_with_annual_maxima(fast=True):
+    if fast:
+        altitudes = [600, 900]
+    else:
+        altitudes = [600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000, 3300, 3600]
+    study_class = SafranSnowfall1Day
+    study_name = SCM_STUDY_CLASS_TO_ABBREVIATION[study_class]
+    writer = pd.ExcelWriter('{}.xlsx'.format(study_name), engine='xlsxwriter')
+    altitude_studies = AltitudesStudies(study_class, altitudes)
+    for massif_name in altitude_studies.study.all_massif_names():
+        write_df_with_annual_maxima(massif_name, writer, altitude_studies)
+    writer.save()
+
+
+def write_df_with_annual_maxima(massif_name, writer, altitude_studies) -> pd.DataFrame:
+    columns = []
+    altitudes = []
+    for altitude, study in altitude_studies.altitude_to_study.items():
+        df_maxima = study.observations_annual_maxima.df_maxima_gev
+        if massif_name in study.study_massif_names:
+            altitudes.append(altitude)
+            s = df_maxima.loc[massif_name]
+            # Fit the data and add the parameters as the first columns
+            columns.append(s)
+    df = pd.concat(columns, axis=1)
+    altitude_str = [str(a) + ' m' for a in altitudes]
+    df.columns = altitude_str
+    df.to_excel(writer, sheet_name=massif_name)
+    return df
+
+
+if __name__ == '__main__':
+    generate_excel_with_annual_maxima(fast=False)