diff --git a/extreme_trend/one_fold_fit/one_fold_fit.py b/extreme_trend/one_fold_fit/one_fold_fit.py index f98f09e8e1d2765d31ff1f6200975e1a1dc1dceb..d9b6496881fc71ee6abf48ac84daae90fbc135c2 100644 --- a/extreme_trend/one_fold_fit/one_fold_fit.py +++ b/extreme_trend/one_fold_fit/one_fold_fit.py @@ -126,10 +126,7 @@ class OneFoldFit(object): return self.relative_changes_of_moment(altitudes=[self.altitude_plot], order=None)[0] def changes_of_moment(self, altitudes, order=1, covariate_before=None, covariate_after=None): - if covariate_before is None: - covariate_before = self.covariate_before - if covariate_after is None: - covariate_after = self.covariate_after + covariate_after, covariate_before = self.set_covariate_before_and_after(covariate_after, covariate_before) changes = [] for altitude in altitudes: mean_after = self.get_moment(altitude, covariate_after, order) @@ -138,6 +135,13 @@ class OneFoldFit(object): changes.append(change) return changes + def set_covariate_before_and_after(self, covariate_after, covariate_before): + if covariate_before is None: + covariate_before = self.covariate_before + if covariate_after is None: + covariate_after = self.covariate_after + return covariate_after, covariate_before + @property def covariate_before(self): return self._covariate_before_and_after[0] @@ -166,6 +170,7 @@ class OneFoldFit(object): return s def relative_changes_of_moment(self, altitudes, order=1, covariate_before=None, covariate_after=None): + covariate_after, covariate_before = self.set_covariate_before_and_after(covariate_after, covariate_before) relative_changes = [] for altitude in altitudes: mean_after = self.get_moment(altitude, covariate_after, order) diff --git a/projects/past_extreme_snowfall/section_data_and_results/main_altitudes_studies.py b/projects/past_extreme_snowfall/section_data_and_results/main_altitudes_studies.py index d04f3860cd934df83c6f760c0add0398a26aa474..bf260bc55a1023bb0932a6686ec985af8f2ba6c4 100644 --- a/projects/past_extreme_snowfall/section_data_and_results/main_altitudes_studies.py +++ b/projects/past_extreme_snowfall/section_data_and_results/main_altitudes_studies.py @@ -41,18 +41,17 @@ def main(): study_classes = [SafranSnowfall1Day , SafranSnowfall3Days, SafranSnowfall5Days, SafranSnowfall7Days][:1] - study_classes = [SafranSnowfall2020, SafranSnowfall2019, SafranSnowfallCenterOnDay1day, - SafranSnowfallNotCenterOnDay1day, - SafranSnowfallCenterOnDay1dayMeanRate, SafranSnowfall1Day][:1] + # study_classes = [SafranSnowfall2020, SafranSnowfall2019, SafranSnowfallCenterOnDay1day, + # SafranSnowfallNotCenterOnDay1day, + # SafranSnowfallCenterOnDay1dayMeanRate, SafranSnowfall1Day][:1] # study_classes = [SafranSnowfallNotCenterOnDay1day, SafranSnowfall2019] seasons = [Season.annual, Season.winter, Season.spring, Season.automn][:1] set_seed_for_test() - model_must_pass_the_test = True + model_must_pass_the_test = False AbstractExtractEurocodeReturnLevel.ALPHA_CONFIDENCE_INTERVAL_UNCERTAINTY = 0.2 - year_max = 2005 - fast = False + fast = None if fast is None: massif_names = None AbstractExtractEurocodeReturnLevel.NB_BOOTSTRAP = 10 @@ -66,20 +65,20 @@ def main(): altitudes_list = altitudes_for_groups[:] start = time.time() - main_loop(altitudes_list, massif_names, seasons, study_classes, model_must_pass_the_test, year_max=year_max) + main_loop(altitudes_list, massif_names, seasons, study_classes, model_must_pass_the_test) end = time.time() duration = str(datetime.timedelta(seconds=end - start)) print('Total duration', duration) -def main_loop(altitudes_list, massif_names, seasons, study_classes, model_must_pass_the_test, year_max=None): +def main_loop(altitudes_list, massif_names, seasons, study_classes, model_must_pass_the_test): assert isinstance(altitudes_list, List) assert isinstance(altitudes_list[0], List) for season in seasons: for study_class in study_classes: print('Inner loop', season, study_class) visualizer_list = load_visualizer_list(season, study_class, altitudes_list, massif_names, - model_must_pass_the_test, year_max=year_max) + model_must_pass_the_test) plot_visualizers(massif_names, visualizer_list) for visualizer in visualizer_list: plot_visualizer(massif_names, visualizer) @@ -88,11 +87,12 @@ def main_loop(altitudes_list, massif_names, seasons, study_classes, model_must_p def plot_visualizers(massif_names, visualizer_list): + with_significance = False # plot_histogram_all_models_against_altitudes(massif_names, visualizer_list) - plot_histogram_all_trends_against_altitudes(massif_names, visualizer_list, with_significance=False) + plot_histogram_all_trends_against_altitudes(massif_names, visualizer_list, with_significance=with_significance) # plot_shoe_plot_ratio_interval_size_against_altitude(massif_names, visualizer_list) for relative in [True, False]: - plot_shoe_plot_changes_against_altitude(massif_names, visualizer_list, relative=relative, with_significance=False) + plot_shoe_plot_changes_against_altitude(massif_names, visualizer_list, relative=relative, with_significance=with_significance) # plot_coherence_curves(['Vanoise'], visualizer_list) pass