diff --git a/experiment/meteo_france_data/scm_models_data/paper1_steps/1-main_good_stationary_gev_fit.py b/experiment/meteo_france_data/scm_models_data/paper1_steps/1-main_good_stationary_gev_fit.py new file mode 100644 index 0000000000000000000000000000000000000000..4bcf26cb2e8ed75753cea36d73fc0cb41decf4e9 --- /dev/null +++ b/experiment/meteo_france_data/scm_models_data/paper1_steps/1-main_good_stationary_gev_fit.py @@ -0,0 +1,22 @@ +from experiment.meteo_france_data.scm_models_data.crocus.crocus import CrocusRecentSwe +from experiment.meteo_france_data.scm_models_data.visualization.study_visualization.main_study_visualizer import \ + study_iterator_global +from experiment.meteo_france_data.scm_models_data.visualization.study_visualization.study_visualizer import \ + StudyVisualizer + + +def maxima_analysis(): + save_to_file = True + only_first_one = False + durand_altitude = [900, 1500, 2100, 2700] + altitudes = durand_altitude + study_classes = [CrocusRecentSwe][:] + for study in study_iterator_global(study_classes, only_first_one=only_first_one, altitudes=altitudes): + study_visualizer = StudyVisualizer(study, save_to_file=save_to_file, + verbose=True, + multiprocessing=True) + study_visualizer.visualize_summary_of_annual_values_and_stationary_gev_fit() + + +if __name__ == '__main__': + maxima_analysis() diff --git a/experiment/meteo_france_data/scm_models_data/visualization/hypercube_visualization/main_files_after_conf/main_choice_starting_years.py b/experiment/meteo_france_data/scm_models_data/paper1_steps/2-main_choice_starting_years.py similarity index 100% rename from experiment/meteo_france_data/scm_models_data/visualization/hypercube_visualization/main_files_after_conf/main_choice_starting_years.py rename to experiment/meteo_france_data/scm_models_data/paper1_steps/2-main_choice_starting_years.py diff --git a/experiment/meteo_france_data/scm_models_data/paper1_steps/__init__.py b/experiment/meteo_france_data/scm_models_data/paper1_steps/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 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 059c6afc25755b7dd257dd1f9e95db23689f33b2..74dbf0a13cc62bc75790e7d7644a96233f04aa57 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 @@ -6,6 +6,7 @@ from random import sample from typing import Dict import math +import matplotlib import matplotlib.pyplot as plt import numpy as np import pandas as pd @@ -751,14 +752,7 @@ class StudyVisualizer(VisualizationParameters): else: *clean_axes, ax0 = axes for ax in clean_axes: - ax.tick_params(axis=u'both', which=u'both', length=0) - ax.spines['top'].set_visible(False) - ax.spines['right'].set_visible(False) - ax.spines['bottom'].set_visible(False) - ax.spines['left'].set_visible(False) - ax.get_xaxis().set_visible(False) - ax.get_yaxis().set_visible(False) - ax.set_aspect('equal') + StudyVisualizer.clean_ax(ax) ax0.get_yaxis().set_visible(True) sub_title = ax0.yaxis.get_label() full_title = title + '\n\n' + sub_title._text @@ -766,6 +760,17 @@ class StudyVisualizer(VisualizationParameters): label_function(full_title) ax0.tick_params(axis=u'both', which=u'both', length=0) + @staticmethod + def clean_ax(ax): + ax.tick_params(axis=u'both', which=u'both', length=0) + ax.spines['top'].set_visible(False) + ax.spines['right'].set_visible(False) + ax.spines['bottom'].set_visible(False) + ax.spines['left'].set_visible(False) + ax.get_xaxis().set_visible(False) + ax.get_yaxis().set_visible(False) + ax.set_aspect('equal') + def show_or_save_to_file(self, add_classic_title=True, no_title=False, tight_layout=False): if tight_layout: plt.tight_layout() @@ -842,7 +847,9 @@ class StudyVisualizer(VisualizationParameters): show=False, replace_blue_by_white=gev_param_name != GevParams.SHAPE, label=gev_param_name) - # self.clean_axes_write_title_on_the_left(axes, title='Independent fits') + # todo: add qqplot drawn for each massif on the map in the last cell + # or just it could be some fitting score based on the qqplot... and we just display the value + # like the log likelihood, (or we could also display some uncertainty here) # 3) Third row, gev indicator axes_third_row = axes[2] @@ -852,7 +859,11 @@ class StudyVisualizer(VisualizationParameters): show=False, label='gev ' + indicator_name) - plt.show() + # Clean all ax + for ax in axes.flatten(): + StudyVisualizer.clean_ax(ax) + self.plot_name = 'Overview of empirical and stationary gev indicators' + self.show_or_save_to_file() def visualize_annual_mean_values(self, ax=None, take_mean_value=True): if ax is None: