From 7c17c30cc70ecb19688d6d329574ed5713330585 Mon Sep 17 00:00:00 2001
From: Le Roux Erwan <erwan.le-roux@irstea.fr>
Date: Fri, 28 Feb 2020 16:38:47 +0100
Subject: [PATCH] [paper 1] create intensity plot for all time series with
 psnow < 1

---
 .../extreme_trend_test/abstract_gev_trend_test.py     |  2 +-
 .../qqplot/plot_qqplot.py                             | 11 ++++++++---
 .../study_visualizer_for_non_stationary_trends.py     |  3 +++
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/experiment/trend_analysis/univariate_test/extreme_trend_test/abstract_gev_trend_test.py b/experiment/trend_analysis/univariate_test/extreme_trend_test/abstract_gev_trend_test.py
index d6a67436..792dcb8e 100644
--- a/experiment/trend_analysis/univariate_test/extreme_trend_test/abstract_gev_trend_test.py
+++ b/experiment/trend_analysis/univariate_test/extreme_trend_test/abstract_gev_trend_test.py
@@ -285,7 +285,7 @@ class AbstractGevTrendTest(AbstractUnivariateTest):
         ax.set_xlabel("Standard Gumbel quantile", fontsize=size)
         ax.set_ylabel("Non-zero annual maxima of GSL ({})".format(AbstractSnowLoadVariable.UNIT), fontsize=size)
         ax.legend(loc='lower right', prop={'size': 10})
-        plt.show()
+
 
     def qqplot_wrt_standard_gumbel(self, massif_name, altitude):
         ax = plt.gca()
diff --git a/papers/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py b/papers/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py
index c1fdd744..58abc401 100644
--- a/papers/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py
+++ b/papers/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py
@@ -23,7 +23,9 @@ def extract_time_serimes_with_worst_number_of_zeros(altitude_to_visualizer, nb_w
     for a, v in altitude_to_visualizer.items():
         l.extend([(a, v, m, p) for m, p in v.massif_name_to_psnow.items()])
     # Sort them and keep the worst examples
-    l = sorted(l, key=lambda t: t[-1])[:nb_worst_examples]
+    l = sorted(l, key=lambda t: t[-1])
+    if nb_worst_examples is not None:
+        l = l[:nb_worst_examples]
     print('Worst examples:')
     for a, v, m, p in l:
         print(a, m, p)
@@ -187,13 +189,16 @@ if __name__ == '__main__':
     altitude_to_visualizer = {altitude: StudyVisualizerForNonStationaryTrends(CrocusSnowLoadTotal(altitude=altitude),
                                                                               select_only_acceptable_shape_parameter=True,
                                                                               fit_method=TemporalMarginFitMethod.extremes_fevd_mle,
-                                                                              multiprocessing=True)
+                                                                              multiprocessing=True,
+                                                                              save_to_file=True,
+                                                                              show=False)
                               for altitude in altitudes}
 
     # plot_qqplot_wrt_standard_gumbel(altitude_to_visualizer)
     # plot_hist_psnow(altitude_to_visualizer)
+    plot_intensity_against_gumbel_quantile_for_time_series_with_missing_zeros(altitude_to_visualizer, nb_worst_examples=None)
     # plot_exceedance_psnow(altitude_to_visualizer)
-    non_stationarity_psnow(altitude_to_visualizer)
+    # non_stationarity_psnow(altitude_to_visualizer)
 
     # plot_qqplot_for_time_series_examples(altitude_to_visualizer)
     # plot_intensity_against_gumbel_quantile_for_time_series_with_missing_zeros(altitude_to_visualizer, nb_worst_examples=3)
diff --git a/papers/exceeding_snow_loads/study_visualizer_for_non_stationary_trends.py b/papers/exceeding_snow_loads/study_visualizer_for_non_stationary_trends.py
index 2b82833c..e2b9eb3d 100644
--- a/papers/exceeding_snow_loads/study_visualizer_for_non_stationary_trends.py
+++ b/papers/exceeding_snow_loads/study_visualizer_for_non_stationary_trends.py
@@ -399,6 +399,9 @@ class StudyVisualizerForNonStationaryTrends(StudyVisualizer):
     def intensity_plot(self, massif_name, psnow, color=None):
         trend_test = self.massif_name_to_trend_test_that_minimized_aic[massif_name]
         trend_test.intensity_plot_wrt_standard_gumbel(massif_name, self.altitude, psnow)
+        self.plot_name = 'intensity_plot_{}_{}'.format(self.altitude, psnow)
+        self.show_or_save_to_file(add_classic_title=False, no_title=True)
+        plt.close()
 
     def qqplot(self, massif_name, color=None):
         trend_test = self.massif_name_to_trend_test_that_minimized_aic[massif_name]
-- 
GitLab