Commit c5b17398 authored by Le Roux Erwan's avatar Le Roux Erwan
Browse files

[refactor] refactor some folder name. add test_results.py

parent 823361ae
No related merge requests found
Showing with 51 additions and 9 deletions
+51 -9
...@@ -82,6 +82,8 @@ class StudyVisualizerForNonStationaryTrends(StudyVisualizer): ...@@ -82,6 +82,8 @@ class StudyVisualizerForNonStationaryTrends(StudyVisualizer):
ConfidenceIntervalMethodFromExtremes.ci_mle][1:] ConfidenceIntervalMethodFromExtremes.ci_mle][1:]
if self.uncertainty_massif_names is None: if self.uncertainty_massif_names is None:
self.uncertainty_massif_names = self.study.study_massif_names self.uncertainty_massif_names = self.study.study_massif_names
else:
assert set(self.uncertainty_massif_names).issubset(set(self.study.study_massif_names))
if self.non_stationary_trend_test_to_marker is None: if self.non_stationary_trend_test_to_marker is None:
# Assign default argument for the non stationary trends # Assign default argument for the non stationary trends
self.non_stationary_trend_test = NON_STATIONARY_TREND_TEST_PAPER self.non_stationary_trend_test = NON_STATIONARY_TREND_TEST_PAPER
...@@ -95,7 +97,7 @@ class StudyVisualizerForNonStationaryTrends(StudyVisualizer): ...@@ -95,7 +97,7 @@ class StudyVisualizerForNonStationaryTrends(StudyVisualizer):
@cached_property @cached_property
def massif_name_to_years_and_maxima(self): def massif_name_to_years_and_maxima(self):
d = {} d = {}
df_maxima = self.study.observations_annual_maxima.df_maxima_gev df_maxima = self.study.observations_annual_maxima.df_maxima_gev.loc[self.uncertainty_massif_names]
years = np.array(df_maxima.columns) years = np.array(df_maxima.columns)
for massif_name, s_maxima in df_maxima.iterrows(): for massif_name, s_maxima in df_maxima.iterrows():
d[massif_name] = (years, np.array(s_maxima)) d[massif_name] = (years, np.array(s_maxima))
...@@ -135,6 +137,7 @@ class StudyVisualizerForNonStationaryTrends(StudyVisualizer): ...@@ -135,6 +137,7 @@ class StudyVisualizerForNonStationaryTrends(StudyVisualizer):
# In both cases, we remove any massif with psnow < 0.9 # In both cases, we remove any massif with psnow < 0.9
if self.fit_only_time_series_with_ninety_percent_of_non_null_values: if self.fit_only_time_series_with_ninety_percent_of_non_null_values:
d = {m: v for m, v in d.items() if self.massif_name_to_psnow[m] >= 0.9} d = {m: v for m, v in d.items() if self.massif_name_to_psnow[m] >= 0.9}
print(d.keys())
return d return d
@property @property
......
...@@ -18,7 +18,7 @@ from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusS ...@@ -18,7 +18,7 @@ from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusS
CrocusSnowLoad5Days, CrocusSnowLoad7Days, CrocusSnowLoad1Day CrocusSnowLoad5Days, CrocusSnowLoad7Days, CrocusSnowLoad1Day
from extreme_fit.model.result_from_model_fit.result_from_extremes.confidence_interval_method import \ from extreme_fit.model.result_from_model_fit.result_from_extremes.confidence_interval_method import \
ConfidenceIntervalMethodFromExtremes ConfidenceIntervalMethodFromExtremes
from projects.contrasting_snow_loads.plot_contrasting_trend_curves import plot_contrasting_trend_curves from projects.contrasting_trends_in_snow_loads.plot_contrasting_trend_curves import plot_contrasting_trend_curves
from projects.exceeding_snow_loads.section_results.main_result_trends_and_return_levels import \ from projects.exceeding_snow_loads.section_results.main_result_trends_and_return_levels import \
compute_minimized_aic compute_minimized_aic
from root_utils import NB_CORES from root_utils import NB_CORES
......
from multiprocessing.pool import Pool from multiprocessing.pool import Pool
import matplotlib as mpl import matplotlib as mpl
mpl.rcParams['text.usetex'] = True
mpl.rcParams['text.latex.preamble'] = [r'\usepackage{amsmath}']
from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal from extreme_data.meteo_france_data.scm_models_data.crocus.crocus import CrocusSnowLoadTotal
from extreme_trend.visualizers.utils import load_altitude_to_visualizer
from projects.exceeding_snow_loads.utils import paper_study_classes, paper_altitudes
from projects.exceeding_snow_loads.section_results.plot_uncertainty_curves import plot_uncertainty_massifs
from extreme_trend.visualizers.study_visualizer_for_non_stationary_trends import \
StudyVisualizerForNonStationaryTrends
from extreme_fit.model.result_from_model_fit.result_from_extremes.confidence_interval_method import \ from extreme_fit.model.result_from_model_fit.result_from_extremes.confidence_interval_method import \
ConfidenceIntervalMethodFromExtremes ConfidenceIntervalMethodFromExtremes
from extreme_trend.visualizers.study_visualizer_for_non_stationary_trends import \
StudyVisualizerForNonStationaryTrends
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 projects.exceeding_snow_loads.utils import paper_study_classes, paper_altitudes
from root_utils import NB_CORES from root_utils import NB_CORES
mpl.rcParams['text.usetex'] = True
mpl.rcParams['text.latex.preamble'] = [r'\usepackage{amsmath}']
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
......
from typing import Dict from typing import Dict
import matplotlib as mpl
mpl.rcParams['text.usetex'] = True
mpl.rcParams['text.latex.preamble'] = [r'\usepackage{amsmath}']
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
import numpy as np import numpy as np
......
...@@ -24,3 +24,5 @@ NON_STATIONARY_TREND_TEST_PAPER = [GumbelVersusGumbel, ...@@ -24,3 +24,5 @@ NON_STATIONARY_TREND_TEST_PAPER = [GumbelVersusGumbel,
GevLocationAgainstGumbel, GevScaleAgainstGumbel, GevLocationAgainstGumbel, GevScaleAgainstGumbel,
GevLocationAndScaleTrendTestAgainstGumbel] GevLocationAndScaleTrendTestAgainstGumbel]
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
class TestResults(unittest.TestCase):
def test_run_intermediate_results(self):
# Load data
altitude_to_visualizer = load_altitude_to_visualizer(altitudes=[300, 600], massif_names=['Chartreuse'],
study_class=CrocusSnowLoadTotal,
model_subsets_for_uncertainty=None,
uncertainty_methods=[
ConfidenceIntervalMethodFromExtremes.ci_mle])
plot_trend_map(altitude_to_visualizer)
plot_trend_curves(altitude_to_visualizer)
plot_uncertainty_massifs(altitude_to_visualizer)
plot_uncertainty_histogram(altitude_to_visualizer)
plot_selection_curves(altitude_to_visualizer)
self.assertTrue(True)
if __name__ == '__main__':
unittest.main()
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment