From 28c9d300340c7ec6a96ac388470311b92635c4bc Mon Sep 17 00:00:00 2001 From: Le Roux Erwan <erwan.le-roux@irstea.fr> Date: Thu, 25 Feb 2021 11:52:30 +0100 Subject: [PATCH] [refactor] move altitudes_studies.py. create trend test folder inside extreme_trend. --- .../adamont_data/adamont/adamont_snowfall.py | 8 +- .../deprecated/ensemble_simulation.py | 95 ------------------- .../deprecated/single_simulation.py | 86 ----------------- .../scm_models_data}/altitudes_studies.py | 0 .../ribatet/day_for_the_maxima_v1.py | 11 +-- .../ribatet/day_for_the_maxima_v2.py | 10 +- .../trend_test}/__init__.py | 0 .../abstract_gev_trend_test.py | 0 .../trend_test_one_parameter/__init__.py | 0 ...bstract_comparison_non_stationary_model.py | 5 +- .../gev_trend_test_one_parameter.py | 2 +- .../gumbel_trend_test_one_parameter.py | 2 +- .../trend_test_three_parameters/__init__.py | 0 .../gev_trend_test_three_parameters.py | 2 +- .../trend_test_two_parameters/__init__.py | 0 .../gev_trend_test_two_parameters.py | 4 +- .../gumbel_test_two_parameters.py | 3 +- .../{ => trend_test}/visualizers/__init__.py | 0 ...dy_visualizer_for_non_stationary_trends.py | 11 +-- .../study_visualizer_for_shape_repartition.py | 2 +- .../{ => trend_test}/visualizers/utils.py | 2 +- .../altitudes_fit/main_altitudes_studies.py | 7 +- ...es_visualizer_for_non_stationary_models.py | 16 +--- .../{ => one_fold_analysis}/plots/__init__.py | 0 ...pute_histogram_change_in_total_snowfall.py | 0 .../plots/plot_coherence_curves.py | 0 .../plots/plot_histogram_altitude_studies.py | 42 +------- .../utils_altitude_studies_visualizer.py | 2 +- .../two_fold_datasets_generator.py | 2 +- .../preliminary_analysis.py | 2 +- .../main_gap_altitudes_studies.py | 2 +- .../main_season_repartition_of_maxima.py | 3 +- .../mixed_distribution_impact.py | 2 +- .../qqplot/main_qqplot_for_big_shapes.py | 2 +- .../checks/qqplot/plot_qqplot.py | 2 +- .../checks/uncertainty_interval_size.py | 2 +- ...study_visualizer_for_fit_witout_maximum.py | 2 +- .../main_result_trends_and_return_levels.py | 8 +- .../section_results/main_shape_repartition.py | 4 +- .../section_results/plot_diagnosis_risk.py | 2 +- .../section_results/plot_selection_curves.py | 2 +- .../section_results/plot_trend_curves.py | 2 +- .../plot_uncertainty_curves.py | 4 +- .../plot_uncertainty_histogram.py | 2 +- projects/exceeding_snow_loads/utils.py | 49 ++-------- .../abstract_ensemble_fit.py | 5 +- .../visualizer_for_projection_ensemble.py | 8 +- .../visualizer_for_sensitivity.py | 6 +- .../comparison_historical_visualizer.py | 3 +- .../main_comparison_on_quantile_period.py | 9 +- .../evaluation/main_comparison_reanalysis.py | 2 +- .../main_inquiry_weird_pattern.py | 2 +- .../test_gev_spatio_temporal_extremes_mle.py | 11 +-- ...spatio_temporal_polynomial_extremes_mle.py | 14 --- .../test_gev_temporal_extremes_bayesian.py | 2 +- .../test_gev_temporal_extremes_gumbel.py | 2 +- .../test_gev_temporal_extremes_l_moments.py | 4 +- .../test_gev_temporal_extremes_mle.py | 2 +- ...st_gev_temporal_polynomial_extremes_mle.py | 2 +- ...st_extreme_trend.py => test_trend_test.py} | 12 +-- .../test_one_fold_fit.py | 3 +- .../test_altitudes_studies.py | 2 +- .../test_two_fold_datasets_generator.py | 2 +- .../test_contrasting/test_two_fold_fit.py | 2 +- .../test_exceeding_snow_loads/test_results.py | 9 -- 65 files changed, 84 insertions(+), 420 deletions(-) delete mode 100644 extreme_data/meteo_france_data/adamont_data/deprecated/ensemble_simulation.py delete mode 100644 extreme_data/meteo_france_data/adamont_data/deprecated/single_simulation.py rename {projects/altitude_spatial_model/altitudes_fit => extreme_data/meteo_france_data/scm_models_data}/altitudes_studies.py (100%) rename {extreme_data/meteo_france_data/adamont_data/deprecated => extreme_trend/trend_test}/__init__.py (100%) rename extreme_trend/{ => trend_test}/abstract_gev_trend_test.py (100%) rename extreme_trend/{ => trend_test}/trend_test_one_parameter/__init__.py (100%) rename extreme_trend/{ => trend_test}/trend_test_one_parameter/abstract_comparison_non_stationary_model.py (86%) rename extreme_trend/{ => trend_test}/trend_test_one_parameter/gev_trend_test_one_parameter.py (98%) rename extreme_trend/{ => trend_test}/trend_test_one_parameter/gumbel_trend_test_one_parameter.py (97%) rename extreme_trend/{ => trend_test}/trend_test_three_parameters/__init__.py (100%) rename extreme_trend/{ => trend_test}/trend_test_three_parameters/gev_trend_test_three_parameters.py (97%) rename extreme_trend/{ => trend_test}/trend_test_two_parameters/__init__.py (100%) rename extreme_trend/{ => trend_test}/trend_test_two_parameters/gev_trend_test_two_parameters.py (97%) rename extreme_trend/{ => trend_test}/trend_test_two_parameters/gumbel_test_two_parameters.py (96%) rename extreme_trend/{ => trend_test}/visualizers/__init__.py (100%) rename extreme_trend/{ => trend_test}/visualizers/study_visualizer_for_non_stationary_trends.py (98%) rename extreme_trend/{ => trend_test}/visualizers/study_visualizer_for_shape_repartition.py (93%) rename extreme_trend/{ => trend_test}/visualizers/utils.py (95%) rename projects/altitude_spatial_model/altitudes_fit/{ => one_fold_analysis}/plots/__init__.py (100%) rename projects/altitude_spatial_model/altitudes_fit/{ => one_fold_analysis}/plots/compute_histogram_change_in_total_snowfall.py (100%) rename projects/altitude_spatial_model/altitudes_fit/{ => one_fold_analysis}/plots/plot_coherence_curves.py (100%) rename projects/altitude_spatial_model/altitudes_fit/{ => one_fold_analysis}/plots/plot_histogram_altitude_studies.py (84%) rename projects/altitude_spatial_model/altitudes_fit/{ => one_fold_analysis}/utils_altitude_studies_visualizer.py (96%) rename test/test_extreme_trend/{test_extreme_trend.py => test_trend_test.py} (60%) diff --git a/extreme_data/meteo_france_data/adamont_data/adamont/adamont_snowfall.py b/extreme_data/meteo_france_data/adamont_data/adamont/adamont_snowfall.py index 6f24a261..822136ea 100644 --- a/extreme_data/meteo_france_data/adamont_data/adamont/adamont_snowfall.py +++ b/extreme_data/meteo_france_data/adamont_data/adamont/adamont_snowfall.py @@ -1,13 +1,7 @@ -import numpy as np - from extreme_data.meteo_france_data.adamont_data.abstract_adamont_study import AbstractAdamontStudy -from extreme_data.meteo_france_data.adamont_data.adamont_scenario import AdamontScenario from extreme_data.meteo_france_data.adamont_data.adamont.adamont_variables import \ SafranSnowfallSimulationVariable -from extreme_data.meteo_france_data.scm_models_data.abstract_study import YEAR_MIN, YEAR_MAX -from extreme_data.meteo_france_data.scm_models_data.abstract_variable import AbstractVariable -from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day -from extreme_data.meteo_france_data.scm_models_data.safran.safran_variable import SafranSnowfallVariable +from extreme_data.meteo_france_data.adamont_data.adamont_scenario import AdamontScenario from extreme_data.meteo_france_data.scm_models_data.utils import Season, FrenchRegion diff --git a/extreme_data/meteo_france_data/adamont_data/deprecated/ensemble_simulation.py b/extreme_data/meteo_france_data/adamont_data/deprecated/ensemble_simulation.py deleted file mode 100644 index bde64857..00000000 --- a/extreme_data/meteo_france_data/adamont_data/deprecated/ensemble_simulation.py +++ /dev/null @@ -1,95 +0,0 @@ -import os -from typing import List -import os.path as op - -import numpy as np -from cached_property import cached_property - -from extreme_data.meteo_france_data.adamont_data.deprecated.single_simulation import SingleSimulation - -ADAMONT_PATH = r"/home/erwan/Documents/projects/spatiotemporalextremes/local/spatio_temporal_datasets/ADAMONT" - - -class EnsembleSimulation(object): - - def __init__(self, scenario='HISTO', parameter='SNOWSWE', - first_winter_required_for_histo=1958, last_winter_for_histo=2004): - assert False, 'RE-read the code to take into the new dates' - self.scenario = scenario - self.parameter = parameter - self.first_winter_required_for_histo = first_winter_required_for_histo - self.last_year_for_histo = last_winter_for_histo - - # Assert value for the parameter - assert scenario in ['HISTO', 'RCP45'] - assert parameter in ['SNOWSWE'] - assert first_winter_required_for_histo >= 1950 - assert first_winter_required_for_histo <= 2004 - - # Load simulations - # todo: so far i am using one ensemble member - print('single ensemble member', self.nc_files[0]) - self.simulations = [SingleSimulation(nc_path, self.parameter, - self.first_winter_required_for_histo, - self.last_year_for_histo) for nc_path in self.nc_paths][:1] - - @cached_property - def simulations_path(self): - return op.join(ADAMONT_PATH, self.parameter, self.scenario) - - @cached_property - def nc_paths(self): - return [op.join(ADAMONT_PATH, self.parameter, self.scenario, nc_file) for nc_file in self.nc_files] - - @cached_property - def nc_files(self) -> List[str]: - nc_files = [] - for file in os.listdir(self.simulations_path): - first_year = int(file.split('_')[-3][:4]) - if first_year <= self.first_winter_required_for_histo: - # Also remove the historical simulations that contain "CNRM-CM5" - # Problem reported in "limitations" on their website - # Ce problème affecte toutes lessimulations HISTORIQUE CORDEX - # réalisées en utilisant le forçage CNRM-CM5: CCLM4-8-17: ALADIN53 et RCA4 - if self.scenario == 'HISTO' and 'CNRM-CM5' in file: - print('here', file) - continue - nc_files.append(file) - assert len(nc_files) > 0 - return nc_files - - @cached_property - def simulations_names(self): - return [' + '.join(file.split('_')[2:-5]) for file in self.nc_files] - - def massif_name_and_altitude_to_mean_return_level(self): - return {} - - @property - def first_simulation(self): - return self.simulations[0] - - @property - def massif_name_and_altitude(self): - pass - - @cached_property - def massif_name_and_altitude_to_mean_average_annual_maxima(self): - d = {} - for m, a in self.first_simulation.massif_name_and_altitude_to_average_maxima.keys(): - d[(m, a)] = np.mean([s.massif_name_and_altitude_to_average_maxima[(m, a)] for s in self.simulations]) - return d - - -if __name__ == '__main__': - # np.array(d.variables['SNOWSWE']) - ensemble = EnsembleSimulation(first_winter_required_for_histo=1958) - print(len(ensemble.simulations)) - print(ensemble.simulations_names) - s = ensemble.first_simulation - d = s.dataset - # print(s.massif_name_and_altitude_to_annual_maxima_time_series) - # print(s.massif_name_and_altitude_to_average_maxima) - print(ensemble.massif_name_and_altitude_to_mean_average_annual_maxima) - print(s.years) - # print(d) diff --git a/extreme_data/meteo_france_data/adamont_data/deprecated/single_simulation.py b/extreme_data/meteo_france_data/adamont_data/deprecated/single_simulation.py deleted file mode 100644 index 7ba82ed8..00000000 --- a/extreme_data/meteo_france_data/adamont_data/deprecated/single_simulation.py +++ /dev/null @@ -1,86 +0,0 @@ -from datetime import datetime - -import numpy as np -import os.path as op -from cached_property import cached_property -from netCDF4._netCDF4 import Dataset -from datetime import timedelta - -from extreme_data.meteo_france_data.scm_models_data.abstract_study import AbstractStudy - - -class SingleSimulation(object): - - def __init__(self, nc_path, parameter, fist_year, last_year): - self.fist_year = fist_year - self.last_year = last_year - self.parameter = parameter - self.nc_path = nc_path - - @cached_property - def dataset(self): - return Dataset(self.nc_path) - - @cached_property - def winter_year(self): - start = datetime(year=1900, month=1, day=1, hour=0, minute=0, second=0) - seconds_after_start = np.array(self.dataset.variables['TIME']) - dates = [start + timedelta(seconds=s) for s in seconds_after_start] - winter_year = [date.year - 1 if date.month < 8 else date.year for date in dates] - return np.array(winter_year) - - @cached_property - def years(self): - return sorted([year for year in set(self.winter_year) if self.fist_year <= year <= self.last_year]) - - def massif_name_and_altitude_to_return_level(self): - return {} - - @property - def massif_number_to_massif_name(self): - # from adamont_data metadata - s = """1 Chablais - 2 Aravis - 3 Mont-Blanc - 4 Bauges - 5 Beaufortain - 6 Haute-Tarentaise - 7 Chartreuse - 8 Belledonne - 9 Maurienne - 10 Vanoise - 11 Haute-Maurienne - 12 Grandes-Rousses - 13 Thabor - 14 Vercors - 15 Oisans - 16 Pelvoux - 17 Queyras - 18 Devoluy - 19 Champsaur - 20 Parpaillon - 21 Ubaye - 22 Haut_Var-Haut_Verdon - 23 Mercantour""" - l = s.split('\n') - return dict([e.split() for e in l]) - - @cached_property - def massif_name_and_altitude_to_annual_maxima_time_series(self): - all_values = np.array(self.dataset.variables[self.parameter]) - zs_list = [int(e) for e in np.array(self.dataset.variables['ZS'])] - massif_number_list = np.array(self.dataset.variables['MASSIF_NUMBER']) - massif_name_list = [self.massif_number_to_massif_name[str(n)] for n in massif_number_list] - d = {} - for year in self.years: - indexes = np.where(self.winter_year == year)[0] - winter_values = all_values[indexes, 0, :] - assert len(winter_values) in [365, 366] - for time_serie, zs, massif_name in zip(winter_values.transpose(), zs_list, massif_name_list): - # print(zs, massif_name, len(time_serie)) - d[(massif_name, zs)] = time_serie - return d - - @cached_property - def massif_name_and_altitude_to_average_maxima(self): - return {t: np.mean(s) for t, s in self.massif_name_and_altitude_to_annual_maxima_time_series.items()} diff --git a/projects/altitude_spatial_model/altitudes_fit/altitudes_studies.py b/extreme_data/meteo_france_data/scm_models_data/altitudes_studies.py similarity index 100% rename from projects/altitude_spatial_model/altitudes_fit/altitudes_studies.py rename to extreme_data/meteo_france_data/scm_models_data/altitudes_studies.py diff --git a/extreme_data/meteo_france_data/scm_models_data/case_studies/ribatet/day_for_the_maxima_v1.py b/extreme_data/meteo_france_data/scm_models_data/case_studies/ribatet/day_for_the_maxima_v1.py index f11d41fe..a19f68f7 100644 --- a/extreme_data/meteo_france_data/scm_models_data/case_studies/ribatet/day_for_the_maxima_v1.py +++ b/extreme_data/meteo_france_data/scm_models_data/case_studies/ribatet/day_for_the_maxima_v1.py @@ -1,16 +1,9 @@ import pandas as pd -import numpy as np -import xlsxwriter - -from extreme_data.meteo_france_data.scm_models_data.abstract_study import AbstractStudy -from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusDepth, CrocusSwe3Days -from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day, SafranSnowfall3Days -from extreme_data.meteo_france_data.scm_models_data.utils import FrenchRegion +from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day from extreme_data.meteo_france_data.scm_models_data.visualization.main_study_visualizer import \ SCM_STUDY_CLASS_TO_ABBREVIATION -from extreme_fit.estimator.margin_estimator.utils import fitted_stationary_gev -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies +from extreme_data.meteo_france_data.scm_models_data.altitudes_studies import AltitudesStudies def generate_excel_with_annual_maxima(fast=True, maxima_dates=False): diff --git a/extreme_data/meteo_france_data/scm_models_data/case_studies/ribatet/day_for_the_maxima_v2.py b/extreme_data/meteo_france_data/scm_models_data/case_studies/ribatet/day_for_the_maxima_v2.py index 89bc87c4..6b9359d6 100644 --- a/extreme_data/meteo_france_data/scm_models_data/case_studies/ribatet/day_for_the_maxima_v2.py +++ b/extreme_data/meteo_france_data/scm_models_data/case_studies/ribatet/day_for_the_maxima_v2.py @@ -1,16 +1,10 @@ import pandas as pd import numpy as np -import xlsxwriter - -from extreme_data.meteo_france_data.scm_models_data.abstract_study import AbstractStudy -from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusDepth, CrocusSwe3Days -from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day, SafranSnowfall3Days -from extreme_data.meteo_france_data.scm_models_data.utils import FrenchRegion +from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day from extreme_data.meteo_france_data.scm_models_data.visualization.main_study_visualizer import \ SCM_STUDY_CLASS_TO_ABBREVIATION -from extreme_fit.estimator.margin_estimator.utils import fitted_stationary_gev -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies +from extreme_data.meteo_france_data.scm_models_data.altitudes_studies import AltitudesStudies def generate_excel_with_annual_maxima(fast=True, maxima_dates=False): diff --git a/extreme_data/meteo_france_data/adamont_data/deprecated/__init__.py b/extreme_trend/trend_test/__init__.py similarity index 100% rename from extreme_data/meteo_france_data/adamont_data/deprecated/__init__.py rename to extreme_trend/trend_test/__init__.py diff --git a/extreme_trend/abstract_gev_trend_test.py b/extreme_trend/trend_test/abstract_gev_trend_test.py similarity index 100% rename from extreme_trend/abstract_gev_trend_test.py rename to extreme_trend/trend_test/abstract_gev_trend_test.py diff --git a/extreme_trend/trend_test_one_parameter/__init__.py b/extreme_trend/trend_test/trend_test_one_parameter/__init__.py similarity index 100% rename from extreme_trend/trend_test_one_parameter/__init__.py rename to extreme_trend/trend_test/trend_test_one_parameter/__init__.py diff --git a/extreme_trend/trend_test_one_parameter/abstract_comparison_non_stationary_model.py b/extreme_trend/trend_test/trend_test_one_parameter/abstract_comparison_non_stationary_model.py similarity index 86% rename from extreme_trend/trend_test_one_parameter/abstract_comparison_non_stationary_model.py rename to extreme_trend/trend_test/trend_test_one_parameter/abstract_comparison_non_stationary_model.py index cbf6789a..d73123f3 100644 --- a/extreme_trend/trend_test_one_parameter/abstract_comparison_non_stationary_model.py +++ b/extreme_trend/trend_test/trend_test_one_parameter/abstract_comparison_non_stationary_model.py @@ -1,12 +1,11 @@ from extreme_data.eurocode_data.utils import EUROCODE_QUANTILE -from extreme_trend.trend_test_one_parameter.gev_trend_test_one_parameter import \ +from extreme_trend.trend_test.trend_test_one_parameter.gev_trend_test_one_parameter import \ GevTrendTestOneParameter -from extreme_trend.trend_test_two_parameters.gev_trend_test_two_parameters import GevLocationAndScaleTrendTest +from extreme_trend.trend_test.trend_test_two_parameters import GevLocationAndScaleTrendTest from extreme_fit.model.margin_model.utils import \ MarginFitMethod from extreme_fit.model.margin_model.linear_margin_model.temporal_linear_margin_models import \ NonStationaryLocationTemporalModel, NonStationaryScaleTemporalModel -import numpy as np class AbstractComparisonNonStationaryModelOneParameter(GevTrendTestOneParameter): diff --git a/extreme_trend/trend_test_one_parameter/gev_trend_test_one_parameter.py b/extreme_trend/trend_test/trend_test_one_parameter/gev_trend_test_one_parameter.py similarity index 98% rename from extreme_trend/trend_test_one_parameter/gev_trend_test_one_parameter.py rename to extreme_trend/trend_test/trend_test_one_parameter/gev_trend_test_one_parameter.py index 41224214..775c406c 100644 --- a/extreme_trend/trend_test_one_parameter/gev_trend_test_one_parameter.py +++ b/extreme_trend/trend_test/trend_test_one_parameter/gev_trend_test_one_parameter.py @@ -1,5 +1,5 @@ from extreme_data.eurocode_data.utils import EUROCODE_QUANTILE -from extreme_trend.abstract_gev_trend_test import AbstractGevTrendTest +from extreme_trend.trend_test.abstract_gev_trend_test import AbstractGevTrendTest from extreme_fit.model.margin_model.utils import \ MarginFitMethod from extreme_fit.model.margin_model.linear_margin_model.temporal_linear_margin_models import \ diff --git a/extreme_trend/trend_test_one_parameter/gumbel_trend_test_one_parameter.py b/extreme_trend/trend_test/trend_test_one_parameter/gumbel_trend_test_one_parameter.py similarity index 97% rename from extreme_trend/trend_test_one_parameter/gumbel_trend_test_one_parameter.py rename to extreme_trend/trend_test/trend_test_one_parameter/gumbel_trend_test_one_parameter.py index b9a06606..3186a3b9 100644 --- a/extreme_trend/trend_test_one_parameter/gumbel_trend_test_one_parameter.py +++ b/extreme_trend/trend_test/trend_test_one_parameter/gumbel_trend_test_one_parameter.py @@ -1,6 +1,6 @@ # Comparison with the Gumbel model from extreme_data.eurocode_data.utils import EUROCODE_QUANTILE -from extreme_trend.trend_test_one_parameter.gev_trend_test_one_parameter import \ +from extreme_trend.trend_test.trend_test_one_parameter.gev_trend_test_one_parameter import \ GevTrendTestOneParameter, GevTrendTestOneParameterAgainstStationary from extreme_fit.distribution.gev.gev_params import GevParams from extreme_fit.model.margin_model.utils import \ diff --git a/extreme_trend/trend_test_three_parameters/__init__.py b/extreme_trend/trend_test/trend_test_three_parameters/__init__.py similarity index 100% rename from extreme_trend/trend_test_three_parameters/__init__.py rename to extreme_trend/trend_test/trend_test_three_parameters/__init__.py diff --git a/extreme_trend/trend_test_three_parameters/gev_trend_test_three_parameters.py b/extreme_trend/trend_test/trend_test_three_parameters/gev_trend_test_three_parameters.py similarity index 97% rename from extreme_trend/trend_test_three_parameters/gev_trend_test_three_parameters.py rename to extreme_trend/trend_test/trend_test_three_parameters/gev_trend_test_three_parameters.py index 6e0ac523..2f35f13b 100644 --- a/extreme_trend/trend_test_three_parameters/gev_trend_test_three_parameters.py +++ b/extreme_trend/trend_test/trend_test_three_parameters/gev_trend_test_three_parameters.py @@ -3,7 +3,7 @@ from extreme_fit.model.margin_model.polynomial_margin_model.polynomial_margin_mo from extreme_fit.model.margin_model.utils import \ MarginFitMethod from extreme_data.eurocode_data.utils import EUROCODE_QUANTILE -from extreme_trend.abstract_gev_trend_test import AbstractGevTrendTest +from extreme_trend.trend_test.abstract_gev_trend_test import AbstractGevTrendTest from extreme_fit.model.margin_model.linear_margin_model.temporal_linear_margin_models import \ NonStationaryLocationAndScaleTemporalModel, GumbelTemporalModel, StationaryTemporalModel, \ NonStationaryLocationAndScaleAndShapeTemporalModel diff --git a/extreme_trend/trend_test_two_parameters/__init__.py b/extreme_trend/trend_test/trend_test_two_parameters/__init__.py similarity index 100% rename from extreme_trend/trend_test_two_parameters/__init__.py rename to extreme_trend/trend_test/trend_test_two_parameters/__init__.py diff --git a/extreme_trend/trend_test_two_parameters/gev_trend_test_two_parameters.py b/extreme_trend/trend_test/trend_test_two_parameters/gev_trend_test_two_parameters.py similarity index 97% rename from extreme_trend/trend_test_two_parameters/gev_trend_test_two_parameters.py rename to extreme_trend/trend_test/trend_test_two_parameters/gev_trend_test_two_parameters.py index ee2d0a83..96d765c1 100644 --- a/extreme_trend/trend_test_two_parameters/gev_trend_test_two_parameters.py +++ b/extreme_trend/trend_test/trend_test_two_parameters/gev_trend_test_two_parameters.py @@ -1,8 +1,8 @@ from extreme_data.eurocode_data.utils import EUROCODE_QUANTILE from extreme_fit.model.margin_model.polynomial_margin_model.polynomial_margin_model import NonStationaryQuadraticLocationModel, \ NonStationaryQuadraticScaleModel -from extreme_trend.abstract_gev_trend_test import AbstractGevTrendTest -from extreme_trend.trend_test_one_parameter.gev_trend_test_one_parameter import \ +from extreme_trend.trend_test.abstract_gev_trend_test import AbstractGevTrendTest +from extreme_trend.trend_test.trend_test_one_parameter.gev_trend_test_one_parameter import \ GevLocationTrendTest, GevScaleTrendTest from extreme_fit.model.margin_model.utils import \ MarginFitMethod diff --git a/extreme_trend/trend_test_two_parameters/gumbel_test_two_parameters.py b/extreme_trend/trend_test/trend_test_two_parameters/gumbel_test_two_parameters.py similarity index 96% rename from extreme_trend/trend_test_two_parameters/gumbel_test_two_parameters.py rename to extreme_trend/trend_test/trend_test_two_parameters/gumbel_test_two_parameters.py index e62ccdac..4a78adeb 100644 --- a/extreme_trend/trend_test_two_parameters/gumbel_test_two_parameters.py +++ b/extreme_trend/trend_test/trend_test_two_parameters/gumbel_test_two_parameters.py @@ -1,13 +1,12 @@ from extreme_data.eurocode_data.utils import EUROCODE_QUANTILE from extreme_fit.model.margin_model.polynomial_margin_model.polynomial_margin_model import \ NonStationaryQuadraticLocationGumbelModel, NonStationaryQuadraticScaleGumbelModel -from extreme_trend.trend_test_two_parameters.gev_trend_test_two_parameters import \ - GevTrendTestTwoParameters from extreme_fit.distribution.gev.gev_params import GevParams from extreme_fit.model.margin_model.utils import \ MarginFitMethod from extreme_fit.model.margin_model.linear_margin_model.temporal_linear_margin_models import \ NonStationaryLocationAndScaleGumbelModel, GumbelTemporalModel +from extreme_trend.trend_test.trend_test_two_parameters.gev_trend_test_two_parameters import GevTrendTestTwoParameters from root_utils import classproperty diff --git a/extreme_trend/visualizers/__init__.py b/extreme_trend/trend_test/visualizers/__init__.py similarity index 100% rename from extreme_trend/visualizers/__init__.py rename to extreme_trend/trend_test/visualizers/__init__.py diff --git a/extreme_trend/visualizers/study_visualizer_for_non_stationary_trends.py b/extreme_trend/trend_test/visualizers/study_visualizer_for_non_stationary_trends.py similarity index 98% rename from extreme_trend/visualizers/study_visualizer_for_non_stationary_trends.py rename to extreme_trend/trend_test/visualizers/study_visualizer_for_non_stationary_trends.py index 683a73bd..0222959b 100644 --- a/extreme_trend/visualizers/study_visualizer_for_non_stationary_trends.py +++ b/extreme_trend/trend_test/visualizers/study_visualizer_for_non_stationary_trends.py @@ -1,7 +1,7 @@ from collections import OrderedDict, Counter from enum import Enum from multiprocessing.pool import Pool -from typing import Dict, List, Tuple +from typing import Dict, List import matplotlib.pyplot as plt import numpy as np @@ -18,15 +18,10 @@ from extreme_data.meteo_france_data.scm_models_data.abstract_study import Abstra from extreme_data.meteo_france_data.scm_models_data.visualization.study_visualizer import \ StudyVisualizer from projects.exceeding_snow_loads.utils import NON_STATIONARY_TREND_TEST_PAPER_1, ALTITUDE_TO_GREY_MASSIF -from extreme_trend.abstract_gev_trend_test import AbstractGevTrendTest -from extreme_trend.trend_test_one_parameter.gumbel_trend_test_one_parameter import \ - GumbelLocationTrendTest, GevStationaryVersusGumbel, GumbelScaleTrendTest, GumbelVersusGumbel -from extreme_trend.trend_test_two_parameters.gumbel_test_two_parameters import \ - GumbelLocationAndScaleTrendTest +from extreme_trend.trend_test.abstract_gev_trend_test import AbstractGevTrendTest from extreme_fit.model.margin_model.utils import \ MarginFitMethod -from extreme_fit.model.margin_model.linear_margin_model.temporal_linear_margin_models import GumbelTemporalModel, \ - StationaryTemporalModel +from extreme_fit.model.margin_model.linear_margin_model.temporal_linear_margin_models import GumbelTemporalModel from extreme_fit.model.result_from_model_fit.result_from_extremes.confidence_interval_method import \ ConfidenceIntervalMethodFromExtremes from extreme_fit.model.result_from_model_fit.result_from_extremes.eurocode_return_level_uncertainties import \ diff --git a/extreme_trend/visualizers/study_visualizer_for_shape_repartition.py b/extreme_trend/trend_test/visualizers/study_visualizer_for_shape_repartition.py similarity index 93% rename from extreme_trend/visualizers/study_visualizer_for_shape_repartition.py rename to extreme_trend/trend_test/visualizers/study_visualizer_for_shape_repartition.py index 901754e8..b4f4113a 100644 --- a/extreme_trend/visualizers/study_visualizer_for_shape_repartition.py +++ b/extreme_trend/trend_test/visualizers/study_visualizer_for_shape_repartition.py @@ -3,7 +3,7 @@ from cached_property import cached_property from extreme_data.meteo_france_data.scm_models_data.visualization.create_shifted_cmap import get_shifted_map from extreme_data.meteo_france_data.scm_models_data.abstract_study import AbstractStudy -from extreme_trend.visualizers.study_visualizer_for_non_stationary_trends import \ +from extreme_trend.trend_test.visualizers import \ StudyVisualizerForNonStationaryTrends diff --git a/extreme_trend/visualizers/utils.py b/extreme_trend/trend_test/visualizers/utils.py similarity index 95% rename from extreme_trend/visualizers/utils.py rename to extreme_trend/trend_test/visualizers/utils.py index 01c1b76b..62a4a85f 100644 --- a/extreme_trend/visualizers/utils.py +++ b/extreme_trend/trend_test/visualizers/utils.py @@ -3,7 +3,7 @@ from collections import OrderedDict from extreme_data.meteo_france_data.scm_models_data.utils import Season, FrenchRegion from extreme_fit.model.margin_model.utils import \ MarginFitMethod -from extreme_trend.visualizers.study_visualizer_for_non_stationary_trends import \ +from extreme_trend.trend_test.visualizers import \ StudyVisualizerForNonStationaryTrends diff --git a/projects/altitude_spatial_model/altitudes_fit/main_altitudes_studies.py b/projects/altitude_spatial_model/altitudes_fit/main_altitudes_studies.py index 2209091f..accae7e1 100644 --- a/projects/altitude_spatial_model/altitudes_fit/main_altitudes_studies.py +++ b/projects/altitude_spatial_model/altitudes_fit/main_altitudes_studies.py @@ -10,7 +10,7 @@ mpl.rcParams['text.latex.preamble'] = [r'\usepackage{amsmath}'] import matplotlib matplotlib.use('Agg') -from projects.altitude_spatial_model.altitudes_fit.plots.plot_histogram_altitude_studies import \ +from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.plots.plot_histogram_altitude_studies import \ plot_shoe_plot_changes_against_altitude, plot_histogram_all_trends_against_altitudes, \ plot_histogram_all_models_against_altitudes @@ -20,11 +20,11 @@ from extreme_fit.model.result_from_model_fit.result_from_extremes.abstract_extra from extreme_fit.model.utils import set_seed_for_test -from projects.altitude_spatial_model.altitudes_fit.plots.plot_coherence_curves import plot_coherence_curves +from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.plots.plot_coherence_curves import plot_coherence_curves -from projects.altitude_spatial_model.altitudes_fit.utils_altitude_studies_visualizer import load_visualizer_list +from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.utils_altitude_studies_visualizer import load_visualizer_list from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.altitude_group import altitudes_for_groups @@ -85,7 +85,6 @@ def plot_visualizers(massif_names, visualizer_list): # 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) - # plot_coherence_curves(massif_names, visualizer_list) plot_coherence_curves(['Vanoise'], visualizer_list) pass diff --git a/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/altitudes_studies_visualizer_for_non_stationary_models.py b/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/altitudes_studies_visualizer_for_non_stationary_models.py index ffe76956..9e06b14b 100644 --- a/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/altitudes_studies_visualizer_for_non_stationary_models.py +++ b/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/altitudes_studies_visualizer_for_non_stationary_models.py @@ -1,20 +1,16 @@ from collections import Counter from math import ceil, floor -from multiprocessing import Pool from typing import List, Dict import matplotlib import matplotlib.pyplot as plt import numpy as np -from cached_property import cached_property -from extreme_data.meteo_france_data.scm_models_data.abstract_study import AbstractStudy -from extreme_data.meteo_france_data.scm_models_data.visualization.create_shifted_cmap import get_shifted_map, \ - get_colors, ticks_values_and_labels_for_percentages, get_half_colormap, ticks_values_and_labels_for_positive_value, \ - get_inverse_colormap, get_cmap_with_inverted_blue_and_green_channels, remove_the_extreme_colors +from extreme_data.meteo_france_data.scm_models_data.visualization.create_shifted_cmap import get_inverse_colormap, \ + remove_the_extreme_colors from extreme_data.meteo_france_data.scm_models_data.visualization.main_study_visualizer import \ - SCM_STUDY_CLASS_TO_ABBREVIATION, ALL_ALTITUDES_WITHOUT_NAN + SCM_STUDY_CLASS_TO_ABBREVIATION from extreme_data.meteo_france_data.scm_models_data.visualization.plot_utils import plot_against_altitude from extreme_data.meteo_france_data.scm_models_data.visualization.study_visualizer import StudyVisualizer from extreme_fit.distribution.gev.gev_params import GevParams @@ -23,16 +19,14 @@ from extreme_fit.function.param_function.linear_coef import LinearCoef from extreme_fit.model.margin_model.polynomial_margin_model.spatio_temporal_polynomial_model import \ AbstractSpatioTemporalPolynomialModel from extreme_fit.model.margin_model.utils import MarginFitMethod -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies +from extreme_data.meteo_france_data.scm_models_data.altitudes_studies import AltitudesStudies from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.altitude_group import \ - get_altitude_group_from_altitudes, HighAltitudeGroup, VeyHighAltitudeGroup, MidAltitudeGroup + get_altitude_group_from_altitudes, VeyHighAltitudeGroup, MidAltitudeGroup from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.one_fold_fit import \ OneFoldFit -from root_utils import NB_CORES from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates from spatio_temporal_dataset.coordinates.temporal_coordinates.abstract_temporal_covariate_for_fit import \ AnomalyTemperatureTemporalCovariate -from spatio_temporal_dataset.dataset.abstract_dataset import AbstractDataset class AltitudesStudiesVisualizerForNonStationaryModels(StudyVisualizer): diff --git a/projects/altitude_spatial_model/altitudes_fit/plots/__init__.py b/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/plots/__init__.py similarity index 100% rename from projects/altitude_spatial_model/altitudes_fit/plots/__init__.py rename to projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/plots/__init__.py diff --git a/projects/altitude_spatial_model/altitudes_fit/plots/compute_histogram_change_in_total_snowfall.py b/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/plots/compute_histogram_change_in_total_snowfall.py similarity index 100% rename from projects/altitude_spatial_model/altitudes_fit/plots/compute_histogram_change_in_total_snowfall.py rename to projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/plots/compute_histogram_change_in_total_snowfall.py diff --git a/projects/altitude_spatial_model/altitudes_fit/plots/plot_coherence_curves.py b/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/plots/plot_coherence_curves.py similarity index 100% rename from projects/altitude_spatial_model/altitudes_fit/plots/plot_coherence_curves.py rename to projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/plots/plot_coherence_curves.py diff --git a/projects/altitude_spatial_model/altitudes_fit/plots/plot_histogram_altitude_studies.py b/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/plots/plot_histogram_altitude_studies.py similarity index 84% rename from projects/altitude_spatial_model/altitudes_fit/plots/plot_histogram_altitude_studies.py rename to projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/plots/plot_histogram_altitude_studies.py index 394d25f7..98f4949f 100644 --- a/projects/altitude_spatial_model/altitudes_fit/plots/plot_histogram_altitude_studies.py +++ b/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/plots/plot_histogram_altitude_studies.py @@ -1,4 +1,3 @@ -import math from typing import List import numpy as np @@ -17,7 +16,7 @@ from extreme_fit.model.result_from_model_fit.result_from_extremes.abstract_extra from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.altitudes_studies_visualizer_for_non_stationary_models import \ AltitudesStudiesVisualizerForNonStationaryModels from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.one_fold_fit import OneFoldFit -from projects.altitude_spatial_model.altitudes_fit.plots.compute_histogram_change_in_total_snowfall import \ +from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.plots.compute_histogram_change_in_total_snowfall import \ compute_changes_in_total_snowfall @@ -43,45 +42,6 @@ def plot_histogram_all_models_against_altitudes(massif_names, visualizer_list: L print(model_name_to_mean_percentage[model_name], model_name_to_mean_percentage_significant[model_name], model_name) - # # Plot part - # ax = plt.gca() - # width = 5 - # size = 8 - # legend_fontsize = 10 - # labelsize = 10 - # linewidth = 1 - # tick_list = np.array([((len(visualizer_list) + 2) * i + (1 + len(visualizer_list) / 2)) * width - # for i in range(len(sorted_model_names))]) - # for tick_middle, model_name in zip(tick_list, sorted_model_names): - # x_shifted = [tick_middle + width * shift / 2 for shift in range(-3, 5, 2)] - # percentages = model_name_to_percentages[model_name] - # percentages_significant = model_name_to_percentages_significant[model_name] - # colors = ['white', 'yellow', 'orange', 'red'] - # labels = ['{} m - {} m (\% out of {} massifs)'.format(1000 * i, 1000 * (i + 1), - # len(v.get_valid_names(massif_names))) for i, v in - # enumerate(visualizer_list)] - # for x, color, percentage, label, percentage_significant in zip(x_shifted, colors, percentages, labels, - # percentages_significant): - # ax.bar([x], [percentage], width=width, label=label, - # linewidth=2 * linewidth, edgecolor='black', color=color) - # heights = list(range(0, math.ceil(percentage_significant), 1))[::-1] - # for height in heights: - # ax.bar([x], [height], width=width, linewidth=linewidth, edgecolor='black', color=color) - # - # handles, labels = ax.get_legend_handles_labels() - # ax.legend(handles[:len(visualizer_list)], labels[:len(visualizer_list)], prop={'size': size}) - # ax.set_xticklabels(sorted_model_names) - # ax.set_xticks(tick_list) - # ax.set_ylabel('Percentage of massifs (\%) ', fontsize=legend_fontsize) - # ax.set_xlabel('Models', fontsize=legend_fontsize) - # ax.set_ylim(bottom=0) - # ax.yaxis.grid() - # ax.tick_params(axis='both', which='major', labelsize=labelsize) - # - # visualizer.plot_name = 'All models' - # visualizer.show_or_save_to_file(add_classic_title=False, no_title=True) - # plt.close() - def plot_histogram_all_trends_against_altitudes(massif_names, visualizer_list: List[ AltitudesStudiesVisualizerForNonStationaryModels], with_significance=True): diff --git a/projects/altitude_spatial_model/altitudes_fit/utils_altitude_studies_visualizer.py b/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/utils_altitude_studies_visualizer.py similarity index 96% rename from projects/altitude_spatial_model/altitudes_fit/utils_altitude_studies_visualizer.py rename to projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/utils_altitude_studies_visualizer.py index 48463452..526f486b 100644 --- a/projects/altitude_spatial_model/altitudes_fit/utils_altitude_studies_visualizer.py +++ b/projects/altitude_spatial_model/altitudes_fit/one_fold_analysis/utils_altitude_studies_visualizer.py @@ -1,6 +1,6 @@ from extreme_fit.model.margin_model.polynomial_margin_model.utils import \ ALTITUDINAL_GEV_MODELS_BASED_ON_POINTWISE_ANALYSIS -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies +from extreme_data.meteo_france_data.scm_models_data.altitudes_studies import AltitudesStudies from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.altitudes_studies_visualizer_for_non_stationary_models import \ AltitudesStudiesVisualizerForNonStationaryModels diff --git a/projects/altitude_spatial_model/altitudes_fit/two_fold_analysis/two_fold_datasets_generator.py b/projects/altitude_spatial_model/altitudes_fit/two_fold_analysis/two_fold_datasets_generator.py index 024adfce..7864f6f9 100644 --- a/projects/altitude_spatial_model/altitudes_fit/two_fold_analysis/two_fold_datasets_generator.py +++ b/projects/altitude_spatial_model/altitudes_fit/two_fold_analysis/two_fold_datasets_generator.py @@ -2,7 +2,7 @@ from typing import Tuple, Dict, List from cached_property import cached_property -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies +from extreme_data.meteo_france_data.scm_models_data.altitudes_studies import AltitudesStudies from spatio_temporal_dataset.dataset.abstract_dataset import AbstractDataset from spatio_temporal_dataset.slicer.split import invert_s_split diff --git a/projects/altitude_spatial_model/preliminary_analysis.py b/projects/altitude_spatial_model/preliminary_analysis.py index 62987291..c0fb5408 100644 --- a/projects/altitude_spatial_model/preliminary_analysis.py +++ b/projects/altitude_spatial_model/preliminary_analysis.py @@ -13,7 +13,7 @@ from extreme_data.meteo_france_data.scm_models_data.visualization.plot_utils imp from extreme_data.meteo_france_data.scm_models_data.visualization.study_visualizer import StudyVisualizer from extreme_fit.distribution.gev.gev_params import GevParams from extreme_fit.utils import fit_linear_regression -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies +from extreme_data.meteo_france_data.scm_models_data.altitudes_studies import AltitudesStudies from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.altitude_group import altitudes_for_groups diff --git a/projects/archive/gap_between_my_safran2019_and_safran_2019/main_gap_altitudes_studies.py b/projects/archive/gap_between_my_safran2019_and_safran_2019/main_gap_altitudes_studies.py index 1341d0ce..add2d229 100644 --- a/projects/archive/gap_between_my_safran2019_and_safran_2019/main_gap_altitudes_studies.py +++ b/projects/archive/gap_between_my_safran2019_and_safran_2019/main_gap_altitudes_studies.py @@ -7,7 +7,7 @@ import matplotlib from extreme_data.meteo_france_data.scm_models_data.safran.gap_between_study import GapBetweenSafranSnowfall2019And2020, \ GapBetweenSafranSnowfall2019AndMySafranSnowfall2019Recentered, \ GapBetweenSafranSnowfall2019AndMySafranSnowfall2019NotRecentered -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies +from extreme_data.meteo_france_data.scm_models_data.altitudes_studies import AltitudesStudies matplotlib.use('Agg') diff --git a/projects/archive/seasonal_analysis/main_season_repartition_of_maxima.py b/projects/archive/seasonal_analysis/main_season_repartition_of_maxima.py index c56e7e67..36521cdc 100644 --- a/projects/archive/seasonal_analysis/main_season_repartition_of_maxima.py +++ b/projects/archive/seasonal_analysis/main_season_repartition_of_maxima.py @@ -5,8 +5,7 @@ import calendar import numpy as np from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day -from extreme_data.meteo_france_data.scm_models_data.visualization.study_visualizer import StudyVisualizer -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies +from extreme_data.meteo_france_data.scm_models_data.altitudes_studies import AltitudesStudies from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.altitude_group import altitudes_for_groups, \ get_altitude_group_from_altitudes diff --git a/projects/exceeding_snow_loads/checks/mixed_distribution/mixed_distribution_impact.py b/projects/exceeding_snow_loads/checks/mixed_distribution/mixed_distribution_impact.py index 1eeb3851..0878ab8b 100644 --- a/projects/exceeding_snow_loads/checks/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 extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal -from extreme_trend.visualizers.study_visualizer_for_non_stationary_trends import StudyVisualizerForNonStationaryTrends +from extreme_trend.trend_test.visualizers import StudyVisualizerForNonStationaryTrends def mix_dsitrbution_impact(): diff --git a/projects/exceeding_snow_loads/checks/qqplot/main_qqplot_for_big_shapes.py b/projects/exceeding_snow_loads/checks/qqplot/main_qqplot_for_big_shapes.py index 459b93eb..72c332a8 100644 --- a/projects/exceeding_snow_loads/checks/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 extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal from extreme_data.meteo_france_data.scm_models_data.visualization.main_study_visualizer import \ ALL_ALTITUDES_WITHOUT_NAN -from extreme_trend.visualizers.study_visualizer_for_non_stationary_trends import \ +from extreme_trend.trend_test.visualizers import \ StudyVisualizerForNonStationaryTrends diff --git a/projects/exceeding_snow_loads/checks/qqplot/plot_qqplot.py b/projects/exceeding_snow_loads/checks/qqplot/plot_qqplot.py index 762f45f5..0d5edcd0 100644 --- a/projects/exceeding_snow_loads/checks/qqplot/plot_qqplot.py +++ b/projects/exceeding_snow_loads/checks/qqplot/plot_qqplot.py @@ -11,7 +11,7 @@ from extreme_fit.model.margin_model.utils import \ MarginFitMethod from extreme_fit.model.result_from_model_fit.result_from_extremes.abstract_extract_eurocode_return_level import \ AbstractExtractEurocodeReturnLevel -from extreme_trend.visualizers.study_visualizer_for_non_stationary_trends import \ +from extreme_trend.trend_test.visualizers import \ StudyVisualizerForNonStationaryTrends from extreme_fit.distribution.gev.gev_params import GevParams from projects.exceeding_snow_loads.section_data.main_example_swe_total_plot import tuples_for_examples_paper1 diff --git a/projects/exceeding_snow_loads/checks/uncertainty_interval_size.py b/projects/exceeding_snow_loads/checks/uncertainty_interval_size.py index 05cd8c07..350a13c6 100644 --- a/projects/exceeding_snow_loads/checks/uncertainty_interval_size.py +++ b/projects/exceeding_snow_loads/checks/uncertainty_interval_size.py @@ -3,7 +3,7 @@ from typing import Dict import pandas as pd from extreme_data.eurocode_data.utils import EUROCODE_ALTITUDES -from extreme_trend.visualizers.study_visualizer_for_non_stationary_trends import \ +from extreme_trend.trend_test.visualizers import \ StudyVisualizerForNonStationaryTrends, ModelSubsetForUncertainty diff --git a/projects/exceeding_snow_loads/checks/without_maximum/study_visualizer_for_fit_witout_maximum.py b/projects/exceeding_snow_loads/checks/without_maximum/study_visualizer_for_fit_witout_maximum.py index c33fb52e..ee5dc723 100644 --- a/projects/exceeding_snow_loads/checks/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 extreme_data.meteo_france_data.scm_models_data.abstract_study import AbstractStudy -from extreme_trend.visualizers.study_visualizer_for_non_stationary_trends import \ +from extreme_trend.trend_test.visualizers import \ StudyVisualizerForNonStationaryTrends 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 cf18102b..74e3698c 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 @@ -2,9 +2,6 @@ from multiprocessing.pool import Pool import matplotlib as mpl -from projects.exceeding_snow_loads.checks.qqplot.plot_qqplot import \ - plot_intensity_against_gumbel_quantile_for_3_examples, plot_full_diagnostic -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_map, plot_trend_curves from projects.exceeding_snow_loads.section_results.plot_uncertainty_histogram import plot_uncertainty_histogram @@ -14,10 +11,9 @@ mpl.rcParams['text.latex.preamble'] = [r'\usepackage{amsmath}'] from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal, CrocusSnowLoadEurocode 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 \ +from extreme_trend.trend_test.visualizers import \ StudyVisualizerForNonStationaryTrends, ModelSubsetForUncertainty -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 extreme_trend.trend_test.visualizers import load_altitude_to_visualizer from projects.exceeding_snow_loads.utils import paper_study_classes, paper_altitudes from root_utils import NB_CORES diff --git a/projects/exceeding_snow_loads/section_results/main_shape_repartition.py b/projects/exceeding_snow_loads/section_results/main_shape_repartition.py index 9416c10c..4a0592b3 100644 --- a/projects/exceeding_snow_loads/section_results/main_shape_repartition.py +++ b/projects/exceeding_snow_loads/section_results/main_shape_repartition.py @@ -1,7 +1,7 @@ from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal -from extreme_trend.visualizers.study_visualizer_for_shape_repartition import \ +from extreme_trend.trend_test.visualizers import \ StudyVisualizerForShape -from extreme_trend.visualizers.utils import load_altitude_to_visualizer +from extreme_trend.trend_test.visualizers import load_altitude_to_visualizer def main_shape_repartition(altitudes, massif_names=None, diff --git a/projects/exceeding_snow_loads/section_results/plot_diagnosis_risk.py b/projects/exceeding_snow_loads/section_results/plot_diagnosis_risk.py index f15a554d..72983ab4 100644 --- a/projects/exceeding_snow_loads/section_results/plot_diagnosis_risk.py +++ b/projects/exceeding_snow_loads/section_results/plot_diagnosis_risk.py @@ -2,7 +2,7 @@ import matplotlib.pyplot as plt 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 ModelSubsetForUncertainty +from extreme_trend.trend_test.visualizers import ModelSubsetForUncertainty def plot_diagnosis_risk(altitude_to_visualizer): diff --git a/projects/exceeding_snow_loads/section_results/plot_selection_curves.py b/projects/exceeding_snow_loads/section_results/plot_selection_curves.py index b31ed895..7800af22 100644 --- a/projects/exceeding_snow_loads/section_results/plot_selection_curves.py +++ b/projects/exceeding_snow_loads/section_results/plot_selection_curves.py @@ -3,7 +3,7 @@ import matplotlib.pyplot as plt from extreme_data.meteo_france_data.scm_models_data.visualization.utils import create_adjusted_axes from projects.exceeding_snow_loads.utils import dpi_paper1_figure, get_trend_test_name -from extreme_trend.visualizers.study_visualizer_for_non_stationary_trends import StudyVisualizerForNonStationaryTrends +from extreme_trend.trend_test.visualizers import StudyVisualizerForNonStationaryTrends def permute(l, permutation): diff --git a/projects/exceeding_snow_loads/section_results/plot_trend_curves.py b/projects/exceeding_snow_loads/section_results/plot_trend_curves.py index 4ab2b89d..d205aff0 100644 --- a/projects/exceeding_snow_loads/section_results/plot_trend_curves.py +++ b/projects/exceeding_snow_loads/section_results/plot_trend_curves.py @@ -4,7 +4,7 @@ import matplotlib.pyplot as plt from extreme_data.meteo_france_data.scm_models_data.abstract_extended_study import AbstractExtendedStudy from extreme_data.meteo_france_data.scm_models_data.visualization.utils import create_adjusted_axes from projects.exceeding_snow_loads.utils import dpi_paper1_figure -from extreme_trend.visualizers.study_visualizer_for_non_stationary_trends import \ +from extreme_trend.trend_test.visualizers import \ StudyVisualizerForNonStationaryTrends 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 74767c33..66677150 100644 --- a/projects/exceeding_snow_loads/section_results/plot_uncertainty_curves.py +++ b/projects/exceeding_snow_loads/section_results/plot_uncertainty_curves.py @@ -10,9 +10,9 @@ import numpy as np from extreme_data.eurocode_data.utils import EUROCODE_RETURN_LEVEL_STR, EUROCODE_ALTITUDES, \ YEAR_OF_INTEREST_FOR_RETURN_LEVEL -from extreme_data.meteo_france_data.scm_models_data.abstract_study import AbstractStudy, filled_marker_legend_list2 +from extreme_data.meteo_france_data.scm_models_data.abstract_study import AbstractStudy from projects.exceeding_snow_loads.utils import dpi_paper1_figure -from extreme_trend.visualizers.study_visualizer_for_non_stationary_trends import \ +from extreme_trend.trend_test.visualizers import \ StudyVisualizerForNonStationaryTrends, ModelSubsetForUncertainty from extreme_fit.model.result_from_model_fit.result_from_extremes.abstract_extract_eurocode_return_level import \ AbstractExtractEurocodeReturnLevel diff --git a/projects/exceeding_snow_loads/section_results/plot_uncertainty_histogram.py b/projects/exceeding_snow_loads/section_results/plot_uncertainty_histogram.py index b5772fa1..4dd896b3 100644 --- a/projects/exceeding_snow_loads/section_results/plot_uncertainty_histogram.py +++ b/projects/exceeding_snow_loads/section_results/plot_uncertainty_histogram.py @@ -6,7 +6,7 @@ from extreme_data.eurocode_data.utils import EUROCODE_ALTITUDES from extreme_fit.model.result_from_model_fit.result_from_extremes.abstract_extract_eurocode_return_level import \ AbstractExtractEurocodeReturnLevel from projects.exceeding_snow_loads.utils import dpi_paper1_figure -from extreme_trend.visualizers.study_visualizer_for_non_stationary_trends import \ +from extreme_trend.trend_test.visualizers 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/utils.py b/projects/exceeding_snow_loads/utils.py index e63910e0..c016a7ae 100644 --- a/projects/exceeding_snow_loads/utils.py +++ b/projects/exceeding_snow_loads/utils.py @@ -1,21 +1,15 @@ -from enum import Enum - -from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal, CrocusSnowLoadEurocode, \ - CrocusSnowLoad3Days +from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal, CrocusSnowLoadEurocode from extreme_data.meteo_france_data.scm_models_data.visualization.main_study_visualizer import \ ALL_ALTITUDES_WITHOUT_NAN -from extreme_trend.trend_test_one_parameter.gev_trend_test_one_parameter import GevVersusGev, GevScaleTrendTest, \ - GevLocationTrendTest, GevShapeTrendTest -from extreme_trend.trend_test_one_parameter.gumbel_trend_test_one_parameter import \ - GumbelVersusGumbel, GumbelLocationTrendTest, GumbelScaleTrendTest, GevStationaryVersusGumbel -from extreme_trend.trend_test_three_parameters.gev_trend_test_three_parameters import \ - GevLocationAndScaleTrendTestAgainstGumbel, GevLocationAndScaleAndShapeTrendTest, \ - GevLocationQuadraticTrendTestAgainstGumbel, \ - GevScaleQuadraticTrendTestAgainstGumbel -from extreme_trend.trend_test_two_parameters.gev_trend_test_two_parameters import \ - GevLocationAgainstGumbel, GevScaleAgainstGumbel, GevLocationAndScaleTrendTest, GevScaleAndShapeTrendTest, \ - GevLocationAndShapeTrendTest, GevQuadraticLocationTrendTest, GevQuadraticScaleTrendTest -from extreme_trend.trend_test_two_parameters.gumbel_test_two_parameters import \ +from extreme_trend.trend_test.trend_test_one_parameter.gev_trend_test_one_parameter import GevVersusGev, GevScaleTrendTest, \ + GevLocationTrendTest +from extreme_trend.trend_test.trend_test_one_parameter.gumbel_trend_test_one_parameter import GumbelVersusGumbel, \ + GevStationaryVersusGumbel, GumbelLocationTrendTest, GumbelScaleTrendTest +from extreme_trend.trend_test.trend_test_three_parameters.gev_trend_test_three_parameters import \ + GevLocationAndScaleTrendTestAgainstGumbel +from extreme_trend.trend_test.trend_test_two_parameters.gev_trend_test_two_parameters import GevLocationAgainstGumbel, \ + GevScaleAgainstGumbel, GevLocationAndScaleTrendTest, GevQuadraticLocationTrendTest, GevQuadraticScaleTrendTest +from extreme_trend.trend_test.trend_test_two_parameters.gumbel_test_two_parameters import \ GumbelLocationAndScaleTrendTest, GumbelLocationQuadraticTrendTest, GumbelScaleQuadraticTrendTest paper_altitudes = ALL_ALTITUDES_WITHOUT_NAN @@ -45,31 +39,8 @@ ALTITUDE_TO_GREY_MASSIF = { 1800: [], } -NON_STATIONARY_TREND_TEST_PAPER_2 = [ - # Gumbel models - GumbelVersusGumbel, - GumbelLocationTrendTest, - GumbelScaleTrendTest, - GumbelLocationAndScaleTrendTest, - # GEV models with constant shape - GevVersusGev, - GevLocationTrendTest, - GevScaleTrendTest, - GevLocationAndScaleTrendTest, - # GEV models with linear shape - #GevShapeTrendTest, - #GevLocationAndShapeTrendTest, GevScaleAndShapeTrendTest, GevLocationAndScaleAndShapeTrendTest, - # Quadratic model for the Gev/Gumbel and for the location/scale - GevQuadraticLocationTrendTest, GevQuadraticScaleTrendTest, GumbelLocationQuadraticTrendTest, GumbelScaleQuadraticTrendTest, -] - def get_trend_test_name(trend_test_class): years = list(range(10)) trend_test = trend_test_class(years, years, None) return trend_test.name - - -if __name__ == '__main__': - for trend_test_class in NON_STATIONARY_TREND_TEST_PAPER_2: - print(get_trend_test_name(trend_test_class)) diff --git a/projects/projected_snowfall/elevation_temporal_model_for_projections/abstract_ensemble_fit.py b/projects/projected_snowfall/elevation_temporal_model_for_projections/abstract_ensemble_fit.py index ad85be10..6e5d9e03 100644 --- a/projects/projected_snowfall/elevation_temporal_model_for_projections/abstract_ensemble_fit.py +++ b/projects/projected_snowfall/elevation_temporal_model_for_projections/abstract_ensemble_fit.py @@ -1,8 +1,7 @@ -from typing import Dict, Tuple, List +from typing import Dict, Tuple from extreme_fit.model.margin_model.utils import MarginFitMethod -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies -from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.altitude_group import DefaultAltitudeGroup +from extreme_data.meteo_france_data.scm_models_data.altitudes_studies import AltitudesStudies class AbstractEnsembleFit(object): diff --git a/projects/projected_snowfall/elevation_temporal_model_for_projections/visualizer_for_projection_ensemble.py b/projects/projected_snowfall/elevation_temporal_model_for_projections/visualizer_for_projection_ensemble.py index e7d9e38e..06f27ada 100644 --- a/projects/projected_snowfall/elevation_temporal_model_for_projections/visualizer_for_projection_ensemble.py +++ b/projects/projected_snowfall/elevation_temporal_model_for_projections/visualizer_for_projection_ensemble.py @@ -3,12 +3,12 @@ from typing import List from extreme_fit.model.margin_model.polynomial_margin_model.spatio_temporal_polynomial_model import \ AbstractSpatioTemporalPolynomialModel from extreme_fit.model.margin_model.utils import MarginFitMethod -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies +from extreme_data.meteo_france_data.scm_models_data.altitudes_studies import AltitudesStudies from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.altitude_group import \ - get_altitude_group_from_altitudes, get_altitude_class_from_altitudes -from projects.altitude_spatial_model.altitudes_fit.plots.plot_histogram_altitude_studies import \ + get_altitude_class_from_altitudes +from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.plots.plot_histogram_altitude_studies import \ plot_histogram_all_trends_against_altitudes, plot_shoe_plot_changes_against_altitude -from projects.altitude_spatial_model.altitudes_fit.utils_altitude_studies_visualizer import compute_and_assign_max_abs +from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.utils_altitude_studies_visualizer import compute_and_assign_max_abs from projects.projected_snowfall.elevation_temporal_model_for_projections.independent_ensemble_fit.independent_ensemble_fit import \ IndependentEnsembleFit diff --git a/projects/projected_snowfall/elevation_temporal_model_for_projections/visualizer_for_sensitivity.py b/projects/projected_snowfall/elevation_temporal_model_for_projections/visualizer_for_sensitivity.py index 72392ee5..53058fca 100644 --- a/projects/projected_snowfall/elevation_temporal_model_for_projections/visualizer_for_sensitivity.py +++ b/projects/projected_snowfall/elevation_temporal_model_for_projections/visualizer_for_sensitivity.py @@ -8,12 +8,8 @@ from extreme_data.meteo_france_data.scm_models_data.utils import Season from extreme_fit.model.margin_model.polynomial_margin_model.spatio_temporal_polynomial_model import \ AbstractSpatioTemporalPolynomialModel from extreme_fit.model.margin_model.utils import MarginFitMethod -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.altitude_group import \ - get_altitude_group_from_altitudes, get_altitude_class_from_altitudes, get_linestyle_for_altitude_class -from projects.altitude_spatial_model.altitudes_fit.plots.plot_histogram_altitude_studies import \ - plot_histogram_all_trends_against_altitudes, plot_shoe_plot_changes_against_altitude -from projects.altitude_spatial_model.altitudes_fit.utils_altitude_studies_visualizer import compute_and_assign_max_abs + get_altitude_class_from_altitudes, get_linestyle_for_altitude_class from projects.projected_snowfall.elevation_temporal_model_for_projections.independent_ensemble_fit.independent_ensemble_fit import \ IndependentEnsembleFit from projects.projected_snowfall.elevation_temporal_model_for_projections.visualizer_for_projection_ensemble import \ diff --git a/projects/projected_snowfall/evaluation/comparison_historical_visualizer.py b/projects/projected_snowfall/evaluation/comparison_historical_visualizer.py index e2c26b2e..098b5d5e 100644 --- a/projects/projected_snowfall/evaluation/comparison_historical_visualizer.py +++ b/projects/projected_snowfall/evaluation/comparison_historical_visualizer.py @@ -10,9 +10,8 @@ from extreme_data.meteo_france_data.adamont_data.adamont_scenario import gcm_rcm from extreme_data.meteo_france_data.adamont_data.adamont_studies import AdamontStudies from extreme_data.meteo_france_data.scm_models_data.abstract_study import AbstractStudy from extreme_data.meteo_france_data.scm_models_data.visualization.main_study_visualizer import \ - SCM_STUDY_CLASS_TO_ABBREVIATION, ADAMONT_STUDY_CLASS_TO_ABBREVIATION + ADAMONT_STUDY_CLASS_TO_ABBREVIATION from extreme_data.meteo_france_data.scm_models_data.visualization.study_visualizer import StudyVisualizer -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies class ComparisonHistoricalVisualizer(StudyVisualizer): diff --git a/projects/projected_snowfall/evaluation/main_comparison_on_quantile_period.py b/projects/projected_snowfall/evaluation/main_comparison_on_quantile_period.py index 5eb9eb38..042cc1df 100644 --- a/projects/projected_snowfall/evaluation/main_comparison_on_quantile_period.py +++ b/projects/projected_snowfall/evaluation/main_comparison_on_quantile_period.py @@ -7,18 +7,15 @@ from extreme_data.meteo_france_data.adamont_data.adamont_gcm_rcm_couples import get_year_min_and_year_max_used_to_compute_quantile, gcm_rcm_couple_to_color from extreme_data.meteo_france_data.adamont_data.adamont_scenario import AdamontScenario, \ gcm_rcm_couple_to_str, get_gcm_rcm_couples -from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day, \ - SafranSnowfallCenterOnDay1dayMeanRate, SafranSnowfallCenterOnDay1day -from extreme_data.meteo_france_data.scm_models_data.safran.safran_max_snowf import SafranSnowfall2020, \ - SafranSnowfall2019 -from extreme_data.meteo_france_data.scm_models_data.safran.safran_variable import SafranSnowfallVariableCenterOnDay +from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day +from extreme_data.meteo_france_data.scm_models_data.safran.safran_max_snowf import SafranSnowfall2020 matplotlib.use('Agg') import matplotlib.pyplot as plt from extreme_data.meteo_france_data.scm_models_data.visualization.main_study_visualizer import \ STUDY_CLASS_TO_ABBREVIATION -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies +from extreme_data.meteo_france_data.scm_models_data.altitudes_studies import AltitudesStudies def compute_bias_and_display_it(ax, diff --git a/projects/projected_snowfall/evaluation/main_comparison_reanalysis.py b/projects/projected_snowfall/evaluation/main_comparison_reanalysis.py index 4237d79c..dc0ab6ea 100644 --- a/projects/projected_snowfall/evaluation/main_comparison_reanalysis.py +++ b/projects/projected_snowfall/evaluation/main_comparison_reanalysis.py @@ -10,7 +10,7 @@ from extreme_data.meteo_france_data.scm_models_data.safran.gap_between_study imp GapBetweenSafranSnowfall2019AndMySafranSnowfall2019RecenteredMeanRate from extreme_data.meteo_france_data.scm_models_data.visualization.main_study_visualizer import \ STUDY_CLASS_TO_ABBREVIATION -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies +from extreme_data.meteo_france_data.scm_models_data.altitudes_studies import AltitudesStudies def comparison_plot(altitude_studies: AltitudesStudies, massif_name): diff --git a/projects/projected_snowfall/main_inquiry_weird_pattern.py b/projects/projected_snowfall/main_inquiry_weird_pattern.py index 718ba847..4cc564ef 100644 --- a/projects/projected_snowfall/main_inquiry_weird_pattern.py +++ b/projects/projected_snowfall/main_inquiry_weird_pattern.py @@ -1,6 +1,6 @@ from extreme_data.meteo_france_data.adamont_data.adamont.adamont_snowfall import AdamontSnowfall from extreme_data.meteo_france_data.adamont_data.adamont_scenario import AdamontScenario -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies +from extreme_data.meteo_france_data.scm_models_data.altitudes_studies import AltitudesStudies def main_rcm(): for rcm in ['CCLM4-8-17', 'RACMO22E', 'RCA4', 'ALADIN63', 'ALADIN53']: diff --git a/test/test_extreme_fit/test_estimator/test_gev_spatio_temporal_extremes_mle.py b/test/test_extreme_fit/test_estimator/test_gev_spatio_temporal_extremes_mle.py index 2ab682cc..f40099cb 100644 --- a/test/test_extreme_fit/test_estimator/test_gev_spatio_temporal_extremes_mle.py +++ b/test/test_extreme_fit/test_estimator/test_gev_spatio_temporal_extremes_mle.py @@ -1,16 +1,9 @@ import unittest -from random import sample -from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day, SafranPrecipitation1Day -from extreme_fit.model.margin_model.polynomial_margin_model.gev_altitudinal_models import \ - NonStationaryAltitudinalLocationQuadraticScaleLinearCrossTermForLocation, \ - NonStationaryAltitudinalLocationQuadraticCrossTermForLocation, NonStationaryAltitudinalLocationLinear, \ - NonStationaryAltitudinalLocationLinearCrossTermForLocation -from extreme_fit.model.margin_model.polynomial_margin_model.utils import ALTITUDINAL_GEV_MODELS, \ - MODELS_THAT_SHOULD_RAISE_AN_ASSERTION_ERROR, VARIOUS_SPATIO_TEMPORAL_MODELS, ALTITUDINAL_GUMBEL_MODELS +from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day from extreme_fit.model.margin_model.utils import \ MarginFitMethod -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies +from extreme_data.meteo_france_data.scm_models_data.altitudes_studies import AltitudesStudies from projects.altitude_spatial_model.altitudes_fit.two_fold_analysis.two_fold_datasets_generator import \ TwoFoldDatasetsGenerator from projects.altitude_spatial_model.altitudes_fit.two_fold_analysis.two_fold_fit import TwoFoldFit diff --git a/test/test_extreme_fit/test_estimator/test_spatio_temporal_estimator/test_gev_spatio_temporal_polynomial_extremes_mle.py b/test/test_extreme_fit/test_estimator/test_spatio_temporal_estimator/test_gev_spatio_temporal_polynomial_extremes_mle.py index 7959897d..e0ba51f1 100644 --- a/test/test_extreme_fit/test_estimator/test_spatio_temporal_estimator/test_gev_spatio_temporal_polynomial_extremes_mle.py +++ b/test/test_extreme_fit/test_estimator/test_spatio_temporal_estimator/test_gev_spatio_temporal_polynomial_extremes_mle.py @@ -3,34 +3,20 @@ import unittest import numpy as np import pandas as pd -from extreme_fit.distribution.gev.gev_params import GevParams from extreme_fit.estimator.margin_estimator.utils import fitted_linear_margin_estimator_short -from extreme_fit.model.margin_model.polynomial_margin_model.gev_altitudinal_models import StationaryAltitudinal -from extreme_fit.model.margin_model.polynomial_margin_model.models_based_on_pariwise_analysis.gev_with_constant_shape_wrt_altitude import \ - AltitudinalShapeConstantTimeLocationLinear -from extreme_fit.model.margin_model.polynomial_margin_model.models_based_on_pariwise_analysis.gev_with_linear_shape_wrt_altitude import \ - AltitudinalShapeLinearTimeLocationLinear, AltitudinalShapeLinearTimeLocScaleLinear, \ - AltitudinalShapeLinearTimeStationary -from extreme_fit.model.margin_model.polynomial_margin_model.polynomial_margin_model import \ - NonStationaryQuadraticLocationModel, \ - NonStationaryQuadraticScaleModel, NonStationaryQuadraticLocationGumbelModel, NonStationaryQuadraticScaleGumbelModel from extreme_fit.model.margin_model.polynomial_margin_model.utils import \ ALTITUDINAL_GEV_MODELS_BASED_ON_POINTWISE_ANALYSIS from extreme_fit.model.result_from_model_fit.result_from_extremes.confidence_interval_method import \ ConfidenceIntervalMethodFromExtremes from extreme_fit.model.result_from_model_fit.result_from_extremes.eurocode_return_level_uncertainties import \ EurocodeConfidenceIntervalFromExtremes -from extreme_trend.abstract_gev_trend_test import fitted_linear_margin_estimator from extreme_fit.model.margin_model.utils import \ MarginFitMethod from extreme_fit.model.utils import r, set_seed_r -from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates from spatio_temporal_dataset.coordinates.spatial_coordinates.abstract_spatial_coordinates import \ AbstractSpatialCoordinates from spatio_temporal_dataset.coordinates.spatio_temporal_coordinates.abstract_spatio_temporal_coordinates import \ AbstractSpatioTemporalCoordinates -from spatio_temporal_dataset.coordinates.temporal_coordinates.abstract_temporal_coordinates import \ - AbstractTemporalCoordinates from spatio_temporal_dataset.coordinates.temporal_coordinates.generated_temporal_coordinates import \ ConsecutiveTemporalCoordinates from spatio_temporal_dataset.dataset.abstract_dataset import AbstractDataset diff --git a/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_extremes_bayesian.py b/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_extremes_bayesian.py index 53bac7a2..a5c045e9 100644 --- a/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_extremes_bayesian.py +++ b/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_extremes_bayesian.py @@ -3,7 +3,7 @@ import unittest import numpy as np import pandas as pd -from extreme_trend.abstract_gev_trend_test import fitted_linear_margin_estimator +from extreme_trend.trend_test.abstract_gev_trend_test import fitted_linear_margin_estimator from extreme_fit.model.margin_model.utils import \ MarginFitMethod from extreme_fit.model.margin_model.linear_margin_model.temporal_linear_margin_models import StationaryTemporalModel, \ diff --git a/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_extremes_gumbel.py b/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_extremes_gumbel.py index b790d0ab..7a2863f3 100644 --- a/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_extremes_gumbel.py +++ b/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_extremes_gumbel.py @@ -3,7 +3,7 @@ import unittest import numpy as np import pandas as pd -from extreme_trend.abstract_gev_trend_test import fitted_linear_margin_estimator +from extreme_trend.trend_test.abstract_gev_trend_test import fitted_linear_margin_estimator from extreme_fit.model.margin_model.utils import \ MarginFitMethod from extreme_fit.model.margin_model.linear_margin_model.temporal_linear_margin_models import GumbelTemporalModel diff --git a/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_extremes_l_moments.py b/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_extremes_l_moments.py index 78a933af..15304370 100644 --- a/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_extremes_l_moments.py +++ b/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_extremes_l_moments.py @@ -3,11 +3,11 @@ import unittest import numpy as np import pandas as pd -from extreme_trend.abstract_gev_trend_test import fitted_linear_margin_estimator +from extreme_trend.trend_test.abstract_gev_trend_test import fitted_linear_margin_estimator from extreme_fit.model.margin_model.utils import \ MarginFitMethod from extreme_fit.model.margin_model.linear_margin_model.temporal_linear_margin_models import StationaryTemporalModel, \ - NonStationaryLocationTemporalModel, NonStationaryLocationAndScaleTemporalModel + NonStationaryLocationTemporalModel from extreme_fit.model.utils import r, set_seed_r from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates from spatio_temporal_dataset.coordinates.temporal_coordinates.abstract_temporal_coordinates import \ diff --git a/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_extremes_mle.py b/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_extremes_mle.py index 0a2796f0..d0682e18 100644 --- a/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_extremes_mle.py +++ b/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_extremes_mle.py @@ -3,7 +3,7 @@ import unittest import numpy as np import pandas as pd -from extreme_trend.abstract_gev_trend_test import fitted_linear_margin_estimator +from extreme_trend.trend_test.abstract_gev_trend_test import fitted_linear_margin_estimator from extreme_fit.model.margin_model.utils import \ MarginFitMethod from extreme_fit.model.margin_model.linear_margin_model.temporal_linear_margin_models import StationaryTemporalModel, \ diff --git a/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_polynomial_extremes_mle.py b/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_polynomial_extremes_mle.py index 1f8a50ed..95add8ef 100644 --- a/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_polynomial_extremes_mle.py +++ b/test/test_extreme_fit/test_estimator/test_temporal_estimator/test_gev_temporal_polynomial_extremes_mle.py @@ -6,7 +6,7 @@ import pandas as pd from extreme_fit.distribution.gev.gev_params import GevParams from extreme_fit.model.margin_model.polynomial_margin_model.polynomial_margin_model import NonStationaryQuadraticLocationModel, \ NonStationaryQuadraticScaleModel, NonStationaryQuadraticLocationGumbelModel, NonStationaryQuadraticScaleGumbelModel -from extreme_trend.abstract_gev_trend_test import fitted_linear_margin_estimator +from extreme_trend.trend_test.abstract_gev_trend_test import fitted_linear_margin_estimator from extreme_fit.model.margin_model.utils import \ MarginFitMethod from extreme_fit.model.utils import r, set_seed_r diff --git a/test/test_extreme_trend/test_extreme_trend.py b/test/test_extreme_trend/test_trend_test.py similarity index 60% rename from test/test_extreme_trend/test_extreme_trend.py rename to test/test_extreme_trend/test_trend_test.py index 9f1dec8e..adcd8ca9 100644 --- a/test/test_extreme_trend/test_extreme_trend.py +++ b/test/test_extreme_trend/test_trend_test.py @@ -1,8 +1,8 @@ import unittest from extreme_fit.distribution.gev.gev_params import GevParams -from extreme_trend.trend_test_one_parameter.gumbel_trend_test_one_parameter import GumbelVersusGumbel -from projects.exceeding_snow_loads.utils import NON_STATIONARY_TREND_TEST_PAPER_1, NON_STATIONARY_TREND_TEST_PAPER_2 +from extreme_trend.trend_test.trend_test_one_parameter.gumbel_trend_test_one_parameter import GumbelVersusGumbel +from projects.exceeding_snow_loads.utils import NON_STATIONARY_TREND_TEST_PAPER_1 class TestTrendAnalysis(unittest.TestCase): @@ -13,14 +13,6 @@ class TestTrendAnalysis(unittest.TestCase): for trend_test_class, nb in zip(trend_test_classes, nb_expected): self.assertEqual(trend_test_class.total_number_of_parameters_for_unconstrained_model, nb) - # def test_nb_parameters_paper2(self): - # trend_test_classes = NON_STATIONARY_TREND_TEST_PAPER_2 - # nb_expected = [2, 3, 3, 4, - # 3, 4, 4, 5, - # 4, 5, 5, 6] - # for trend_test_class, nb in zip(trend_test_classes, nb_expected): - # self.assertEqual(trend_test_class.total_number_of_parameters_for_unconstrained_model, nb) - def test_anderson_goodness_of_fit(self): nb_data = 50 years = list(range(nb_data)) diff --git a/test/test_projects/test_altitude_spatial/test_one_fold_fit.py b/test/test_projects/test_altitude_spatial/test_one_fold_fit.py index f9397686..e7fa22d4 100644 --- a/test/test_projects/test_altitude_spatial/test_one_fold_fit.py +++ b/test/test_projects/test_altitude_spatial/test_one_fold_fit.py @@ -4,14 +4,13 @@ from extreme_data.meteo_france_data.adamont_data.adamont.adamont_snowfall import from extreme_data.meteo_france_data.adamont_data.adamont_scenario import AdamontScenario from extreme_data.meteo_france_data.adamont_data.cmip5.temperature_to_year import temperature_minmax_to_year_minmax from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day -from extreme_fit.model.margin_model.linear_margin_model.temporal_linear_margin_models import StationaryTemporalModel from extreme_fit.model.margin_model.polynomial_margin_model.gev_altitudinal_models import StationaryAltitudinal from extreme_fit.model.margin_model.polynomial_margin_model.models_based_on_pariwise_analysis.gev_with_constant_shape_wrt_altitude import \ AltitudinalShapeConstantTimeLocationLinear, AltitudinalShapeConstantTimeScaleLinear, \ AltitudinalShapeConstantTimeLocScaleLinear from extreme_fit.model.margin_model.polynomial_margin_model.utils import \ ALTITUDINAL_GEV_MODELS_BASED_ON_POINTWISE_ANALYSIS -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies +from extreme_data.meteo_france_data.scm_models_data.altitudes_studies import AltitudesStudies from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.altitude_group import VeyHighAltitudeGroup from projects.altitude_spatial_model.altitudes_fit.one_fold_analysis.one_fold_fit import OneFoldFit from spatio_temporal_dataset.coordinates.temporal_coordinates.abstract_temporal_covariate_for_fit import \ diff --git a/test/test_projects/test_contrasting/test_altitudes_studies.py b/test/test_projects/test_contrasting/test_altitudes_studies.py index 6ef79a4f..c1525de2 100644 --- a/test/test_projects/test_contrasting/test_altitudes_studies.py +++ b/test/test_projects/test_contrasting/test_altitudes_studies.py @@ -3,7 +3,7 @@ import unittest from extreme_data.meteo_france_data.adamont_data.adamont.adamont_snowfall import AdamontSnowfall from extreme_data.meteo_france_data.adamont_data.adamont_scenario import AdamontScenario from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies +from extreme_data.meteo_france_data.scm_models_data.altitudes_studies import AltitudesStudies from spatio_temporal_dataset.slicer.split import Split diff --git a/test/test_projects/test_contrasting/test_two_fold_datasets_generator.py b/test/test_projects/test_contrasting/test_two_fold_datasets_generator.py index 9cbf5a16..2a1e6e7c 100644 --- a/test/test_projects/test_contrasting/test_two_fold_datasets_generator.py +++ b/test/test_projects/test_contrasting/test_two_fold_datasets_generator.py @@ -2,7 +2,7 @@ import unittest import numpy as np from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall1Day -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies +from extreme_data.meteo_france_data.scm_models_data.altitudes_studies import AltitudesStudies from projects.altitude_spatial_model.altitudes_fit.two_fold_analysis.two_fold_datasets_generator import TwoFoldDatasetsGenerator from spatio_temporal_dataset.slicer.split import Split diff --git a/test/test_projects/test_contrasting/test_two_fold_fit.py b/test/test_projects/test_contrasting/test_two_fold_fit.py index eb89f82d..f34e8c28 100644 --- a/test/test_projects/test_contrasting/test_two_fold_fit.py +++ b/test/test_projects/test_contrasting/test_two_fold_fit.py @@ -6,7 +6,7 @@ from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranS from extreme_fit.model.margin_model.linear_margin_model.linear_margin_model import ConstantMarginModel from extreme_fit.model.margin_model.utils import MarginFitMethod from extreme_fit.model.utils import set_seed_for_test -from projects.altitude_spatial_model.altitudes_fit.altitudes_studies import AltitudesStudies +from extreme_data.meteo_france_data.scm_models_data.altitudes_studies import AltitudesStudies from projects.altitude_spatial_model.altitudes_fit.two_fold_analysis.two_fold_datasets_generator import TwoFoldDatasetsGenerator from projects.altitude_spatial_model.altitudes_fit.two_fold_analysis.two_fold_detail_fit import TwoFoldModelFit from projects.altitude_spatial_model.altitudes_fit.two_fold_analysis.two_fold_fit import TwoFoldFit diff --git a/test/test_projects/test_exceeding_snow_loads/test_results.py b/test/test_projects/test_exceeding_snow_loads/test_results.py index 79fca2df..1b3c79ef 100644 --- a/test/test_projects/test_exceeding_snow_loads/test_results.py +++ b/test/test_projects/test_exceeding_snow_loads/test_results.py @@ -1,14 +1,5 @@ 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 -import matplotlib.pyplot as plt class TestResults(unittest.TestCase): pass -- GitLab