diff --git a/extreme_trend/visualizers/study_visualizer_for_non_stationary_trends.py b/extreme_trend/visualizers/study_visualizer_for_non_stationary_trends.py index bb429ee4457cac64a30acb06ba58a450c54f2b10..b4c14f5e8499176fd2adebcda151ed7d55f824c3 100644 --- a/extreme_trend/visualizers/study_visualizer_for_non_stationary_trends.py +++ b/extreme_trend/visualizers/study_visualizer_for_non_stationary_trends.py @@ -82,6 +82,8 @@ class StudyVisualizerForNonStationaryTrends(StudyVisualizer): ConfidenceIntervalMethodFromExtremes.ci_mle][1:] if self.uncertainty_massif_names is None: self.uncertainty_massif_names = self.study.study_massif_names + else: + assert set(self.uncertainty_massif_names).issubset(set(self.study.study_massif_names)) if self.non_stationary_trend_test_to_marker is None: # Assign default argument for the non stationary trends self.non_stationary_trend_test = NON_STATIONARY_TREND_TEST_PAPER @@ -95,7 +97,7 @@ class StudyVisualizerForNonStationaryTrends(StudyVisualizer): @cached_property def massif_name_to_years_and_maxima(self): d = {} - df_maxima = self.study.observations_annual_maxima.df_maxima_gev + df_maxima = self.study.observations_annual_maxima.df_maxima_gev.loc[self.uncertainty_massif_names] years = np.array(df_maxima.columns) for massif_name, s_maxima in df_maxima.iterrows(): d[massif_name] = (years, np.array(s_maxima)) @@ -135,6 +137,7 @@ class StudyVisualizerForNonStationaryTrends(StudyVisualizer): # In both cases, we remove any massif with psnow < 0.9 if self.fit_only_time_series_with_ninety_percent_of_non_null_values: d = {m: v for m, v in d.items() if self.massif_name_to_psnow[m] >= 0.9} + print(d.keys()) return d @property diff --git a/projects/contrasting_snow_loads/__init__.py b/projects/contrasting_trends_in_snow_loads/__init__.py similarity index 100% rename from projects/contrasting_snow_loads/__init__.py rename to projects/contrasting_trends_in_snow_loads/__init__.py diff --git a/projects/contrasting_snow_loads/check_mcmc_convergence_for_return_levels/__init__.py b/projects/contrasting_trends_in_snow_loads/check_mcmc_convergence_for_return_levels/__init__.py similarity index 100% rename from projects/contrasting_snow_loads/check_mcmc_convergence_for_return_levels/__init__.py rename to projects/contrasting_trends_in_snow_loads/check_mcmc_convergence_for_return_levels/__init__.py diff --git a/projects/contrasting_snow_loads/check_mcmc_convergence_for_return_levels/gelman_convergence_test.py b/projects/contrasting_trends_in_snow_loads/check_mcmc_convergence_for_return_levels/gelman_convergence_test.py similarity index 100% rename from projects/contrasting_snow_loads/check_mcmc_convergence_for_return_levels/gelman_convergence_test.py rename to projects/contrasting_trends_in_snow_loads/check_mcmc_convergence_for_return_levels/gelman_convergence_test.py diff --git a/projects/contrasting_snow_loads/check_mcmc_convergence_for_return_levels/main_bayesian_mcmc.py b/projects/contrasting_trends_in_snow_loads/check_mcmc_convergence_for_return_levels/main_bayesian_mcmc.py similarity index 100% rename from projects/contrasting_snow_loads/check_mcmc_convergence_for_return_levels/main_bayesian_mcmc.py rename to projects/contrasting_trends_in_snow_loads/check_mcmc_convergence_for_return_levels/main_bayesian_mcmc.py diff --git a/projects/contrasting_snow_loads/check_mcmc_convergence_for_return_levels/main_gelman_convergence_test.py b/projects/contrasting_trends_in_snow_loads/check_mcmc_convergence_for_return_levels/main_gelman_convergence_test.py similarity index 100% rename from projects/contrasting_snow_loads/check_mcmc_convergence_for_return_levels/main_gelman_convergence_test.py rename to projects/contrasting_trends_in_snow_loads/check_mcmc_convergence_for_return_levels/main_gelman_convergence_test.py diff --git a/projects/contrasting_snow_loads/main_result.py b/projects/contrasting_trends_in_snow_loads/main_result.py similarity index 97% rename from projects/contrasting_snow_loads/main_result.py rename to projects/contrasting_trends_in_snow_loads/main_result.py index 79b07f7912e5594f387ec52a848b3c2b126db444..ccd44348af9a9b8b25fa8420fb1dcbc7a30023d7 100644 --- a/projects/contrasting_snow_loads/main_result.py +++ b/projects/contrasting_trends_in_snow_loads/main_result.py @@ -18,7 +18,7 @@ from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusS CrocusSnowLoad5Days, CrocusSnowLoad7Days, CrocusSnowLoad1Day from extreme_fit.model.result_from_model_fit.result_from_extremes.confidence_interval_method import \ ConfidenceIntervalMethodFromExtremes -from projects.contrasting_snow_loads.plot_contrasting_trend_curves import plot_contrasting_trend_curves +from projects.contrasting_trends_in_snow_loads.plot_contrasting_trend_curves import plot_contrasting_trend_curves from projects.exceeding_snow_loads.section_results.main_result_trends_and_return_levels import \ compute_minimized_aic from root_utils import NB_CORES diff --git a/projects/contrasting_snow_loads/main_spatial_relative_change_in_maxima_at_fixed_altitude.py b/projects/contrasting_trends_in_snow_loads/main_spatial_relative_change_in_maxima_at_fixed_altitude.py similarity index 100% rename from projects/contrasting_snow_loads/main_spatial_relative_change_in_maxima_at_fixed_altitude.py rename to projects/contrasting_trends_in_snow_loads/main_spatial_relative_change_in_maxima_at_fixed_altitude.py diff --git a/projects/contrasting_snow_loads/plot_contrasting_trend_curves.py b/projects/contrasting_trends_in_snow_loads/plot_contrasting_trend_curves.py similarity index 100% rename from projects/contrasting_snow_loads/plot_contrasting_trend_curves.py rename to projects/contrasting_trends_in_snow_loads/plot_contrasting_trend_curves.py diff --git a/projects/exceeding_snow_loads/section_results/main_result_trends_and_return_levels.py b/projects/exceeding_snow_loads/section_results/main_result_trends_and_return_levels.py index 6a99cc1a82b3c420aa0d86af9d544335356eda61..3a4268409182d149b74b91f9db0fe123dbec3791 100644 --- a/projects/exceeding_snow_loads/section_results/main_result_trends_and_return_levels.py +++ b/projects/exceeding_snow_loads/section_results/main_result_trends_and_return_levels.py @@ -1,19 +1,20 @@ from multiprocessing.pool import Pool import matplotlib as mpl +mpl.rcParams['text.usetex'] = True +mpl.rcParams['text.latex.preamble'] = [r'\usepackage{amsmath}'] from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal -from extreme_trend.visualizers.utils import load_altitude_to_visualizer -from projects.exceeding_snow_loads.utils import paper_study_classes, paper_altitudes -from projects.exceeding_snow_loads.section_results.plot_uncertainty_curves import plot_uncertainty_massifs -from extreme_trend.visualizers.study_visualizer_for_non_stationary_trends import \ - StudyVisualizerForNonStationaryTrends from extreme_fit.model.result_from_model_fit.result_from_extremes.confidence_interval_method import \ ConfidenceIntervalMethodFromExtremes +from extreme_trend.visualizers.study_visualizer_for_non_stationary_trends import \ + StudyVisualizerForNonStationaryTrends +from extreme_trend.visualizers.utils import load_altitude_to_visualizer +from projects.exceeding_snow_loads.section_results.plot_uncertainty_curves import plot_uncertainty_massifs +from projects.exceeding_snow_loads.utils import paper_study_classes, paper_altitudes from root_utils import NB_CORES -mpl.rcParams['text.usetex'] = True -mpl.rcParams['text.latex.preamble'] = [r'\usepackage{amsmath}'] + import matplotlib.pyplot as plt diff --git a/projects/exceeding_snow_loads/section_results/plot_uncertainty_curves.py b/projects/exceeding_snow_loads/section_results/plot_uncertainty_curves.py index 78cdc2986988b0cd3ed1849dc88ea003058c4b59..04403d6b2d0408eb52924b18113894cab39547a6 100644 --- a/projects/exceeding_snow_loads/section_results/plot_uncertainty_curves.py +++ b/projects/exceeding_snow_loads/section_results/plot_uncertainty_curves.py @@ -1,4 +1,9 @@ from typing import Dict + +import matplotlib as mpl +mpl.rcParams['text.usetex'] = True +mpl.rcParams['text.latex.preamble'] = [r'\usepackage{amsmath}'] + import matplotlib.pyplot as plt import numpy as np diff --git a/projects/exceeding_snow_loads/utils.py b/projects/exceeding_snow_loads/utils.py index 74fdd345ea8baeaecf7274b34264e928da2518c1..0847e667c23c2882260f81c2ea4562185081c046 100644 --- a/projects/exceeding_snow_loads/utils.py +++ b/projects/exceeding_snow_loads/utils.py @@ -24,3 +24,5 @@ NON_STATIONARY_TREND_TEST_PAPER = [GumbelVersusGumbel, GevLocationAgainstGumbel, GevScaleAgainstGumbel, GevLocationAndScaleTrendTestAgainstGumbel] + + diff --git a/test/test_projects/__init__.py b/test/test_projects/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/test/test_projects/test_exceeding_snow_loads/__init__.py b/test/test_projects/test_exceeding_snow_loads/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/test/test_projects/test_exceeding_snow_loads/test_results.py b/test/test_projects/test_exceeding_snow_loads/test_results.py new file mode 100644 index 0000000000000000000000000000000000000000..c636f28be1ffa0e3c417653ebbe0c9e77c6422c8 --- /dev/null +++ b/test/test_projects/test_exceeding_snow_loads/test_results.py @@ -0,0 +1,31 @@ +import unittest + +from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal +from extreme_fit.model.result_from_model_fit.result_from_extremes.confidence_interval_method import \ + ConfidenceIntervalMethodFromExtremes +from extreme_trend.visualizers.utils import load_altitude_to_visualizer +from projects.exceeding_snow_loads.section_results.plot_selection_curves import plot_selection_curves +from projects.exceeding_snow_loads.section_results.plot_trend_curves import plot_trend_curves, plot_trend_map +from projects.exceeding_snow_loads.section_results.plot_uncertainty_curves import plot_uncertainty_massifs +from projects.exceeding_snow_loads.section_results.plot_uncertainty_histogram import plot_uncertainty_histogram + + +class TestResults(unittest.TestCase): + + def test_run_intermediate_results(self): + # Load data + altitude_to_visualizer = load_altitude_to_visualizer(altitudes=[300, 600], massif_names=['Chartreuse'], + study_class=CrocusSnowLoadTotal, + model_subsets_for_uncertainty=None, + uncertainty_methods=[ + ConfidenceIntervalMethodFromExtremes.ci_mle]) + plot_trend_map(altitude_to_visualizer) + plot_trend_curves(altitude_to_visualizer) + plot_uncertainty_massifs(altitude_to_visualizer) + plot_uncertainty_histogram(altitude_to_visualizer) + plot_selection_curves(altitude_to_visualizer) + self.assertTrue(True) + + +if __name__ == '__main__': + unittest.main()