diff --git a/experiment/meteo_france_data/scm_models_data/visualization/main_study_visualizer.py b/experiment/meteo_france_data/scm_models_data/visualization/main_study_visualizer.py index 079ceeec615312ae0e7676d3ebba489b44379a7e..0ad748c02b343cd035a100c62159393e996369aa 100644 --- a/experiment/meteo_france_data/scm_models_data/visualization/main_study_visualizer.py +++ b/experiment/meteo_france_data/scm_models_data/visualization/main_study_visualizer.py @@ -12,7 +12,7 @@ from experiment.meteo_france_data.scm_models_data.safran.safran import SafranSno SafranTemperature, SafranPrecipitation from experiment.meteo_france_data.scm_models_data.visualization.study_visualizer import \ StudyVisualizer -from projects.exceeding_snow_loads.discussion_data_comparison_with_eurocode.crocus_study_comparison_with_eurocode import \ +from projects.exceeding_snow_loads.section_discussion.crocus_study_comparison_with_eurocode import \ CrocusDifferenceSnowLoad, \ CrocusSnowDensityAtMaxofSwe, CrocusDifferenceSnowLoadRescaledAndEurocodeToSeeSynchronization, \ CrocusSnowDepthDifference, CrocusSnowDepthAtMaxofSwe diff --git a/extreme_trend_test/abstract_gev_trend_test.py b/extreme_trend_test/abstract_gev_trend_test.py index e77c563e82d75d12785065e7248e283588425b79..d1a6fe6d88620bf27ea04d6b64f1ff7f9ba46ca3 100644 --- a/extreme_trend_test/abstract_gev_trend_test.py +++ b/extreme_trend_test/abstract_gev_trend_test.py @@ -28,13 +28,15 @@ class AbstractGevTrendTest(object): constrained_model_class=StationaryTemporalModel, quantile_level=EUROCODE_QUANTILE, fit_method=TemporalMarginFitMethod.extremes_fevd_mle): - super().__init__(years, maxima, starting_year) + self.years = years + self.maxima = maxima + self.starting_year = starting_year self.unconstrained_model_class = unconstrained_model_class self.constrained_model_class = constrained_model_class self.quantile_level = quantile_level self.fit_method = fit_method # Load observations, coordinates and datasets - self.coordinates, self.dataset = load_temporal_coordinates_and_dataset(maxima, years) + self.coordinates, self.dataset = load_temporal_coordinates_and_dataset(self.maxima, self.years) # By default crashed boolean is False self.crashed = False try: diff --git a/projects/exceeding_snow_loads/check_mcmc_convergence_for_return_levels/__init__.py b/extreme_trend_test/visualizers/__init__.py similarity index 100% rename from projects/exceeding_snow_loads/check_mcmc_convergence_for_return_levels/__init__.py rename to extreme_trend_test/visualizers/__init__.py diff --git a/projects/exceeding_snow_loads/study_visualizer_for_non_stationary_trends.py b/extreme_trend_test/visualizers/study_visualizer_for_non_stationary_trends.py similarity index 96% rename from projects/exceeding_snow_loads/study_visualizer_for_non_stationary_trends.py rename to extreme_trend_test/visualizers/study_visualizer_for_non_stationary_trends.py index 8b2109f4655a6a0be3dae2c594c83128425ee2d2..bbcc4d5d3a5794ed3358b8d20be2df59aa0ae1bb 100644 --- a/projects/exceeding_snow_loads/study_visualizer_for_non_stationary_trends.py +++ b/extreme_trend_test/visualizers/study_visualizer_for_non_stationary_trends.py @@ -1,4 +1,5 @@ from collections import OrderedDict, Counter +from enum import Enum from multiprocessing.pool import Pool from typing import Dict, List, Tuple @@ -15,9 +16,7 @@ from experiment.meteo_france_data.scm_models_data.abstract_extended_study import from experiment.meteo_france_data.scm_models_data.abstract_study import AbstractStudy from experiment.meteo_france_data.scm_models_data.visualization.study_visualizer import \ StudyVisualizer -from projects.exceeding_snow_loads.check_mcmc_convergence_for_return_levels.gelman_convergence_test import \ - compute_gelman_convergence_value -from projects.exceeding_snow_loads.paper_utils import ModelSubsetForUncertainty, NON_STATIONARY_TREND_TEST_PAPER +from projects.exceeding_snow_loads.utils import NON_STATIONARY_TREND_TEST_PAPER from extreme_trend_test.abstract_gev_trend_test import AbstractGevTrendTest from extreme_trend_test.trend_test_one_parameter.gumbel_trend_test_one_parameter import \ GumbelLocationTrendTest, GevStationaryVersusGumbel, GumbelScaleTrendTest, GumbelVersusGumbel @@ -34,6 +33,14 @@ from extreme_fit.model.result_from_model_fit.result_from_extremes.eurocode_retur from root_utils import NB_CORES +class ModelSubsetForUncertainty(Enum): + stationary_gumbel = 0 + stationary_gumbel_and_gev = 1 + non_stationary_gumbel = 2 + non_stationary_gumbel_and_gev = 3 + stationary_gev = 4 + + class StudyVisualizerForNonStationaryTrends(StudyVisualizer): def __init__(self, study: AbstractStudy, show=True, save_to_file=False, only_one_graph=False, only_first_row=False, @@ -368,17 +375,6 @@ class StudyVisualizerForNonStationaryTrends(StudyVisualizer): def model_name_to_uncertainty_method_to_ratio_above_eurocode(self): assert self.uncertainty_massif_names == self.study.study_massif_names - # Some checks with Gelman convergence diagnosis - - def massif_name_to_gelman_convergence_value(self, mcmc_iterations, model_class, nb_chains): - arguments = [(self.massif_name_to_years_and_maxima_for_model_fitting[m], mcmc_iterations, model_class, nb_chains) - for m in self.uncertainty_massif_names] - if self.multiprocessing: - with Pool(NB_CORES) as p: - res = p.starmap(compute_gelman_convergence_value, arguments) - else: - res = [compute_gelman_convergence_value(*argument) for argument in arguments] - return dict(zip(self.uncertainty_massif_names, res)) # Some values for the histogram @@ -505,3 +501,4 @@ class StudyVisualizerForNonStationaryTrends(StudyVisualizer): psnow_before, psnow_after = [np.count_nonzero(s) / len(s) for s in [maxima_before, maxima_after]] return 100 * (psnow_after - psnow_before) / psnow_before return {m: compute_relative_change_in_psnow(self.massif_name_to_years_and_maxima[m][1]) for m in self.massifs_names_with_year_without_snow} + diff --git a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/shape/study_visualizer_for_shape_repartition.py b/extreme_trend_test/visualizers/study_visualizer_for_shape_repartition.py similarity index 92% rename from projects/exceeding_snow_loads/check_mle_convergence_for_trends/shape/study_visualizer_for_shape_repartition.py rename to extreme_trend_test/visualizers/study_visualizer_for_shape_repartition.py index c4f0ace3e83befaccba2957bfc1797a9276010d9..db6e3f3adc8b81c8fdde78f407c33307731db846 100644 --- a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/shape/study_visualizer_for_shape_repartition.py +++ b/extreme_trend_test/visualizers/study_visualizer_for_shape_repartition.py @@ -3,7 +3,7 @@ from cached_property import cached_property from experiment.meteo_france_data.scm_models_data.visualization.create_shifted_cmap import get_shifted_map from experiment.meteo_france_data.scm_models_data.abstract_study import AbstractStudy -from projects.exceeding_snow_loads.study_visualizer_for_non_stationary_trends import \ +from extreme_trend_test.visualizers.study_visualizer_for_non_stationary_trends import \ StudyVisualizerForNonStationaryTrends diff --git a/projects/exceeding_snow_loads/paper_main_utils.py b/extreme_trend_test/visualizers/utils.py similarity index 93% rename from projects/exceeding_snow_loads/paper_main_utils.py rename to extreme_trend_test/visualizers/utils.py index 3bdc0c3939dbbfb68c5d190bc037a8e11f0a6915..575c14248aec5b821d51744e7e4412c47b6a9697 100644 --- a/projects/exceeding_snow_loads/paper_main_utils.py +++ b/extreme_trend_test/visualizers/utils.py @@ -2,10 +2,9 @@ from collections import OrderedDict from extreme_fit.model.margin_model.linear_margin_model.abstract_temporal_linear_margin_model import \ TemporalMarginFitMethod -from projects.exceeding_snow_loads.study_visualizer_for_non_stationary_trends import \ +from extreme_trend_test.visualizers.study_visualizer_for_non_stationary_trends import \ StudyVisualizerForNonStationaryTrends - def load_altitude_to_visualizer(altitudes, massif_names, model_subsets_for_uncertainty, study_class, uncertainty_methods, study_visualizer_class=StudyVisualizerForNonStationaryTrends, diff --git a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/__init__.py b/projects/contrasting_snow_loads/check_mcmc_convergence_for_return_levels/__init__.py similarity index 100% rename from projects/exceeding_snow_loads/check_mle_convergence_for_trends/__init__.py rename to projects/contrasting_snow_loads/check_mcmc_convergence_for_return_levels/__init__.py diff --git a/projects/exceeding_snow_loads/check_mcmc_convergence_for_return_levels/gelman_convergence_test.py b/projects/contrasting_snow_loads/check_mcmc_convergence_for_return_levels/gelman_convergence_test.py similarity index 100% rename from projects/exceeding_snow_loads/check_mcmc_convergence_for_return_levels/gelman_convergence_test.py rename to projects/contrasting_snow_loads/check_mcmc_convergence_for_return_levels/gelman_convergence_test.py diff --git a/projects/exceeding_snow_loads/check_mcmc_convergence_for_return_levels/main_bayesian_mcmc.py b/projects/contrasting_snow_loads/check_mcmc_convergence_for_return_levels/main_bayesian_mcmc.py similarity index 100% rename from projects/exceeding_snow_loads/check_mcmc_convergence_for_return_levels/main_bayesian_mcmc.py rename to projects/contrasting_snow_loads/check_mcmc_convergence_for_return_levels/main_bayesian_mcmc.py diff --git a/projects/exceeding_snow_loads/check_mcmc_convergence_for_return_levels/main_gelman_convergence_test.py b/projects/contrasting_snow_loads/check_mcmc_convergence_for_return_levels/main_gelman_convergence_test.py similarity index 100% rename from projects/exceeding_snow_loads/check_mcmc_convergence_for_return_levels/main_gelman_convergence_test.py rename to projects/contrasting_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_snow_loads/main_result.py index 61a9a827f767e061c80928cf9ff784eaeecb08ef..1a810958582e348a022d583b3170c12fce816a05 100644 --- a/projects/contrasting_snow_loads/main_result.py +++ b/projects/contrasting_snow_loads/main_result.py @@ -1,6 +1,9 @@ from multiprocessing.pool import Pool import matplotlib as mpl + +from extreme_trend_test.visualizers.utils import load_altitude_to_visualizer + mpl.use('Agg') mpl.rcParams['text.usetex'] = True mpl.rcParams['text.latex.preamble'] = [r'\usepackage{amsmath}'] @@ -11,21 +14,13 @@ from experiment.meteo_france_data.scm_models_data.safran.safran import SafranPre SafranSnowfall5Days, SafranSnowfall3Days, SafranSnowfall7Days, SafranRainfall1Day, SafranRainfall3Days, \ SafranRainfall5Days, SafranRainfall7Days -from experiment.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal, CrocusSnowLoad3Days, \ +from experiment.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoad3Days, \ 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.exceeding_snow_loads.paper_main_utils import load_altitude_to_visualizer -from projects.exceeding_snow_loads.paper_utils import paper_study_classes, paper_altitudes -from projects.exceeding_snow_loads.result_trends_and_return_levels.main_result_trends_and_return_levels import \ +from projects.exceeding_snow_loads.section_results.main_result_trends_and_return_levels import \ compute_minimized_aic -from projects.exceeding_snow_loads.result_trends_and_return_levels.plot_selection_curves import plot_selection_curves -from projects.exceeding_snow_loads.result_trends_and_return_levels.plot_trend_curves import plot_trend_curves, \ - plot_trend_map -from projects.exceeding_snow_loads.result_trends_and_return_levels.plot_uncertainty_curves import plot_uncertainty_massifs -from projects.exceeding_snow_loads.result_trends_and_return_levels.plot_uncertainty_histogram import \ - plot_uncertainty_histogram from root_utils import NB_CORES diff --git a/projects/contrasting_snow_loads/plot_contrasting_trend_curves.py b/projects/contrasting_snow_loads/plot_contrasting_trend_curves.py index 09790199fb5d8ac43bc6e3e2d281d7928a7816f1..5e06210f45f6fabae6c94751b75e90be0d5310f9 100644 --- a/projects/contrasting_snow_loads/plot_contrasting_trend_curves.py +++ b/projects/contrasting_snow_loads/plot_contrasting_trend_curves.py @@ -3,8 +3,8 @@ import matplotlib.pyplot as plt from experiment.meteo_france_data.scm_models_data.abstract_extended_study import AbstractExtendedStudy from experiment.meteo_france_data.scm_models_data.visualization.utils import create_adjusted_axes -from projects.exceeding_snow_loads.paper_utils import dpi_paper1_figure -from projects.exceeding_snow_loads.study_visualizer_for_non_stationary_trends import \ +from projects.exceeding_snow_loads.utils import dpi_paper1_figure +from extreme_trend_test.visualizers.study_visualizer_for_non_stationary_trends import \ StudyVisualizerForNonStationaryTrends diff --git a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/__init__.py b/projects/exceeding_snow_loads/checks/__init__.py similarity index 100% rename from projects/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/__init__.py rename to projects/exceeding_snow_loads/checks/__init__.py diff --git a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/mixed_distribution/mixed_distribution_impact.py b/projects/exceeding_snow_loads/checks/mixed_distribution/mixed_distribution_impact.py similarity index 98% rename from projects/exceeding_snow_loads/check_mle_convergence_for_trends/mixed_distribution/mixed_distribution_impact.py rename to projects/exceeding_snow_loads/checks/mixed_distribution/mixed_distribution_impact.py index 3f4927b64ca153a986e0583a4d6a8e4e41ccacf3..485e72aa64b781d8736cbc90051401642582da82 100644 --- a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/mixed_distribution/mixed_distribution_impact.py +++ b/projects/exceeding_snow_loads/checks/mixed_distribution/mixed_distribution_impact.py @@ -1,7 +1,7 @@ import pandas as pd from experiment.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal -from projects.exceeding_snow_loads.study_visualizer_for_non_stationary_trends import StudyVisualizerForNonStationaryTrends +from extreme_trend_test.visualizers.study_visualizer_for_non_stationary_trends import StudyVisualizerForNonStationaryTrends def mix_dsitrbution_impact(): diff --git a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/shape/__init__.py b/projects/exceeding_snow_loads/checks/qqplot/__init__.py similarity index 100% rename from projects/exceeding_snow_loads/check_mle_convergence_for_trends/shape/__init__.py rename to projects/exceeding_snow_loads/checks/qqplot/__init__.py diff --git a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/main_qqplot_for_big_shapes.py b/projects/exceeding_snow_loads/checks/qqplot/main_qqplot_for_big_shapes.py similarity index 97% rename from projects/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/main_qqplot_for_big_shapes.py rename to projects/exceeding_snow_loads/checks/qqplot/main_qqplot_for_big_shapes.py index de2dbae6e29b19852a487eeda8b1b5714f583dfe..0c9c44e9814480869757dde2e367e84f4751316b 100644 --- a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/main_qqplot_for_big_shapes.py +++ b/projects/exceeding_snow_loads/checks/qqplot/main_qqplot_for_big_shapes.py @@ -3,7 +3,7 @@ import matplotlib.pyplot as plt from experiment.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal from experiment.meteo_france_data.scm_models_data.visualization.main_study_visualizer import \ ALL_ALTITUDES_WITHOUT_NAN -from projects.exceeding_snow_loads.study_visualizer_for_non_stationary_trends import \ +from extreme_trend_test.visualizers.study_visualizer_for_non_stationary_trends import \ StudyVisualizerForNonStationaryTrends diff --git a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py b/projects/exceeding_snow_loads/checks/qqplot/plot_qqplot.py similarity index 99% rename from projects/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py rename to projects/exceeding_snow_loads/checks/qqplot/plot_qqplot.py index 8dc0206f329086beefbe7099091dc26896c1ce2d..6c2155641b2e17d2b30d5dae4a898986f196a185 100644 --- a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/qqplot/plot_qqplot.py +++ b/projects/exceeding_snow_loads/checks/qqplot/plot_qqplot.py @@ -12,7 +12,7 @@ from extreme_fit.model.margin_model.linear_margin_model.abstract_temporal_linear from extreme_fit.model.result_from_model_fit.result_from_extremes.abstract_extract_eurocode_return_level import \ AbstractExtractEurocodeReturnLevel from projects.exceeding_snow_loads.data.main_example_swe_total_plot import tuples_for_examples_paper1 -from projects.exceeding_snow_loads.study_visualizer_for_non_stationary_trends import \ +from extreme_trend_test.visualizers.study_visualizer_for_non_stationary_trends import \ StudyVisualizerForNonStationaryTrends from extreme_fit.distribution.gev.gev_params import GevParams diff --git a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/uncertainty_interval_size.py b/projects/exceeding_snow_loads/checks/uncertainty_interval_size.py similarity index 84% rename from projects/exceeding_snow_loads/check_mle_convergence_for_trends/uncertainty_interval_size.py rename to projects/exceeding_snow_loads/checks/uncertainty_interval_size.py index 5d73a753bf7489d9b71880217b0b856aac8a9f01..2be62ddcdd0f326db824ea2088832ada8919dc2d 100644 --- a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/uncertainty_interval_size.py +++ b/projects/exceeding_snow_loads/checks/uncertainty_interval_size.py @@ -3,8 +3,8 @@ from typing import Dict import pandas as pd from experiment.eurocode_data.utils import EUROCODE_ALTITUDES -from projects.exceeding_snow_loads.paper_utils import ModelSubsetForUncertainty -from projects.exceeding_snow_loads.study_visualizer_for_non_stationary_trends import StudyVisualizerForNonStationaryTrends +from extreme_trend_test.visualizers.study_visualizer_for_non_stationary_trends import \ + StudyVisualizerForNonStationaryTrends, ModelSubsetForUncertainty def uncertainty_interval_size(altitude_to_visualizer: Dict[int, StudyVisualizerForNonStationaryTrends]): diff --git a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/without_maximum/__init__.py b/projects/exceeding_snow_loads/checks/without_maximum/__init__.py similarity index 100% rename from projects/exceeding_snow_loads/check_mle_convergence_for_trends/without_maximum/__init__.py rename to projects/exceeding_snow_loads/checks/without_maximum/__init__.py diff --git a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/without_maximum/main_fit_without_maximum.py b/projects/exceeding_snow_loads/checks/without_maximum/main_fit_without_maximum.py similarity index 100% rename from projects/exceeding_snow_loads/check_mle_convergence_for_trends/without_maximum/main_fit_without_maximum.py rename to projects/exceeding_snow_loads/checks/without_maximum/main_fit_without_maximum.py diff --git a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/without_maximum/study_visualizer_for_fit_witout_maximum.py b/projects/exceeding_snow_loads/checks/without_maximum/study_visualizer_for_fit_witout_maximum.py similarity index 95% rename from projects/exceeding_snow_loads/check_mle_convergence_for_trends/without_maximum/study_visualizer_for_fit_witout_maximum.py rename to projects/exceeding_snow_loads/checks/without_maximum/study_visualizer_for_fit_witout_maximum.py index 111d50ebe03edfd9cc9b8a0a5518d30d655ef782..633ceaebfb860920b1ad6853ffeaa36581e3b2eb 100644 --- a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/without_maximum/study_visualizer_for_fit_witout_maximum.py +++ b/projects/exceeding_snow_loads/checks/without_maximum/study_visualizer_for_fit_witout_maximum.py @@ -4,7 +4,7 @@ import numpy as np from cached_property import cached_property from experiment.meteo_france_data.scm_models_data.abstract_study import AbstractStudy -from projects.exceeding_snow_loads.study_visualizer_for_non_stationary_trends import \ +from extreme_trend_test.visualizers.study_visualizer_for_non_stationary_trends import \ StudyVisualizerForNonStationaryTrends diff --git a/projects/exceeding_snow_loads/data/__init__.py b/projects/exceeding_snow_loads/section_data/__init__.py similarity index 100% rename from projects/exceeding_snow_loads/data/__init__.py rename to projects/exceeding_snow_loads/section_data/__init__.py diff --git a/projects/exceeding_snow_loads/data/main_eurocode_plot.py b/projects/exceeding_snow_loads/section_data/main_eurocode_plot.py similarity index 100% rename from projects/exceeding_snow_loads/data/main_eurocode_plot.py rename to projects/exceeding_snow_loads/section_data/main_eurocode_plot.py diff --git a/projects/exceeding_snow_loads/data/main_example_swe_total_plot.py b/projects/exceeding_snow_loads/section_data/main_example_swe_total_plot.py similarity index 97% rename from projects/exceeding_snow_loads/data/main_example_swe_total_plot.py rename to projects/exceeding_snow_loads/section_data/main_example_swe_total_plot.py index 94f8aee61c5b3e6e6199c5bbe562d742fd0a99b7..ed5fc29b03d76ad134b4dd19784b2f94869b2f88 100644 --- a/projects/exceeding_snow_loads/data/main_example_swe_total_plot.py +++ b/projects/exceeding_snow_loads/section_data/main_example_swe_total_plot.py @@ -5,7 +5,7 @@ from experiment.meteo_france_data.scm_models_data.visualization.main_study_visua study_iterator_global, SCM_STUDY_CLASS_TO_ABBREVIATION from experiment.meteo_france_data.scm_models_data.visualization.study_visualizer import \ StudyVisualizer -from projects.exceeding_snow_loads.paper_utils import dpi_paper1_figure +from projects.exceeding_snow_loads.utils import dpi_paper1_figure def tuples_for_examples_paper1(examples_for_the_paper=True): diff --git a/projects/exceeding_snow_loads/discussion_data_comparison_with_eurocode/__init__.py b/projects/exceeding_snow_loads/section_discussion/__init__.py similarity index 100% rename from projects/exceeding_snow_loads/discussion_data_comparison_with_eurocode/__init__.py rename to projects/exceeding_snow_loads/section_discussion/__init__.py diff --git a/projects/exceeding_snow_loads/discussion_data_comparison_with_eurocode/crocus_study_comparison_with_eurocode.py b/projects/exceeding_snow_loads/section_discussion/crocus_study_comparison_with_eurocode.py similarity index 100% rename from projects/exceeding_snow_loads/discussion_data_comparison_with_eurocode/crocus_study_comparison_with_eurocode.py rename to projects/exceeding_snow_loads/section_discussion/crocus_study_comparison_with_eurocode.py diff --git a/projects/exceeding_snow_loads/discussion_data_comparison_with_eurocode/main_comparison_with_eurocode_examples.py b/projects/exceeding_snow_loads/section_discussion/main_comparison_with_eurocode_examples.py similarity index 94% rename from projects/exceeding_snow_loads/discussion_data_comparison_with_eurocode/main_comparison_with_eurocode_examples.py rename to projects/exceeding_snow_loads/section_discussion/main_comparison_with_eurocode_examples.py index 0abf3517827ea30e85c979646996aed6a57bd07a..0adf4b0118ebf73d3499854ce16452b1d6566613 100644 --- a/projects/exceeding_snow_loads/discussion_data_comparison_with_eurocode/main_comparison_with_eurocode_examples.py +++ b/projects/exceeding_snow_loads/section_discussion/main_comparison_with_eurocode_examples.py @@ -7,10 +7,10 @@ from experiment.meteo_france_data.scm_models_data.visualization.study_visualizer StudyVisualizer import matplotlib.pyplot as plt -from projects.exceeding_snow_loads.discussion_data_comparison_with_eurocode.crocus_study_comparison_with_eurocode import \ +from projects.exceeding_snow_loads.section_discussion.crocus_study_comparison_with_eurocode import \ CrocusDifferenceSnowLoad, \ CrocusSnowDensityAtMaxofSwe, CrocusSnowDepthDifference -from projects.exceeding_snow_loads.paper_utils import dpi_paper1_figure +from projects.exceeding_snow_loads.utils import dpi_paper1_figure def max_graph_annual_maxima_comparison(): diff --git a/projects/exceeding_snow_loads/discussion_data_comparison_with_eurocode/main_comparison_with_eurocode_global.py b/projects/exceeding_snow_loads/section_discussion/main_comparison_with_eurocode_global.py similarity index 94% rename from projects/exceeding_snow_loads/discussion_data_comparison_with_eurocode/main_comparison_with_eurocode_global.py rename to projects/exceeding_snow_loads/section_discussion/main_comparison_with_eurocode_global.py index 07069c5f7c52b257ed6b4a2d31b5a9dc53b57567..454cadcb21cd2573fcab41a15c4f800cec4ecdc3 100644 --- a/projects/exceeding_snow_loads/discussion_data_comparison_with_eurocode/main_comparison_with_eurocode_global.py +++ b/projects/exceeding_snow_loads/section_discussion/main_comparison_with_eurocode_global.py @@ -4,10 +4,10 @@ from experiment.meteo_france_data.scm_models_data.visualization.study_visualizer StudyVisualizer import matplotlib.pyplot as plt -from experiment.exceeding_snow_loads.discussion_data_comparison_with_eurocode.crocus_study_comparison_with_eurocode import \ +from projects.exceeding_snow_loads.section_discussion.crocus_study_comparison_with_eurocode import \ CrocusDifferenceSnowLoad, \ CrocusSnowDensityAtMaxofSwe, CrocusSnowDepthDifference -from experiment.exceeding_snow_loads.paper_utils import dpi_paper1_figure +from projects.exceeding_snow_loads.utils import dpi_paper1_figure def max_graph_annual_maxima_comparison(): diff --git a/projects/exceeding_snow_loads/discussion_data_comparison_with_eurocode/main_spatio_temporal_density_wrt_altitude.py b/projects/exceeding_snow_loads/section_discussion/main_spatio_temporal_density_wrt_altitude.py similarity index 93% rename from projects/exceeding_snow_loads/discussion_data_comparison_with_eurocode/main_spatio_temporal_density_wrt_altitude.py rename to projects/exceeding_snow_loads/section_discussion/main_spatio_temporal_density_wrt_altitude.py index 96c796f251b2fef49c17c5d5651b973702e6a57e..4e6ce1fc5261dbadbe7b61807c4462d884d878c1 100644 --- a/projects/exceeding_snow_loads/discussion_data_comparison_with_eurocode/main_spatio_temporal_density_wrt_altitude.py +++ b/projects/exceeding_snow_loads/section_discussion/main_spatio_temporal_density_wrt_altitude.py @@ -4,9 +4,9 @@ from experiment.meteo_france_data.scm_models_data.visualization.study_visualizer StudyVisualizer import matplotlib.pyplot as plt -from experiment.exceeding_snow_loads.discussion_data_comparison_with_eurocode.crocus_study_comparison_with_eurocode import \ +from projects.exceeding_snow_loads.section_discussion.crocus_study_comparison_with_eurocode import \ CrocusSnowDensityAtMaxofSwe -from experiment.exceeding_snow_loads.paper_utils import dpi_paper1_figure +from projects.exceeding_snow_loads.utils import dpi_paper1_figure def density_wrt_altitude(): diff --git a/projects/exceeding_snow_loads/result_trends_and_return_levels/__init__.py b/projects/exceeding_snow_loads/section_results/__init__.py similarity index 100% rename from projects/exceeding_snow_loads/result_trends_and_return_levels/__init__.py rename to projects/exceeding_snow_loads/section_results/__init__.py diff --git a/projects/exceeding_snow_loads/result_trends_and_return_levels/main_result_trends_and_return_levels.py b/projects/exceeding_snow_loads/section_results/main_result_trends_and_return_levels.py similarity index 55% rename from projects/exceeding_snow_loads/result_trends_and_return_levels/main_result_trends_and_return_levels.py rename to projects/exceeding_snow_loads/section_results/main_result_trends_and_return_levels.py index c1ca9ea79dd60f3c7c992c4c67be248af8f463a4..edffbfd87567c7fd41081a7aec731e4025e99873 100644 --- a/projects/exceeding_snow_loads/result_trends_and_return_levels/main_result_trends_and_return_levels.py +++ b/projects/exceeding_snow_loads/section_results/main_result_trends_and_return_levels.py @@ -2,20 +2,11 @@ from multiprocessing.pool import Pool import matplotlib as mpl -from experiment.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal, CrocusSnowLoad3Days, \ - CrocusSnowLoad5Days, CrocusSnowLoad7Days -from projects.exceeding_snow_loads.check_mle_convergence_for_trends.uncertainty_interval_size import \ - uncertainty_interval_size -from projects.exceeding_snow_loads.paper_main_utils import load_altitude_to_visualizer -from projects.exceeding_snow_loads.paper_utils import paper_study_classes, paper_altitudes -from projects.exceeding_snow_loads.result_trends_and_return_levels.plot_diagnosis_risk import plot_diagnosis_risk -from projects.exceeding_snow_loads.result_trends_and_return_levels.plot_selection_curves import plot_selection_curves -from projects.exceeding_snow_loads.result_trends_and_return_levels.plot_trend_curves import plot_trend_curves, \ - plot_trend_map -from projects.exceeding_snow_loads.result_trends_and_return_levels.plot_uncertainty_curves import plot_uncertainty_massifs -from projects.exceeding_snow_loads.result_trends_and_return_levels.plot_uncertainty_histogram import \ - plot_uncertainty_histogram -from projects.exceeding_snow_loads.study_visualizer_for_non_stationary_trends import \ +from experiment.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal +from extreme_trend_test.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_test.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 @@ -99,29 +90,3 @@ if __name__ == '__main__': # uncertainty_methods=[ConfidenceIntervalMethodFromExtremes.my_bayes, # ConfidenceIntervalMethodFromExtremes.ci_mle][1:], # multiprocessing=True) - # intermediate_result(altitudes=[900, 1200], massif_names=['Maurienne'], - # uncertainty_methods=[ConfidenceIntervalMethodFromExtremes.my_bayes, - # ConfidenceIntervalMethodFromExtremes.ci_mle][1:], - # non_stationary_uncertainty=[False, True][:], - # multiprocessing=True) - # intermediate_result(altitudes=[900, 1200], massif_names=None) - # intermediate_result(ALL_ALTITUDES_WITHOUT_NAN) - # intermediate_result(paper_altitudes) - # minor_result(altitude=900) - # intermediate_result(altitudes=[1500, 1800], massif_names=['Chartreuse'], - # uncertainty_methods=[ConfidenceIntervalMethodFromExtremes.ci_mle, - # ConfidenceIntervalMethodFromExtremes.ci_bayes], - # non_stationary_uncertainty=[True]) - # intermediate_result(altitudes=[1500, 1800], massif_names=None, - # uncertainty_methods=[ConfidenceIntervalMethodFromExtremes.ci_mle], - # non_stationary_uncertainty=[False]) - # intermediate_result(altitudes=[300, 600, 900, 1200, 1500, 1800], massif_names=None, - # uncertainty_methods=[ConfidenceIntervalMethodFromExtremes.ci_mle], - # non_stationary_uncertainty=[False]) - # intermediate_result(altitudes=[300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700], massif_names=None, - # uncertainty_methods=[ConfidenceIntervalMethodFromExtremes.ci_mle, - # ConfidenceIntervalMethodFromExtremes.ci_bayes], - # non_stationary_uncertainty=[False, True]) - # intermediate_result(altitudes=[300, 600, 900], massif_names=None, - # uncertainty_methods=[ConfidenceIntervalMethodFromExtremes.ci_mle], - # non_stationary_uncertainty=[False, True]) diff --git a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/shape/main_shape_repartition.py b/projects/exceeding_snow_loads/section_results/main_shape_repartition.py similarity index 87% rename from projects/exceeding_snow_loads/check_mle_convergence_for_trends/shape/main_shape_repartition.py rename to projects/exceeding_snow_loads/section_results/main_shape_repartition.py index 90c2cb7c7629ec82cbb241b76ef28b3df6425e27..0582eb320abce546fa6214f62872390eaa8908ce 100644 --- a/projects/exceeding_snow_loads/check_mle_convergence_for_trends/shape/main_shape_repartition.py +++ b/projects/exceeding_snow_loads/section_results/main_shape_repartition.py @@ -1,8 +1,7 @@ from experiment.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal -from projects.exceeding_snow_loads.check_mle_convergence_for_trends.shape.study_visualizer_for_shape_repartition import \ +from extreme_trend_test.visualizers.study_visualizer_for_shape_repartition import \ StudyVisualizerForShape -from projects.exceeding_snow_loads.paper_main_utils import load_altitude_to_visualizer -from projects.exceeding_snow_loads.paper_utils import paper_altitudes +from extreme_trend_test.visualizers.utils import load_altitude_to_visualizer def main_shape_repartition(altitudes, massif_names=None, diff --git a/projects/exceeding_snow_loads/result_trends_and_return_levels/plot_diagnosis_risk.py b/projects/exceeding_snow_loads/section_results/plot_diagnosis_risk.py similarity index 92% rename from projects/exceeding_snow_loads/result_trends_and_return_levels/plot_diagnosis_risk.py rename to projects/exceeding_snow_loads/section_results/plot_diagnosis_risk.py index ade84a5fafdfa13744b238f9e9d03ac32b2f7f53..daf93d711138108aec20ec34dcb137bd42e29ad0 100644 --- a/projects/exceeding_snow_loads/result_trends_and_return_levels/plot_diagnosis_risk.py +++ b/projects/exceeding_snow_loads/section_results/plot_diagnosis_risk.py @@ -1,8 +1,8 @@ import matplotlib.pyplot as plt -from projects.exceeding_snow_loads.paper_utils import ModelSubsetForUncertainty, dpi_paper1_figure from extreme_fit.model.result_from_model_fit.result_from_extremes.confidence_interval_method import \ ConfidenceIntervalMethodFromExtremes +from extreme_trend_test.visualizers.study_visualizer_for_non_stationary_trends import ModelSubsetForUncertainty def plot_diagnosis_risk(altitude_to_visualizer): diff --git a/projects/exceeding_snow_loads/result_trends_and_return_levels/plot_selection_curves.py b/projects/exceeding_snow_loads/section_results/plot_selection_curves.py similarity index 94% rename from projects/exceeding_snow_loads/result_trends_and_return_levels/plot_selection_curves.py rename to projects/exceeding_snow_loads/section_results/plot_selection_curves.py index 0a47f45e2e671c6a07c272a123b4354946c59a3c..6f1f45cc08888ea47e9b85b6adae1d6158f1de96 100644 --- a/projects/exceeding_snow_loads/result_trends_and_return_levels/plot_selection_curves.py +++ b/projects/exceeding_snow_loads/section_results/plot_selection_curves.py @@ -1,12 +1,10 @@ from typing import Dict -from collections import Counter import matplotlib.pyplot as plt -from experiment.meteo_france_data.scm_models_data.abstract_extended_study import AbstractExtendedStudy from experiment.meteo_france_data.scm_models_data.visualization.utils import create_adjusted_axes -from projects.exceeding_snow_loads.paper_utils import dpi_paper1_figure -from projects.exceeding_snow_loads.study_visualizer_for_non_stationary_trends import StudyVisualizerForNonStationaryTrends -from itertools import chain +from projects.exceeding_snow_loads.utils import dpi_paper1_figure +from extreme_trend_test.visualizers.study_visualizer_for_non_stationary_trends import StudyVisualizerForNonStationaryTrends + def permute(l, permutation): # permutation = [i//2 if i % 2 == 0 else 4 + i //2 for i in range(8)] diff --git a/projects/exceeding_snow_loads/result_trends_and_return_levels/plot_trend_curves.py b/projects/exceeding_snow_loads/section_results/plot_trend_curves.py similarity index 96% rename from projects/exceeding_snow_loads/result_trends_and_return_levels/plot_trend_curves.py rename to projects/exceeding_snow_loads/section_results/plot_trend_curves.py index e2a14d70090440e2abf2288bc57377496fa8b73d..0410a4feced34d7b5b1950954b45b3f7c23c26c1 100644 --- a/projects/exceeding_snow_loads/result_trends_and_return_levels/plot_trend_curves.py +++ b/projects/exceeding_snow_loads/section_results/plot_trend_curves.py @@ -3,8 +3,8 @@ import matplotlib.pyplot as plt from experiment.meteo_france_data.scm_models_data.abstract_extended_study import AbstractExtendedStudy from experiment.meteo_france_data.scm_models_data.visualization.utils import create_adjusted_axes -from projects.exceeding_snow_loads.paper_utils import dpi_paper1_figure -from projects.exceeding_snow_loads.study_visualizer_for_non_stationary_trends import \ +from projects.exceeding_snow_loads.utils import dpi_paper1_figure +from extreme_trend_test.visualizers.study_visualizer_for_non_stationary_trends import \ StudyVisualizerForNonStationaryTrends diff --git a/projects/exceeding_snow_loads/result_trends_and_return_levels/plot_uncertainty_curves.py b/projects/exceeding_snow_loads/section_results/plot_uncertainty_curves.py similarity index 98% rename from projects/exceeding_snow_loads/result_trends_and_return_levels/plot_uncertainty_curves.py rename to projects/exceeding_snow_loads/section_results/plot_uncertainty_curves.py index 8f4d4caac03098e327890650e0b0d6e8381ac064..76666e3d6f9b1aa72809e6d3a57e61cdf9666f77 100644 --- a/projects/exceeding_snow_loads/result_trends_and_return_levels/plot_uncertainty_curves.py +++ b/projects/exceeding_snow_loads/section_results/plot_uncertainty_curves.py @@ -6,9 +6,9 @@ import numpy as np from experiment.eurocode_data.utils import EUROCODE_RETURN_LEVEL_STR, EUROCODE_ALTITUDES, \ YEAR_OF_INTEREST_FOR_RETURN_LEVEL from experiment.meteo_france_data.scm_models_data.abstract_study import AbstractStudy, filled_marker_legend_list2 -from projects.exceeding_snow_loads.paper_utils import dpi_paper1_figure, ModelSubsetForUncertainty -from projects.exceeding_snow_loads.study_visualizer_for_non_stationary_trends import \ - StudyVisualizerForNonStationaryTrends +from projects.exceeding_snow_loads.utils import dpi_paper1_figure +from extreme_trend_test.visualizers.study_visualizer_for_non_stationary_trends import \ + StudyVisualizerForNonStationaryTrends, ModelSubsetForUncertainty from extreme_fit.model.result_from_model_fit.result_from_extremes.abstract_extract_eurocode_return_level import \ AbstractExtractEurocodeReturnLevel from experiment.eurocode_data.massif_name_to_departement import massif_name_to_eurocode_region diff --git a/projects/exceeding_snow_loads/result_trends_and_return_levels/plot_uncertainty_histogram.py b/projects/exceeding_snow_loads/section_results/plot_uncertainty_histogram.py similarity index 93% rename from projects/exceeding_snow_loads/result_trends_and_return_levels/plot_uncertainty_histogram.py rename to projects/exceeding_snow_loads/section_results/plot_uncertainty_histogram.py index 15eb60fc3be2872514781a0bd024d6667796b011..26e73132eb1ee498c65e8bcc07fd3d6016f60d0c 100644 --- a/projects/exceeding_snow_loads/result_trends_and_return_levels/plot_uncertainty_histogram.py +++ b/projects/exceeding_snow_loads/section_results/plot_uncertainty_histogram.py @@ -2,9 +2,9 @@ from typing import Dict import matplotlib.pyplot as plt import numpy as np -from experiment.eurocode_data.utils import EUROCODE_RETURN_LEVEL_STR, EUROCODE_ALTITUDES -from projects.exceeding_snow_loads.paper_utils import dpi_paper1_figure, ModelSubsetForUncertainty -from projects.exceeding_snow_loads.study_visualizer_for_non_stationary_trends import \ +from experiment.eurocode_data.utils import EUROCODE_ALTITUDES +from projects.exceeding_snow_loads.utils import dpi_paper1_figure +from extreme_trend_test.visualizers.study_visualizer_for_non_stationary_trends import \ StudyVisualizerForNonStationaryTrends from extreme_fit.model.result_from_model_fit.result_from_extremes.confidence_interval_method import ci_method_to_color, \ ci_method_to_label, ConfidenceIntervalMethodFromExtremes diff --git a/projects/exceeding_snow_loads/paper_utils.py b/projects/exceeding_snow_loads/utils.py similarity index 88% rename from projects/exceeding_snow_loads/paper_utils.py rename to projects/exceeding_snow_loads/utils.py index a3dc7eff0e3444ef986f881213c2c4127037636f..1a560af56754bf376102b842b88ea5cd9e2fa90e 100644 --- a/projects/exceeding_snow_loads/paper_utils.py +++ b/projects/exceeding_snow_loads/utils.py @@ -24,11 +24,3 @@ NON_STATIONARY_TREND_TEST_PAPER = [GumbelVersusGumbel, GevLocationAgainstGumbel, GevScaleAgainstGumbel, GevLocationAndScaleTrendTestAgainstGumbel] - - -class ModelSubsetForUncertainty(Enum): - stationary_gumbel = 0 - stationary_gumbel_and_gev = 1 - non_stationary_gumbel = 2 - non_stationary_gumbel_and_gev = 3 - stationary_gev = 4 diff --git a/test/test_experiment/test_trend_analysis.py b/test/test_experiment/test_trend_analysis.py index 4b494bd0d75c9224f913bede734c467ff311a609..e5bf0416f074da142635a9a6f66333358d80b1a3 100644 --- a/test/test_experiment/test_trend_analysis.py +++ b/test/test_experiment/test_trend_analysis.py @@ -1,6 +1,6 @@ import unittest -from projects.exceeding_snow_loads.paper_utils import NON_STATIONARY_TREND_TEST_PAPER +from projects.exceeding_snow_loads.utils import NON_STATIONARY_TREND_TEST_PAPER class TestTrendAnalysis(unittest.TestCase):