diff --git a/experiment/meteo_france_SCM_study/visualization/studies_visualization/main_studies_visualizer.py b/experiment/meteo_france_SCM_study/visualization/studies_visualization/main_studies_visualizer.py index 78fde13b424da90596db4a1b31a6647c9b7392fd..86e9ec117b35428263b3d6728e23b7b361c1648d 100644 --- a/experiment/meteo_france_SCM_study/visualization/studies_visualization/main_studies_visualizer.py +++ b/experiment/meteo_france_SCM_study/visualization/studies_visualization/main_studies_visualizer.py @@ -1,10 +1,6 @@ -from experiment.meteo_france_SCM_study.abstract_score import MannKendall, WeigthedScore, MeanScore, MedianScore -from experiment.meteo_france_SCM_study.abstract_study import AbstractStudy -from experiment.meteo_france_SCM_study.abstract_trend_test import MannKendallTrendTest, ExampleRandomTrendTest -from experiment.meteo_france_SCM_study.crocus.crocus import CrocusDepth, CrocusSwe, ExtendedCrocusDepth, \ - ExtendedCrocusSwe -from experiment.meteo_france_SCM_study.safran.safran import SafranSnowfall, ExtendedSafranSnowfall, \ - ExtendedSafranTotalPrecip +from experiment.trend_analysis.abstract_score import MannKendall, WeigthedScore, MeanScore, MedianScore +from experiment.trend_analysis.abstract_trend_test import MannKendallTrendTest +from experiment.meteo_france_SCM_study.safran.safran import ExtendedSafranTotalPrecip from experiment.meteo_france_SCM_study.visualization.studies_visualization.studies import Studies from experiment.meteo_france_SCM_study.visualization.studies_visualization.studies_visualizer import StudiesVisualizer, \ AltitudeVisualizer diff --git a/experiment/meteo_france_SCM_study/visualization/studies_visualization/studies_visualizer.py b/experiment/meteo_france_SCM_study/visualization/studies_visualization/studies_visualizer.py index 3e1866e53fdefd8ccf0d6888d6e4a045ff8d191e..27a54572948da80fca09afd7fe152cb4ad7c1c1d 100644 --- a/experiment/meteo_france_SCM_study/visualization/studies_visualization/studies_visualizer.py +++ b/experiment/meteo_france_SCM_study/visualization/studies_visualization/studies_visualizer.py @@ -2,7 +2,7 @@ from collections import OrderedDict, Counter import os import os.path as op from multiprocessing.dummy import Pool -from typing import Dict, List +from typing import Dict import numpy as np import pandas as pd @@ -10,7 +10,7 @@ import matplotlib.pyplot as plt from matplotlib.lines import Line2D from experiment.meteo_france_SCM_study.abstract_extended_study import AbstractExtendedStudy -from experiment.meteo_france_SCM_study.abstract_trend_test import AbstractTrendTest +from experiment.trend_analysis.abstract_trend_test import AbstractTrendTest from experiment.meteo_france_SCM_study.visualization.studies_visualization.studies import \ Studies from experiment.meteo_france_SCM_study.visualization.study_visualization.study_visualizer import StudyVisualizer diff --git a/experiment/meteo_france_SCM_study/visualization/study_visualization/main_study_visualizer.py b/experiment/meteo_france_SCM_study/visualization/study_visualization/main_study_visualizer.py index 72e1a2e65451e91bcb89ce7c30815ceaea22fad0..6f587381170a90f8c5b4845507eee8b6545d63fb 100644 --- a/experiment/meteo_france_SCM_study/visualization/study_visualization/main_study_visualizer.py +++ b/experiment/meteo_france_SCM_study/visualization/study_visualization/main_study_visualizer.py @@ -1,9 +1,7 @@ import time -from typing import Generator, List +from typing import List -import numpy as np - -from experiment.meteo_france_SCM_study.abstract_score import WeigthedScore, MannKendall +from experiment.trend_analysis.abstract_score import MannKendall from experiment.meteo_france_SCM_study.abstract_study import AbstractStudy from experiment.meteo_france_SCM_study.crocus.crocus import CrocusDepth, CrocusSwe, ExtendedCrocusDepth, \ ExtendedCrocusSwe, CrocusDaysWithSnowOnGround diff --git a/experiment/meteo_france_SCM_study/visualization/study_visualization/study_visualizer.py b/experiment/meteo_france_SCM_study/visualization/study_visualization/study_visualizer.py index a5f3da0ae3a53cb41450841be46ab94a7554d38e..402e28f03615a8d98df92bd85e08b15c0dda8aa3 100644 --- a/experiment/meteo_france_SCM_study/visualization/study_visualization/study_visualizer.py +++ b/experiment/meteo_france_SCM_study/visualization/study_visualization/study_visualizer.py @@ -1,8 +1,6 @@ import os import os.path as op from collections import OrderedDict -from copy import deepcopy -from typing import Union import math import matplotlib.pyplot as plt @@ -10,10 +8,10 @@ import numpy as np import pandas as pd import seaborn as sns -from experiment.meteo_france_SCM_study.abstract_score import MeanScore, WeigthedScore, AbstractTrendScore +from experiment.trend_analysis.abstract_score import MeanScore, AbstractTrendScore from experiment.meteo_france_SCM_study.abstract_study import AbstractStudy -from experiment.meteo_france_SCM_study.abstract_trend_test import AbstractTrendTest -from experiment.meteo_france_SCM_study.visualization.study_visualization.non_stationary_trends import \ +from experiment.trend_analysis.abstract_trend_test import AbstractTrendTest +from experiment.trend_analysis.non_stationary_trends import \ ConditionalIndedendenceLocationTrendTest, MaxStableLocationTrendTest, IndependenceLocationTrendTest from experiment.meteo_france_SCM_study.visualization.utils import create_adjusted_axes from experiment.utils import average_smoothing_with_sliding_window @@ -28,7 +26,6 @@ from extreme_estimator.extreme_models.margin_model.param_function.param_function from extreme_estimator.extreme_models.max_stable_model.abstract_max_stable_model import CovarianceFunction from extreme_estimator.margin_fits.abstract_params import AbstractParams from extreme_estimator.margin_fits.gev.gev_params import GevParams -from extreme_estimator.margin_fits.gev.gevmle_fit import GevMleFit from extreme_estimator.margin_fits.gev.ismev_gev_fit import IsmevGevFit from extreme_estimator.margin_fits.gpd.gpd_params import GpdParams from extreme_estimator.margin_fits.gpd.gpdmle_fit import GpdMleFit @@ -38,10 +35,7 @@ from spatio_temporal_dataset.coordinates.spatio_temporal_coordinates.abstract_sp AbstractSpatioTemporalCoordinates from spatio_temporal_dataset.coordinates.temporal_coordinates.generated_temporal_coordinates import \ ConsecutiveTemporalCoordinates -from spatio_temporal_dataset.coordinates.transformed_coordinates.transformed_coordinates import TransformedCoordinates from spatio_temporal_dataset.dataset.abstract_dataset import AbstractDataset -from spatio_temporal_dataset.spatio_temporal_observations.abstract_spatio_temporal_observations import \ - AbstractSpatioTemporalObservations from spatio_temporal_dataset.spatio_temporal_observations.annual_maxima_observations import AnnualMaxima from test.test_utils import load_test_max_stable_models from utils import get_display_name_from_object_type, VERSION_TIME, float_to_str_with_only_some_significant_digits, \ diff --git a/experiment/trend_analysis/__init__.py b/experiment/trend_analysis/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/experiment/meteo_france_SCM_study/abstract_score.py b/experiment/trend_analysis/abstract_score.py similarity index 100% rename from experiment/meteo_france_SCM_study/abstract_score.py rename to experiment/trend_analysis/abstract_score.py diff --git a/experiment/meteo_france_SCM_study/abstract_trend_test.py b/experiment/trend_analysis/abstract_trend_test.py similarity index 91% rename from experiment/meteo_france_SCM_study/abstract_trend_test.py rename to experiment/trend_analysis/abstract_trend_test.py index 75ed24b873a078e10b6616f44c046a36276d5582..7a43a7da513220d6b4ad5a2281c83d03c370023e 100644 --- a/experiment/meteo_france_SCM_study/abstract_trend_test.py +++ b/experiment/trend_analysis/abstract_trend_test.py @@ -2,8 +2,8 @@ import random import numpy as np -from experiment.meteo_france_SCM_study.mann_kendall_test import mann_kendall_test -from experiment.meteo_france_SCM_study.abstract_score import MannKendall +from experiment.trend_analysis.mann_kendall_test import mann_kendall_test +from experiment.trend_analysis.abstract_score import MannKendall class AbstractTrendTest(object): @@ -95,3 +95,11 @@ class MannKendallTrendTest(AbstractTrendTest): def is_significant(self) -> bool: assert 'reject' in self.MK or 'accept' in self.MK return 'accept' in self.MK + + +class SpearmanRhoTrendTest(AbstractTrendTest): + pass + + +class AbstractNonStationaryGevTrendTest(AbstractTrendTest): + pass diff --git a/experiment/meteo_france_SCM_study/mann_kendall_test.py b/experiment/trend_analysis/mann_kendall_test.py similarity index 100% rename from experiment/meteo_france_SCM_study/mann_kendall_test.py rename to experiment/trend_analysis/mann_kendall_test.py diff --git a/experiment/meteo_france_SCM_study/visualization/study_visualization/non_stationary_trends.py b/experiment/trend_analysis/non_stationary_trends.py similarity index 100% rename from experiment/meteo_france_SCM_study/visualization/study_visualization/non_stationary_trends.py rename to experiment/trend_analysis/non_stationary_trends.py diff --git a/test/test_experiment/test_coordinate_sensitivity.py b/test/test_experiment/test_coordinate_sensitivity.py index 24e24d44d6021a50eda419a97892575eca6711ec..ea4daa978f3e064fb8af9860896c0fff46a8619d 100644 --- a/test/test_experiment/test_coordinate_sensitivity.py +++ b/test/test_experiment/test_coordinate_sensitivity.py @@ -3,12 +3,11 @@ import unittest from experiment.meteo_france_SCM_study.crocus.crocus import CrocusSwe from experiment.meteo_france_SCM_study.visualization.study_visualization.main_study_visualizer import \ study_iterator_global -from experiment.meteo_france_SCM_study.visualization.study_visualization.non_stationary_trends import \ +from experiment.trend_analysis.non_stationary_trends import \ ConditionalIndedendenceLocationTrendTest from experiment.meteo_france_SCM_study.visualization.study_visualization.study_visualizer import StudyVisualizer from spatio_temporal_dataset.coordinates.transformed_coordinates.transformation.uniform_normalization import \ - BetweenZeroAndOneNormalization, BetweenMinusOneAndOneNormalization, BetweenZeroAndTenNormalization, \ - BetweenZeroAndOneNormalizationMinEpsilon, BetweenZeroAndOneNormalizationMaxEpsilon + BetweenZeroAndOneNormalization, BetweenZeroAndOneNormalizationMinEpsilon, BetweenZeroAndOneNormalizationMaxEpsilon from utils import get_display_name_from_object_type