From e8644dc1dc458621eefd8f61b6270f7c2b019a88 Mon Sep 17 00:00:00 2001
From: Le Roux Erwan <erwan.le-roux@irstea.fr>
Date: Mon, 8 Jun 2020 15:52:54 +0200
Subject: [PATCH] [contrasting] add data section for the paper 2

---
 .../two_fold_datasets_generator.py            |  2 +-
 .../data.py                                   | 76 +++++++++++++++++++
 .../main_snowfall_article.py                  |  6 +-
 .../snowfall_plot.py                          |  2 +-
 .../study_visualizer_for_mean_values.py       |  0
 .../validation_plot.py                        |  2 +-
 6 files changed, 82 insertions(+), 6 deletions(-)
 create mode 100644 projects/contrasting_trends_in_snow_loads/article2_snowfall_versus_time_and_altitude/data.py
 rename projects/contrasting_trends_in_snow_loads/{snowfall_versus_time_and_altitude => article2_snowfall_versus_time_and_altitude}/main_snowfall_article.py (91%)
 rename projects/contrasting_trends_in_snow_loads/{snowfall_versus_time_and_altitude => article2_snowfall_versus_time_and_altitude}/snowfall_plot.py (97%)
 rename projects/contrasting_trends_in_snow_loads/{snowfall_versus_time_and_altitude => article2_snowfall_versus_time_and_altitude}/study_visualizer_for_mean_values.py (100%)
 rename projects/contrasting_trends_in_snow_loads/{snowfall_versus_time_and_altitude => article2_snowfall_versus_time_and_altitude}/validation_plot.py (97%)

diff --git a/projects/altitude_spatial_model/altitudes_fit/two_fold_datasets_generator.py b/projects/altitude_spatial_model/altitudes_fit/two_fold_datasets_generator.py
index a931991e..024adfce 100644
--- a/projects/altitude_spatial_model/altitudes_fit/two_fold_datasets_generator.py
+++ b/projects/altitude_spatial_model/altitudes_fit/two_fold_datasets_generator.py
@@ -23,7 +23,7 @@ class TwoFoldDatasetsGenerator(object):
         for massif_name in self.massif_names:
             l = []
             for _ in range(self.nb_samples):
-                # Append to the list
+                # Append to the list a new two fold dataset
                 l.append(self.two_fold_datasets(massif_name))
             d[massif_name] = l
         return d
diff --git a/projects/contrasting_trends_in_snow_loads/article2_snowfall_versus_time_and_altitude/data.py b/projects/contrasting_trends_in_snow_loads/article2_snowfall_versus_time_and_altitude/data.py
new file mode 100644
index 00000000..af194e84
--- /dev/null
+++ b/projects/contrasting_trends_in_snow_loads/article2_snowfall_versus_time_and_altitude/data.py
@@ -0,0 +1,76 @@
+from collections import OrderedDict
+
+import matplotlib.pyplot as plt
+
+from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal
+from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day
+from extreme_data.meteo_france_data.scm_models_data.visualization.main_study_visualizer import \
+    study_iterator_global, SCM_STUDY_CLASS_TO_ABBREVIATION
+from extreme_data.meteo_france_data.scm_models_data.visualization.study_visualizer import \
+    StudyVisualizer
+from projects.exceeding_snow_loads.utils import dpi_paper1_figure
+
+
+def tuples_for_examples_paper1(examples_for_the_paper=True):
+    if examples_for_the_paper:
+
+        marker_altitude_massif_name_for_paper1 = [
+            ('mediumpurple', 900, 'Ubaye'),
+            ('darkmagenta', 1800, 'Vercors'),
+            # ('mediumpurple', 2700, 'Beaufortain'),
+        ]
+    else:
+        marker_altitude_massif_name_for_paper1 = [
+            ('magenta', 600, 'Parpaillon'),
+            ('darkmagenta', 300, 'Devoluy'),
+            ('mediumpurple', 300, 'Aravis'),
+        ]
+    return marker_altitude_massif_name_for_paper1
+
+
+def max_graph_annual_maxima_poster():
+    """
+    We choose these massif because each represents a different eurocode region
+    we also choose them because they belong to a different climatic area
+    :return:
+    """
+    save_to_file = False
+    study_class = SafranSnowfall1Day
+
+    examples_for_the_paper = True
+
+    ax = plt.gca()
+    if examples_for_the_paper:
+        # ax.set_ylim([0, 20])
+        # ax.set_yticks(list(range(0, 21, 2)))
+        linewidth = 5
+    else:
+        linewidth = 3
+
+    marker_altitude_massif_name_for_paper1 = tuples_for_examples_paper1(examples_for_the_paper)
+
+    altitude_to_linestyle = OrderedDict()
+    first_altitude = 900
+    second_altitude = 2100
+    altitude_to_linestyle[first_altitude] = 'dashed'
+    altitude_to_linestyle[second_altitude] = 'dotted'
+    for altitude, linestyle in altitude_to_linestyle.items():
+        for study in study_iterator_global([study_class], altitudes=[altitude]):
+            study_visualizer = StudyVisualizer(study, save_to_file=save_to_file,
+                                               verbose=True,
+                                               multiprocessing=True)
+            snow_abbreviation = SCM_STUDY_CLASS_TO_ABBREVIATION[study_class]
+            tight_pad = {'h_pad': 0.2}
+            snow_abbreviation = 'max ' + snow_abbreviation
+            for color, _, massif_name in marker_altitude_massif_name_for_paper1[::-1]:
+                last_plot = color == "magenta" and altitude == second_altitude
+                label = '{} massif at {}m'.format(massif_name, altitude)
+                study_visualizer.visualize_max_graphs_poster(massif_name, altitude, snow_abbreviation, color, label,
+                                                             last_plot, ax, tight_pad=tight_pad,
+                                                             dpi=dpi_paper1_figure,
+                                                             linewidth=linewidth,
+                                                             linestyle=linestyle)
+
+
+if __name__ == '__main__':
+    max_graph_annual_maxima_poster()
diff --git a/projects/contrasting_trends_in_snow_loads/snowfall_versus_time_and_altitude/main_snowfall_article.py b/projects/contrasting_trends_in_snow_loads/article2_snowfall_versus_time_and_altitude/main_snowfall_article.py
similarity index 91%
rename from projects/contrasting_trends_in_snow_loads/snowfall_versus_time_and_altitude/main_snowfall_article.py
rename to projects/contrasting_trends_in_snow_loads/article2_snowfall_versus_time_and_altitude/main_snowfall_article.py
index 282300f3..5a9ccf61 100644
--- a/projects/contrasting_trends_in_snow_loads/snowfall_versus_time_and_altitude/main_snowfall_article.py
+++ b/projects/contrasting_trends_in_snow_loads/article2_snowfall_versus_time_and_altitude/main_snowfall_article.py
@@ -4,11 +4,11 @@ from multiprocessing.pool import Pool
 import matplotlib as mpl
 
 from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day
-from projects.contrasting_trends_in_snow_loads.snowfall_versus_time_and_altitude.snowfall_plot import \
+from projects.contrasting_trends_in_snow_loads.article2_snowfall_versus_time_and_altitude.snowfall_plot import \
     plot_snowfall_mean, plot_snowfall_time_derivative_mean
-from projects.contrasting_trends_in_snow_loads.snowfall_versus_time_and_altitude.study_visualizer_for_mean_values import \
+from projects.contrasting_trends_in_snow_loads.article2_snowfall_versus_time_and_altitude.study_visualizer_for_mean_values import \
     StudyVisualizerForMeanValues
-from projects.contrasting_trends_in_snow_loads.snowfall_versus_time_and_altitude.validation_plot import validation_plot
+from projects.contrasting_trends_in_snow_loads.article2_snowfall_versus_time_and_altitude.validation_plot import validation_plot
 from projects.exceeding_snow_loads.section_results.plot_trend_curves import plot_trend_map
 
 mpl.rcParams['text.usetex'] = True
diff --git a/projects/contrasting_trends_in_snow_loads/snowfall_versus_time_and_altitude/snowfall_plot.py b/projects/contrasting_trends_in_snow_loads/article2_snowfall_versus_time_and_altitude/snowfall_plot.py
similarity index 97%
rename from projects/contrasting_trends_in_snow_loads/snowfall_versus_time_and_altitude/snowfall_plot.py
rename to projects/contrasting_trends_in_snow_loads/article2_snowfall_versus_time_and_altitude/snowfall_plot.py
index 2565d6c1..cc68f21a 100644
--- a/projects/contrasting_trends_in_snow_loads/snowfall_versus_time_and_altitude/snowfall_plot.py
+++ b/projects/contrasting_trends_in_snow_loads/article2_snowfall_versus_time_and_altitude/snowfall_plot.py
@@ -7,7 +7,7 @@ from sklearn.linear_model import LinearRegression
 from extreme_data.meteo_france_data.scm_models_data.visualization.main_study_visualizer import \
     SCM_STUDY_CLASS_TO_ABBREVIATION
 from extreme_data.meteo_france_data.scm_models_data.visualization.plot_utils import plot_against_altitude
-from projects.contrasting_trends_in_snow_loads.snowfall_versus_time_and_altitude.study_visualizer_for_mean_values import \
+from projects.contrasting_trends_in_snow_loads.article2_snowfall_versus_time_and_altitude.study_visualizer_for_mean_values import \
     StudyVisualizerForMeanValues
 
 
diff --git a/projects/contrasting_trends_in_snow_loads/snowfall_versus_time_and_altitude/study_visualizer_for_mean_values.py b/projects/contrasting_trends_in_snow_loads/article2_snowfall_versus_time_and_altitude/study_visualizer_for_mean_values.py
similarity index 100%
rename from projects/contrasting_trends_in_snow_loads/snowfall_versus_time_and_altitude/study_visualizer_for_mean_values.py
rename to projects/contrasting_trends_in_snow_loads/article2_snowfall_versus_time_and_altitude/study_visualizer_for_mean_values.py
diff --git a/projects/contrasting_trends_in_snow_loads/snowfall_versus_time_and_altitude/validation_plot.py b/projects/contrasting_trends_in_snow_loads/article2_snowfall_versus_time_and_altitude/validation_plot.py
similarity index 97%
rename from projects/contrasting_trends_in_snow_loads/snowfall_versus_time_and_altitude/validation_plot.py
rename to projects/contrasting_trends_in_snow_loads/article2_snowfall_versus_time_and_altitude/validation_plot.py
index 32c30b15..99479248 100644
--- a/projects/contrasting_trends_in_snow_loads/snowfall_versus_time_and_altitude/validation_plot.py
+++ b/projects/contrasting_trends_in_snow_loads/article2_snowfall_versus_time_and_altitude/validation_plot.py
@@ -4,7 +4,7 @@ import matplotlib.pyplot as plt
 
 from extreme_data.meteo_france_data.scm_models_data.visualization.main_study_visualizer import \
     SCM_STUDY_CLASS_TO_ABBREVIATION
-from projects.contrasting_trends_in_snow_loads.snowfall_versus_time_and_altitude.study_visualizer_for_mean_values import \
+from projects.contrasting_trends_in_snow_loads.article2_snowfall_versus_time_and_altitude.study_visualizer_for_mean_values import \
     StudyVisualizerForMeanValues
 from projects.ogorman.gorman_figures.figure1.study_visualizer_for_double_stationary_fit import \
     StudyVisualizerForReturnLevelChange
-- 
GitLab