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

[HYPERCUBE] fix minor display/parameter issues. run plot woth with exact starting year.

parent 84ec6e70
No related merge requests found
Showing with 46 additions and 17 deletions
+46 -17
...@@ -33,7 +33,7 @@ class AbstractHypercubeVisualizer(object): ...@@ -33,7 +33,7 @@ class AbstractHypercubeVisualizer(object):
if exact_starting_year is not None: if exact_starting_year is not None:
assert first_starting_year is None assert first_starting_year is None
assert last_starting_year is None assert last_starting_year is None
self.first_starting_year, self.first_starting_year = exact_starting_year, exact_starting_year self.first_starting_year, self.last_starting_year = exact_starting_year, exact_starting_year
else: else:
default_first_starting_year, *_, default_last_starting_year = self.all_potential_starting_years default_first_starting_year, *_, default_last_starting_year = self.all_potential_starting_years
self.first_starting_year = first_starting_year if first_starting_year is not None else default_first_starting_year self.first_starting_year = first_starting_year if first_starting_year is not None else default_first_starting_year
...@@ -46,6 +46,7 @@ class AbstractHypercubeVisualizer(object): ...@@ -46,6 +46,7 @@ class AbstractHypercubeVisualizer(object):
if self.verbose: if self.verbose:
print('Hypercube with parameters:') print('Hypercube with parameters:')
print('First starting year: {}, Last starting year: {}'.format(self.first_starting_year, self.last_starting_year))
print('Starting years:', self.starting_years) print('Starting years:', self.starting_years)
print('Trend test class:', get_display_name_from_object_type(self.trend_test_class)) print('Trend test class:', get_display_name_from_object_type(self.trend_test_class))
...@@ -61,7 +62,8 @@ class AbstractHypercubeVisualizer(object): ...@@ -61,7 +62,8 @@ class AbstractHypercubeVisualizer(object):
@cached_property @cached_property
def starting_years(self): def starting_years(self):
starting_years = [year for year in self.all_potential_starting_years if self.first_starting_year <= year <= self.last_starting_year] starting_years = [year for year in self.all_potential_starting_years
if self.first_starting_year <= year <= self.last_starting_year]
if self.nb_data_for_fast_mode is not None: if self.nb_data_for_fast_mode is not None:
starting_years = starting_years[:self.nb_data_for_fast_mode] starting_years = starting_years[:self.nb_data_for_fast_mode]
return starting_years return starting_years
......
...@@ -84,7 +84,8 @@ class AltitudeHypercubeVisualizer(AbstractHypercubeVisualizer): ...@@ -84,7 +84,8 @@ class AltitudeHypercubeVisualizer(AbstractHypercubeVisualizer):
if xlabel != 'starting years': if xlabel != 'starting years':
labels.remove('starting years') labels.remove('starting years')
common_txt = 'averaged on {}'.format(' & '.join(labels)) common_txt = 'averaged on {}'.format(' & '.join(labels))
common_txt += ' with any starting year <= {}'.format(str(self.last_starting_year)) common_txt += ' with any starting year between {} and {}'.format(self.first_starting_year,
self.last_starting_year)
return common_txt return common_txt
def visualize_trend_test_evolution(self, reduction_function, xlabel, xlabel_values, axes=None, marker='o', def visualize_trend_test_evolution(self, reduction_function, xlabel, xlabel_values, axes=None, marker='o',
...@@ -223,8 +224,7 @@ class AltitudeHypercubeVisualizer(AbstractHypercubeVisualizer): ...@@ -223,8 +224,7 @@ class AltitudeHypercubeVisualizer(AbstractHypercubeVisualizer):
def load_axes_for_trend_test_repartition(self, nb_rows): def load_axes_for_trend_test_repartition(self, nb_rows):
nb_trend_type = len(self.display_trend_type_to_style) nb_trend_type = len(self.display_trend_type_to_style)
fig, axes = plt.subplots(nb_rows, nb_trend_type, figsize=self.study_visualizer.figsize, fig, axes = plt.subplots(nb_rows, nb_trend_type, figsize=self.study_visualizer.figsize)
constrained_layout=True)
return axes return axes
@property @property
......
...@@ -116,10 +116,10 @@ def fast_altitude_without_trend_type_hypercube_extended(): ...@@ -116,10 +116,10 @@ def fast_altitude_without_trend_type_hypercube_extended():
altitudes=altitudes)] altitudes=altitudes)]
altitude_to_visualizer = OrderedDict(zip(altitudes, visualizers)) altitude_to_visualizer = OrderedDict(zip(altitudes, visualizers))
visualizer = QuantityHypercubeWithoutTrendExtended(altitude_to_visualizer, visualizer = QuantityHypercubeWithoutTrendExtended(altitude_to_visualizer,
save_to_file=save_to_file, save_to_file=save_to_file,
trend_test_class=trend_test_class, trend_test_class=trend_test_class,
nb_data_reduced_for_speed=nb_data_reduced_for_speed, nb_data_reduced_for_speed=nb_data_reduced_for_speed,
last_starting_year=last_starting_year) last_starting_year=last_starting_year)
visualizer.vsualize_year_trend_by_regions_and_altitudes() visualizer.vsualize_year_trend_by_regions_and_altitudes()
# visualizer = QuantityHypercubeWithoutTrend(altitude_to_visualizer, # visualizer = QuantityHypercubeWithoutTrend(altitude_to_visualizer,
...@@ -131,13 +131,13 @@ def fast_altitude_without_trend_type_hypercube_extended(): ...@@ -131,13 +131,13 @@ def fast_altitude_without_trend_type_hypercube_extended():
def fast_altitude_year_hypercube_extended(): def fast_altitude_year_hypercube_extended():
save_to_file = False save_to_file = True
only_first_one = False only_first_one = False
nb_data_reduced_for_speed = True nb_data_reduced_for_speed = True
altitudes = [ALL_ALTITUDES[3], ALL_ALTITUDES[-7]] altitudes = [ALL_ALTITUDES[3], ALL_ALTITUDES[-7]]
for study_class in SCM_STUDIES[:2]: for study_class in SCM_STUDIES[:1]:
for exact_starting_year in [1982]: for exact_starting_year in [1980, 1981]:
for trend_test_class in [GevLocationChangePointTest, GevScaleChangePointTest, GevShapeChangePointTest][:2]: for trend_test_class in [GevLocationChangePointTest, GevScaleChangePointTest, GevShapeChangePointTest][:1]:
visualizers = [ visualizers = [
StudyVisualizer(study, temporal_non_stationarity=True, verbose=False, multiprocessing=True) StudyVisualizer(study, temporal_non_stationarity=True, verbose=False, multiprocessing=True)
for study in study_iterator(study_class=study_class, only_first_one=only_first_one, for study in study_iterator(study_class=study_class, only_first_one=only_first_one,
...@@ -146,7 +146,7 @@ def fast_altitude_year_hypercube_extended(): ...@@ -146,7 +146,7 @@ def fast_altitude_year_hypercube_extended():
visualizer = AltitudeHypercubeVisualizerExtended(altitude_to_visualizer, save_to_file=save_to_file, visualizer = AltitudeHypercubeVisualizerExtended(altitude_to_visualizer, save_to_file=save_to_file,
trend_test_class=trend_test_class, trend_test_class=trend_test_class,
nb_data_reduced_for_speed=nb_data_reduced_for_speed, nb_data_reduced_for_speed=nb_data_reduced_for_speed,
last_starting_year=exact_starting_year) exact_starting_year=exact_starting_year)
# visualizer.visualize_year_trend_test() # visualizer.visualize_year_trend_test()
# visualizer.visualize_altitude_trend_test() # visualizer.visualize_altitude_trend_test()
# visualizer.visualize_massif_trend_test_by_altitudes() # visualizer.visualize_massif_trend_test_by_altitudes()
...@@ -181,6 +181,31 @@ def full_altitude_year_hypercube(): ...@@ -181,6 +181,31 @@ def full_altitude_year_hypercube():
visualizer.visualize_altitude_trend_test() visualizer.visualize_altitude_trend_test()
def full_exact_altitude_year_hypercube():
save_to_file = True
only_first_one = False
nb_data_reduced_for_speed = False
altitudes = ALL_ALTITUDES[3:-6]
for study_class in SCM_STUDIES[:]:
for trend_test_class in [GevLocationChangePointTest, GevScaleChangePointTest,
GevShapeChangePointTest][:1]:
years = [1980, 1981, 1982][:]
for exact_starting_year in years:
visualizers = [
StudyVisualizer(study, temporal_non_stationarity=True, verbose=False, multiprocessing=True)
for study in study_iterator(study_class=study_class, only_first_one=only_first_one,
altitudes=altitudes)]
altitude_to_visualizer = OrderedDict(zip(altitudes, visualizers))
visualizer = Altitude_Hypercube_Year_Visualizer(altitude_to_visualizer,
save_to_file=save_to_file,
trend_test_class=trend_test_class,
nb_data_reduced_for_speed=nb_data_reduced_for_speed,
exact_starting_year=exact_starting_year)
visualizer.visualize_year_trend_test()
visualizer.visualize_massif_trend_test()
visualizer.visualize_altitude_trend_test()
def full_altitude_year_hypercube_extended(): def full_altitude_year_hypercube_extended():
save_to_file = True save_to_file = True
only_first_one = False only_first_one = False
...@@ -250,7 +275,7 @@ def fast_quantity_altitude_hypercube(): ...@@ -250,7 +275,7 @@ def fast_quantity_altitude_hypercube():
quantity_altitude_tuples = list(product(study_classes_str, altitudes)) quantity_altitude_tuples = list(product(study_classes_str, altitudes))
quantity_altitude_to_visualizer = OrderedDict(zip(quantity_altitude_tuples, visualizers)) quantity_altitude_to_visualizer = OrderedDict(zip(quantity_altitude_tuples, visualizers))
visualizer = QuantityHypercubeWithoutTrend(quantity_altitude_to_visualizer, save_to_file=save_to_file, visualizer = QuantityHypercubeWithoutTrend(quantity_altitude_to_visualizer, save_to_file=save_to_file,
trend_test_class=trend_test_class, nb_data_reduced_for_speed=True) trend_test_class=trend_test_class, nb_data_reduced_for_speed=True)
visualizer.visualize_year_trend_test() visualizer.visualize_year_trend_test()
# visualizer.visualize_massif_trend_test() # visualizer.visualize_massif_trend_test()
# visualizer.visualize_altitude_trend_test() # visualizer.visualize_altitude_trend_test()
...@@ -261,9 +286,11 @@ def main_run(): ...@@ -261,9 +286,11 @@ def main_run():
# fast_altitude_year_hypercube() # fast_altitude_year_hypercube()
# fast_quantity_altitude_hypercube() # fast_quantity_altitude_hypercube()
# fast_altitude_without_trend_type_hypercube_extended() # fast_altitude_year_hypercube_extended()
full_exact_altitude_year_hypercube()
# full_altitude_year_hypercube__without_trend_extended() # full_altitude_year_hypercube__without_trend_extended()
full_quantity_altitude_hypercube() # fast_altitude_without_trend_type_hypercube_extended()
# full_quantity_altitude_hypercube()
# fast_altitude_year_hypercube_extended() # fast_altitude_year_hypercube_extended()
# full_altitude_year_hypercube_extended() # full_altitude_year_hypercube_extended()
......
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