Commit e6c54f99 authored by Le Roux Erwan's avatar Le Roux Erwan
Browse files

[PAPER1] create a folder with all the analysis steps for the first paper

parent 74f0849c
No related merge requests found
Showing with 43 additions and 10 deletions
+43 -10
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()
...@@ -6,6 +6,7 @@ from random import sample ...@@ -6,6 +6,7 @@ from random import sample
from typing import Dict from typing import Dict
import math import math
import matplotlib
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
import numpy as np import numpy as np
import pandas as pd import pandas as pd
...@@ -751,14 +752,7 @@ class StudyVisualizer(VisualizationParameters): ...@@ -751,14 +752,7 @@ class StudyVisualizer(VisualizationParameters):
else: else:
*clean_axes, ax0 = axes *clean_axes, ax0 = axes
for ax in clean_axes: for ax in clean_axes:
ax.tick_params(axis=u'both', which=u'both', length=0) StudyVisualizer.clean_ax(ax)
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')
ax0.get_yaxis().set_visible(True) ax0.get_yaxis().set_visible(True)
sub_title = ax0.yaxis.get_label() sub_title = ax0.yaxis.get_label()
full_title = title + '\n\n' + sub_title._text full_title = title + '\n\n' + sub_title._text
...@@ -766,6 +760,17 @@ class StudyVisualizer(VisualizationParameters): ...@@ -766,6 +760,17 @@ class StudyVisualizer(VisualizationParameters):
label_function(full_title) label_function(full_title)
ax0.tick_params(axis=u'both', which=u'both', length=0) 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): def show_or_save_to_file(self, add_classic_title=True, no_title=False, tight_layout=False):
if tight_layout: if tight_layout:
plt.tight_layout() plt.tight_layout()
...@@ -842,7 +847,9 @@ class StudyVisualizer(VisualizationParameters): ...@@ -842,7 +847,9 @@ class StudyVisualizer(VisualizationParameters):
show=False, show=False,
replace_blue_by_white=gev_param_name != GevParams.SHAPE, replace_blue_by_white=gev_param_name != GevParams.SHAPE,
label=gev_param_name) 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 # 3) Third row, gev indicator
axes_third_row = axes[2] axes_third_row = axes[2]
...@@ -852,7 +859,11 @@ class StudyVisualizer(VisualizationParameters): ...@@ -852,7 +859,11 @@ class StudyVisualizer(VisualizationParameters):
show=False, show=False,
label='gev ' + indicator_name) 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): def visualize_annual_mean_values(self, ax=None, take_mean_value=True):
if ax is None: if ax is None:
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment