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 6f24a2613587d31927e654f10a55efc95f5ad59d..822136ea6d190e518eafe47c8f6fcde4a27571d2 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 bde64857e9a074cb94c17c2ca1e8c03c2c6d7398..0000000000000000000000000000000000000000 --- 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 7ba82ed8f9ed667c8b811ca3f8bc7ceef70bd492..0000000000000000000000000000000000000000 --- 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 f11d41fecc3884a41aab920ef4a8b24aa706efeb..a19f68f72ac0fd5657fae284ffdb02fae9d4dadb 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 89bc87c49ddc325dfd9ee16f4cc678799f17aeff..6b9359d6e4a1bb34ab73989a1cba91c488f6441f 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 cbf6789a50a5197af53baff22667018a8f0ca5d1..d73123f32ae8e5a9efd67539316ba07dc05bfff3 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 412242149b65404bf28201209ffe42d04ed41cca..775c406ce21b32f483e8d1a26d192037cbd267a0 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 b9a066062694f56c4813897137a07c6fa4ed1fc2..3186a3b9ccb1c324267ffb9aad921d24ddc1e264 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 6e0ac523859c9a044a9820bb8a136174fb6fdbb3..2f35f13bf81649b1cf8c7da08c0e99443c63e902 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 ee2d0a83a45a915acf4065aaeb58cdc80bbf489a..96d765c1403d8bf04c180dcd2bab7038769289d8 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 e62ccdac75d9f0699cc4d141cb85ada0ffc06f9b..4a78adeb596d984cc726aeec5bf76577a796d462 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 683a73bdd99eebadff62acd811a3a1157464bef0..0222959bc7c8479628eca29563e38a3a4b206e00 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 901754e8e7ec919aec5fec866f9a180db286f832..b4f4113a6a8406be9e9c6c46310d82ed2c1d1f2e 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 01c1b76ba2bb56fc7dc4073a96247ca92b59c9e3..62a4a85f2a5bc46da75d80ca2fdd63214860a36f 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 2209091fb44a3788b6057f6ed1d3afbc38ff2a38..accae7e190ac109e2ebb682cffe8200e91b58e56 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 ffe76956002407e7415809c06e0daa94ad1084a4..9e06b14b5d176a702df3a8967c5338549d37c8c6 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 394d25f75b5190fa378ff9069ac32767c81c58fb..98f4949f7c29330ec3f04a59a5a40ef1fd29c3b6 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 484634526ba5032595c4e7a83636ba9c63c5e2bd..526f486bb4555e9d04d79ac48067b24bd9fc0cbd 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 024adfce88dae39b63478079bda9e05f977cf251..7864f6f98ea6f7aba725724cee5e2f72583efbed 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 629872911f36548e1486967d9509658fddcca8b7..c0fb5408bbe3e5725f91e002b4a18f9a62ce3ae0 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 1341d0ce4836785a72b2cc6ed856f12a5207cff6..add2d229b21e9c0c979deb726a03d74297868390 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 c56e7e67a7786fcf7a4c5a7441a3b44cf7e14d63..36521cdcb74dd526dc16a98c0d07f43126b521ae 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 1eeb3851bc85ab2c8cc06ed6a0af1387e7e6f763..0878ab8bede0be5dff3c19aefac75da9d51524ad 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 459b93ebc1ed86bba8466188003de0435b694538..72c332a8a22143bf51216628e5514878465ad543 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 762f45f53ce0d5e73dd2fd1698666cbbc3a76757..0d5edcd05da022aea233d6de16742c25245056e7 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 05cd8c0770b0fd8d252be44b96441a7de09db19d..350a13c6138cb566aae6969a96923d2675ad0256 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 c33fb52e6f5d6f04b621acdb914ba6bdac353b60..ee5dc72390c435f2cb7a6b55a487f11089c4ed58 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 cf18102b3c9227c8ec17040a63b99e6fca1cb2ed..74e3698c9ec865f0912056fb9c841c3e91e5fa32 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 9416c10c222c8a54088839956082f41f3bfdbf77..4a0592b398b39cdb5a182ac332c662a2b8d7e13e 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 f15a554d18d3e3673550e8d6f65b90d482fea040..72983ab404219c2b76e2ee41143383df88cfea9c 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 b31ed8952779ec957665b13f7c54b8fd1bbb13d4..7800af22222a46d36b45fe64968c0bcec651e69f 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 4ab2b89d7a17f8989dc52d019095ee7e60b2c548..d205aff0fbc3bf9390f3798fb0d9cd5d858948c4 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 74767c3313784fd8e87a00b3b693e897f6fccbca..66677150ed4509f5e5570e97e7cd5882706ac14f 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 b5772fa1b99ebe43fb7d44765dceae9dbe960337..4dd896b3ca83cb9410d0201698ac06bfbf6fb784 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 e63910e0a070275fff78aeeba533c7591990f7ff..c016a7ae798fee1793c841b35c67d8f276dcfba8 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 ad85be1012c60303f19ea4f6cd2b5a90b3913197..6e5d9e035dadef3707fd6db4306933d69697aafd 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 e7d9e38ef1aa0b93d6e85395fa257be7123d788a..06f27adad6b3262e99c0ae6636c355be23395795 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 72392ee58da96f7ac8ceb212efb7f72776a799d4..53058fcaf8115a8a4b742b688ee547d16636bc65 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 e2c26b2e217d9652a824d130256714247d4a8905..098b5d5e18f111899c7c251f0e892695fef8613a 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 5eb9eb38a5cf1546158ff091b810e0202e7d5978..042cc1dffd2e62d4d573d8583993936a9e153eb1 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 4237d79c80b3987e0f3cae2a468132e79f80a770..dc0ab6ea5460c6866504d434aec09a96dd2bb1f5 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 718ba847cc3b40034246c010621d2c47723a91c1..4cc564ef46c3ca82ba775887b7d046f383ecd4b1 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 2ab682cca3cd1ae8ac8ac35328c0570585fa3edb..f40099cb4227b4e05facf8f76a702b3b6e3e5b28 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 7959897dfa44377665f3bd91723a81e93c4b8cee..e0ba51f12a64e7ad19348c2dddc07ac80df9b5bb 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 53bac7a22e8b3a1e16515d3f63b33980243f9df8..a5c045e97fda0be0dadb6707185d73294e15c40f 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 b790d0ab55249b6eebc9185faf56eb6a679c0a7e..7a2863f31ec06b0f897afb5f3a8d70df6b2f7136 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 78a933aff01a5f2e3596e21659093f8c25331500..153043706530dbe6d5f6982c0c3ff55574576340 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 0a2796f044b950e96d9d5e3cd3f9a1f56f3aec6d..d0682e18821c8ffbc0a7b962c6b11c0bd519d014 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 1f8a50ed5df4fa9011765160647723b83516fedc..95add8ef2e62f69e0c9b8d4f321a4e5f86c9f37a 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 9f1dec8e87b4b119f6b4c57ef6b5bd34e3d80943..adcd8ca9f9ecc7fa11a4db95bf357a00363ef963 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 f939768679cbbabbcd27a4173ea1fb0f6662ac93..e7fa22d4c6b10557aca3e3924711bbd98811fb79 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 6ef79a4fce08c0cb2f46114b6f086828d1c05704..c1525de2d1dcf7e8d0ab2d2fd06f2dce6d1ae177 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 9cbf5a1601e4bdc7d32ff47106d2f446b9b893fd..2a1e6e7c5464a0c24c249ef53c47ae35e981ba2b 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 eb89f82d5c0fc8d879001f371cbb31057ff8c529..f34e8c2856b61610041b3a6b5633f047b875f97e 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 79fca2dfeb36e2e4cc2c52bbb77120baded1f929..1b3c79ef44369acd641657b686f3da3ad3a4b288 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