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

[PAPER 1] add multiprocessing for the trends. augment size of plots.

parent 94e7a5e5
No related merge requests found
Showing with 21 additions and 15 deletions
+21 -15
...@@ -47,6 +47,9 @@ def intermediate_result(altitudes, massif_names=None, ...@@ -47,6 +47,9 @@ def intermediate_result(altitudes, massif_names=None,
# Load altitude to visualizer # Load altitude to visualizer
altitude_to_visualizer = load_altitude_to_visualizer(altitudes, massif_names, non_stationary_uncertainty, altitude_to_visualizer = load_altitude_to_visualizer(altitudes, massif_names, non_stationary_uncertainty,
study_class, uncertainty_methods) study_class, uncertainty_methods)
# Load variable object efficiently
for v in altitude_to_visualizer.values():
_ = v.study.year_to_variable_object
# Plot trends # Plot trends
visualizers = list(altitude_to_visualizer.values()) visualizers = list(altitude_to_visualizer.values())
if multiprocessing: if multiprocessing:
...@@ -70,7 +73,7 @@ def major_result(): ...@@ -70,7 +73,7 @@ def major_result():
uncertainty_methods = [ConfidenceIntervalMethodFromExtremes.my_bayes, uncertainty_methods = [ConfidenceIntervalMethodFromExtremes.my_bayes,
ConfidenceIntervalMethodFromExtremes.ci_mle][:] ConfidenceIntervalMethodFromExtremes.ci_mle][:]
massif_names = None massif_names = None
for study_class in paper_study_classes[:2]: for study_class in paper_study_classes[1:2]:
if study_class == CrocusSnowLoadEurocode: if study_class == CrocusSnowLoadEurocode:
non_stationary_uncertainty = [False] non_stationary_uncertainty = [False]
else: else:
...@@ -79,12 +82,12 @@ def major_result(): ...@@ -79,12 +82,12 @@ def major_result():
if __name__ == '__main__': if __name__ == '__main__':
# major_result() major_result()
intermediate_result(altitudes=paper_altitudes, massif_names=['Maurienne'], # intermediate_result(altitudes=paper_altitudes, massif_names=['Maurienne'],
uncertainty_methods=[ConfidenceIntervalMethodFromExtremes.my_bayes, # uncertainty_methods=[ConfidenceIntervalMethodFromExtremes.my_bayes,
ConfidenceIntervalMethodFromExtremes.ci_mle][:], # ConfidenceIntervalMethodFromExtremes.ci_mle][1:],
non_stationary_uncertainty=[False, True][:], # non_stationary_uncertainty=[False, True][1:],
multiprocessing=False) # multiprocessing=True)
# intermediate_result(altitudes=[900, 1200], massif_names=None) # intermediate_result(altitudes=[900, 1200], massif_names=None)
# intermediate_result(ALL_ALTITUDES_WITHOUT_NAN) # intermediate_result(ALL_ALTITUDES_WITHOUT_NAN)
# intermediate_result(paper_altitudes) # intermediate_result(paper_altitudes)
......
...@@ -84,8 +84,8 @@ def plot_single_uncertainty_massif_and_non_stationary_context(ax, massif_name, n ...@@ -84,8 +84,8 @@ def plot_single_uncertainty_massif_and_non_stationary_context(ax, massif_name, n
altitudes = list(altitude_to_visualizer.keys()) altitudes = list(altitude_to_visualizer.keys())
visualizer = list(altitude_to_visualizer.values())[0] visualizer = list(altitude_to_visualizer.values())[0]
alpha = 0.2 alpha = 0.2
legend_size = 20 legend_size = 25
fontsize_label = 20 fontsize_label = 35
# Display the EUROCODE return level # Display the EUROCODE return level
eurocode_region = massif_name_to_eurocode_region[massif_name]() eurocode_region = massif_name_to_eurocode_region[massif_name]()
...@@ -103,13 +103,13 @@ def plot_single_uncertainty_massif_and_non_stationary_context(ax, massif_name, n ...@@ -103,13 +103,13 @@ def plot_single_uncertainty_massif_and_non_stationary_context(ax, massif_name, n
# Plot bars of TDRL only in the non stationary case # Plot bars of TDRL only in the non stationary case
if j == 0 and non_stationary_context: if j == 0 and non_stationary_context:
plot_tdrl_bars(altitude_to_visualizer, ax, massif_name, valid_altitudes, legend_size, fontsize_label) plot_tdrl_bars(altitude_to_visualizer, ax, massif_name, valid_altitudes, legend_size, legend_size)
ax.legend(loc=2, prop={'size': legend_size}) ax.legend(loc=2, prop={'size': legend_size})
# ax.set_ylim([-1, 16]) # ax.set_ylim([-1, 16])
ax.set_xlim([200, 1900]) ax.set_xlim([200, 1900])
if massif_name == 'Maurienne': if massif_name == 'Maurienne':
ax.set_ylim([-1, 13]) ax.set_ylim([-1.5, 13])
# add_title(ax, eurocode_region, massif_name, non_stationary_context) # add_title(ax, eurocode_region, massif_name, non_stationary_context)
ax.set_xticks(altitudes) ax.set_xticks(altitudes)
ax.tick_params(labelsize=fontsize_label) ax.tick_params(labelsize=fontsize_label)
...@@ -155,7 +155,7 @@ def plot_tdrl_bars(altitude_to_visualizer, ax, massif_name, valid_altitudes, leg ...@@ -155,7 +155,7 @@ def plot_tdrl_bars(altitude_to_visualizer, ax, massif_name, valid_altitudes, leg
# ax2.legend(handles=legend_elements, bbox_to_anchor=(0.93, 0.7), loc='upper right') # ax2.legend(handles=legend_elements, bbox_to_anchor=(0.93, 0.7), loc='upper right')
# ax2.annotate("Filled symbol = significant trend ", xy=(0.85, 0.5), xycoords='axes fraction', fontsize=7) # ax2.annotate("Filled symbol = significant trend ", xy=(0.85, 0.5), xycoords='axes fraction', fontsize=7)
ax2.legend(handles=legend_elements, loc='upper right', prop={'size': legend_size}) ax2.legend(handles=legend_elements, loc='upper right', prop={'size': legend_size})
ax2.annotate("Filled symbol = significant trend ", xy=(0.5, 0.93), xycoords='axes fraction', fontsize=fontsize) ax2.annotate("Filled symbol =\n significant trend ", xy=(0.6, 0.85), xycoords='axes fraction', fontsize=fontsize)
ax2.set_yticks([]) ax2.set_yticks([])
......
...@@ -38,10 +38,13 @@ def plot_histogram(altitude_to_visualizer, non_stationary_context): ...@@ -38,10 +38,13 @@ def plot_histogram(altitude_to_visualizer, non_stationary_context):
bincenters = altitudes + offset bincenters = altitudes + offset
width = 100 width = 100
plot_histogram_ci_method(visualizers, non_stationary_context, ci_method, ax, bincenters, width=width) plot_histogram_ci_method(visualizers, non_stationary_context, ci_method, ax, bincenters, width=width)
fontsize_label = 15
legend_size = 15
ax.set_xticks(altitudes) ax.set_xticks(altitudes)
ax.legend(loc='upper left') ax.tick_params(labelsize=fontsize_label)
ax.set_ylabel('Massifs exceeding French standards (\%)') ax.legend(loc='upper left', prop={'size': legend_size})
ax.set_xlabel('Altitude (m)') ax.set_ylabel('Massifs exceeding French standards (\%)', fontsize=fontsize_label)
ax.set_xlabel('Altitude (m)', fontsize=fontsize_label)
ax.set_ylim([0, 100]) ax.set_ylim([0, 100])
ax.set_yticks([10 * i for i in range(11)]) ax.set_yticks([10 * i for i in range(11)])
visualizer.plot_name = 'Percentages of exceedance with non_stationary={}'.format(non_stationary_context) visualizer.plot_name = 'Percentages of exceedance with non_stationary={}'.format(non_stationary_context)
......
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