From b14b1d7360707e335015ccc785b516e27bc49088 Mon Sep 17 00:00:00 2001
From: Le Roux Erwan <erwan.le-roux@irstea.fr>
Date: Thu, 5 Sep 2019 17:31:44 +0200
Subject: [PATCH] [POSTER EVAN] fix hatch and fix strength value. add mainB for
 the poster

---
 .../altitude_hypercube_visualizer.py          |  4 +-
 ...n4_common_spatial_starting_years_impact.py | 12 +++---
 .../main4_individual_starting_years_impact.py | 10 ++---
 .../poster_EVAN2019/main_poster_EVAN2019.py   | 38 +++++++++++++++++--
 4 files changed, 47 insertions(+), 17 deletions(-)

diff --git a/experiment/meteo_france_data/scm_models_data/visualization/hypercube_visualization/altitude_hypercube_visualizer.py b/experiment/meteo_france_data/scm_models_data/visualization/hypercube_visualization/altitude_hypercube_visualizer.py
index 76e38352..4d3caf2e 100644
--- a/experiment/meteo_france_data/scm_models_data/visualization/hypercube_visualization/altitude_hypercube_visualizer.py
+++ b/experiment/meteo_france_data/scm_models_data/visualization/hypercube_visualization/altitude_hypercube_visualizer.py
@@ -320,7 +320,7 @@ class AltitudeHypercubeVisualizer(AbstractHypercubeVisualizer):
                                                            if k in massif_to_color_for_trend_type} for i in [1, 2]]
                         massif_to_strength.update(massif_to_value_for_trend_type[0])
                         massif_to_constant.update(massif_to_value_for_trend_type[1])
-                        mean_idx, variance_idx = 2, 3
+                        mean_idx, variance_idx = 3, 4
                     else:
                         mean_idx, variance_idx = 1, 2
 
@@ -352,7 +352,7 @@ class AltitudeHypercubeVisualizer(AbstractHypercubeVisualizer):
             massif_name_to_value = {m: "{} {}{}".format(
                 int(massif_to_constant[m]),
                 "+" if massif_to_strength[m] > 0 else "",
-                round(massif_to_strength[m] * massif_to_constant[m], 1),
+                round(massif_to_strength[m], 1),
                 AbstractGevTrendTest.nb_years_for_quantile_evolution)
                 for m in massif_to_strength}
         else:
diff --git a/experiment/paper1_steps/1 - non stationary model choice/main4_common_spatial_starting_years_impact.py b/experiment/paper1_steps/1 - non stationary model choice/main4_common_spatial_starting_years_impact.py
index e07bdd64..e4e0248f 100644
--- a/experiment/paper1_steps/1 - non stationary model choice/main4_common_spatial_starting_years_impact.py	
+++ b/experiment/paper1_steps/1 - non stationary model choice/main4_common_spatial_starting_years_impact.py	
@@ -28,13 +28,13 @@ def main_fast_spatial_risk_evolution():
 
 def main_full_spatial_risk_evolution():
     # Compare the risk with and without taking into account the starting year
-    for altitude in FULL_ALTITUDES[:]:
-        for trend_test_class in [GevScaleTrendTest]:
+    for altitude in FULL_ALTITUDES[-1:]:
+        for trend_test_class in [GevLocationAndScaleTrendTest]:
             # Starting Year=1958
-            vizualiser = get_full_altitude_visualizer(Altitude_Hypercube_Year_Visualizer, altitude=altitude,
-                                                      exact_starting_year=1958, reduce_strength_array=True,
-                                                      trend_test_class=trend_test_class)
-            vizualiser.visualize_massif_trend_test_one_altitude()
+            # vizualiser = get_full_altitude_visualizer(Altitude_Hypercube_Year_Visualizer, altitude=altitude,
+            #                                           exact_starting_year=1958, reduce_strength_array=True,
+            #                                           trend_test_class=trend_test_class)
+            # vizualiser.visualize_massif_trend_test_one_altitude()
             # Optimal common starting year
             vizualiser = get_full_altitude_visualizer(AltitudeHypercubeVisualizerWithoutTrendType, altitude=altitude,
                                                       reduce_strength_array=True,
diff --git a/experiment/paper1_steps/1 - non stationary model choice/main4_individual_starting_years_impact.py b/experiment/paper1_steps/1 - non stationary model choice/main4_individual_starting_years_impact.py
index 22368c51..c8a3fbc8 100644
--- a/experiment/paper1_steps/1 - non stationary model choice/main4_individual_starting_years_impact.py	
+++ b/experiment/paper1_steps/1 - non stationary model choice/main4_individual_starting_years_impact.py	
@@ -26,12 +26,12 @@ def main_fast_spatial_risk_evolution():
 
 def main_full_spatial_risk_evolution():
     # Compare the risk with and without taking into account the starting year
-    for altitude in FULL_ALTITUDES[-2:]:
+    for altitude in FULL_ALTITUDES[-2:-1]:
         for trend_test_class in [GevLocationAndScaleTrendTest]:
-            vizualiser = get_full_altitude_visualizer(Altitude_Hypercube_Year_Visualizer, altitude=altitude,
-                                                      exact_starting_year=1958, reduce_strength_array=True,
-                                                      trend_test_class=trend_test_class)
-            vizualiser.visualize_massif_trend_test_one_altitude()
+            # vizualiser = get_full_altitude_visualizer(Altitude_Hypercube_Year_Visualizer, altitude=altitude,
+            #                                           exact_starting_year=1958, reduce_strength_array=True,
+            #                                           trend_test_class=trend_test_class)
+            # vizualiser.visualize_massif_trend_test_one_altitude()
             vizualiser = get_full_altitude_visualizer(Altitude_Hypercube_Year_Visualizer, altitude=altitude,
                                                       reduce_strength_array=True,
                                                       trend_test_class=trend_test_class,
diff --git a/experiment/paper1_steps/poster_EVAN2019/main_poster_EVAN2019.py b/experiment/paper1_steps/poster_EVAN2019/main_poster_EVAN2019.py
index db48f63a..dbf691cd 100644
--- a/experiment/paper1_steps/poster_EVAN2019/main_poster_EVAN2019.py
+++ b/experiment/paper1_steps/poster_EVAN2019/main_poster_EVAN2019.py
@@ -1,15 +1,18 @@
 from experiment.meteo_france_data.scm_models_data.visualization.hypercube_visualization.altitude_year_hypercube_visualizer import \
-    Altitude_Hypercube_Year_Visualizer
+    Altitude_Hypercube_Year_Visualizer, AltitudeHypercubeVisualizerWithoutTrendType
 from experiment.trend_analysis.univariate_test.gev_trend_test_one_parameter import GevScaleTrendTest, \
     GevLocationTrendTest
 from experiment.trend_analysis.univariate_test.gev_trend_test_two_parameters import GevLocationAndScaleTrendTest
 from experiment.paper1_steps.utils import get_full_altitude_visualizer
 
 POSTER_ALTITUDES = [900, 1800, 2700]
+import matplotlib as mpl
+
+mpl.rcParams['hatch.linewidth'] = 0.3
 
 
 def main_poster_A_non_stationary_model_choice():
-    nb = 3
+    nb = 1
     for altitude in POSTER_ALTITUDES[:nb]:
         for trend_test_class in [GevLocationTrendTest, GevScaleTrendTest, GevLocationAndScaleTrendTest][-nb:]:
             vizualiser = get_full_altitude_visualizer(Altitude_Hypercube_Year_Visualizer, altitude=altitude,
@@ -21,8 +24,35 @@ def main_poster_A_non_stationary_model_choice():
 
 
 def main_poster_B_starting_years_analysis():
-    pass
+    nb = 3
+    for altitude in POSTER_ALTITUDES[2:]:
+        for trend_test_class in [GevLocationAndScaleTrendTest]:
+            # 1958 as starting year
+            vizualiser = get_full_altitude_visualizer(Altitude_Hypercube_Year_Visualizer, altitude=altitude,
+                                                      exact_starting_year=1958, reduce_strength_array=False,
+                                                      trend_test_class=trend_test_class,
+                                                      )
+            # vizualiser.save_to_file = False
+            vizualiser.visualize_massif_trend_test_one_altitude(poster_plot=True, write_text_on_massif=False)
+            # Optimal common starting year
+            vizualiser = get_full_altitude_visualizer(AltitudeHypercubeVisualizerWithoutTrendType, altitude=altitude,
+                                                      reduce_strength_array=True,
+                                                      trend_test_class=trend_test_class,
+                                                      offset_starting_year=20)
+            res = vizualiser.visualize_year_trend_test(subtitle_specified='CrocusSwe3Days')
+            best_year = res[0][1]
+            vizualiser = get_full_altitude_visualizer(Altitude_Hypercube_Year_Visualizer, altitude=altitude,
+                                                      exact_starting_year=best_year, reduce_strength_array=False,
+                                                      trend_test_class=trend_test_class)
+            vizualiser.visualize_massif_trend_test_one_altitude(poster_plot=True, write_text_on_massif=False)
+            # Individual most likely starting year for each massif
+            vizualiser = get_full_altitude_visualizer(Altitude_Hypercube_Year_Visualizer, altitude=altitude,
+                                                      reduce_strength_array=False,
+                                                      trend_test_class=trend_test_class,
+                                                      offset_starting_year=20)
+            vizualiser.visualize_massif_trend_test_one_altitude(poster_plot=True, write_text_on_massif=True)
 
 
 if __name__ == '__main__':
-    main_poster_A_non_stationary_model_choice()
+    # main_poster_A_non_stationary_model_choice()
+    main_poster_B_starting_years_analysis()
-- 
GitLab