From 5d94491c88abf0281684e19edd46f9b3f3c8b38f Mon Sep 17 00:00:00 2001 From: Le Roux Erwan <erwan.le-roux@irstea.fr> Date: Mon, 9 Sep 2019 18:57:25 +0200 Subject: [PATCH] [POSTER EVAN] add maxima visualization for the EAN --- .../main_study_visualizer.py | 26 ++++++++++++++----- .../study_visualization/study_visualizer.py | 8 +++--- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/main_study_visualizer.py b/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/main_study_visualizer.py index 144b992a..092e620a 100644 --- a/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/main_study_visualizer.py +++ b/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/main_study_visualizer.py @@ -34,13 +34,20 @@ altitude_massif_name_and_study_class_for_poster = [ (2700, 'Parpaillon', SafranSnowfall), ] +altitude_massif_name_and_study_class_for_poster_evan = [ + (900, 'Chartreuse', CrocusSwe3Days), + (1800, 'Vanoise', CrocusSwe3Days), + (2700, 'Parpaillon', CrocusSwe3Days), +] + + SCM_STUDY_NAME_TO_ABBREVIATION = {get_display_name_from_object_type(k): v for k, v in SCM_STUDY_CLASS_TO_ABBREVIATION.items()} SCM_COLORS = ['tab:orange', 'y', 'tab:purple', 'lightseagreen'] SCM_STUDY_CLASS_TO_COLOR = dict(zip(SCM_STUDIES, SCM_COLORS)) SCM_STUDY_NAME_TO_COLOR = {get_display_name_from_object_type(s): color for s, color in zip(SCM_STUDIES, SCM_COLORS)} - +poster_altitude_to_color = dict(zip([900, 1800, 2700], ['y', 'tab:purple', 'tab:orange'])) SCM_EXTENDED_STUDIES = [ExtendedSafranSnowfall, ExtendedCrocusSweTotal, ExtendedCrocusDepth] SCM_STUDY_TO_EXTENDED_STUDY = OrderedDict(zip(SCM_STUDIES, SCM_EXTENDED_STUDIES)) @@ -237,15 +244,20 @@ def maxima_analysis(): def max_graph_annual_maxima_poster(): save_to_file = True - for altitude, massif_name, study_class in altitude_massif_name_and_study_class_for_poster: + choice_tuple = [ + altitude_massif_name_and_study_class_for_poster, + altitude_massif_name_and_study_class_for_poster_evan, + ][1] + for altitude, massif_name, study_class in choice_tuple: 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] - color = SCM_STUDY_CLASS_TO_COLOR[study_class] - # study_visualizer.visualize_max_graphs_poster(massif_name, altitude, snow_abbreviation, color) - study_visualizer.visualize_gev_graphs_poster(massif_name, altitude, snow_abbreviation, color) + # color = SCM_STUDY_CLASS_TO_COLOR[study_class] + color = poster_altitude_to_color[altitude] + study_visualizer.visualize_max_graphs_poster(massif_name, altitude, snow_abbreviation, color) + # study_visualizer.visualize_gev_graphs_poster(massif_name, altitude, snow_abbreviation, color) def altitude_analysis(): @@ -260,8 +272,8 @@ def main_run(): # trend_analysis() # altitude_analysis() - # max_graph_annual_maxima_poster() - maxima_analysis() + max_graph_annual_maxima_poster() + # maxima_analysis() # case_study() # all_scores_vizu() # maxima_analysis() diff --git a/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py b/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py index 45a7526e..faa2ef59 100644 --- a/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py +++ b/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py @@ -618,12 +618,12 @@ class StudyVisualizer(VisualizationParameters): # Display the graph of the max on top ax = plt.gca() _, y = self.smooth_maxima_x_y(massif_names.index(massif_name)) - d = IsmevGevFit(x_gev=y).gev_params + gev_param = IsmevGevFit(x_gev=y).gev_params # Round up - d = {k: self.round_sig(v, 2) for k, v in d.items()} - print(d) - gev_param = GevParams.from_dict(d) + # d = {k: self.round_sig(v, 2) for k, v in d.items()} + # print(d) + # gev_param = GevParams.from_dict(d) x_gev = np.linspace(0.0, 1.5 * max(y), num=1000) y_gev = [gev_param.density(x) for x in x_gev] ax.plot(x_gev, y_gev, color=color, linewidth=5) -- GitLab