Commit 49e03e7f authored by Le Roux Erwan's avatar Le Roux Erwan
Browse files

[HYPERCUBE VISUALIZATION] modify first starting year for the full parameters....

[HYPERCUBE VISUALIZATION] modify first starting year for the full parameters. add main starting years to study cluster of starting year for a single altitude for a recent SWE (RSWE). add colormap for display
parent d61ff6d9
No related merge requests found
Showing with 73 additions and 9 deletions
+73 -9
......@@ -22,23 +22,24 @@ def get_full_parameters(altitude=None):
altitudes = [altitude]
else:
altitudes = ALL_ALTITUDES[3:-6]
last_starting_year = 2007
first_starting_year = 1958 + 10
last_starting_year = 2017 - 10
trend_test_class = GevLocationChangePointTest
return altitudes, last_starting_year, nb_data_reduced_for_speed, only_first_one, save_to_file, trend_test_class
return altitudes, first_starting_year, last_starting_year, nb_data_reduced_for_speed, only_first_one, save_to_file, trend_test_class
def get_full_altitude_visualizer(altitude_hypercube_class, study_classes, exact_starting_year=None, altitude=None):
altitudes, last_starting_year, nb_data_reduced_for_speed, only_first_one, save_to_file, trend_test_class = get_full_parameters(altitude=altitude)
altitudes, first_starting_year, last_starting_year, nb_data_reduced_for_speed, only_first_one, save_to_file, trend_test_class = get_full_parameters(altitude=altitude)
if exact_starting_year is not None:
last_starting_year = None
visualizer = load_altitude_visualizer(altitude_hypercube_class, altitudes, last_starting_year,
nb_data_reduced_for_speed, only_first_one, save_to_file, study_classes,
trend_test_class, exact_starting_year=exact_starting_year)
trend_test_class, exact_starting_year=exact_starting_year, first_starting_year=first_starting_year)
return visualizer
def get_full_quantity_visualizer(quantity_hypercube_class, altitude=None, study_classes=None):
altitudes, last_starting_year, nb_data_reduced_for_speed, only_first_one, save_to_file, trend_test_class = get_full_parameters(altitude=altitude)
altitudes, first_starting_year, last_starting_year, nb_data_reduced_for_speed, only_first_one, save_to_file, trend_test_class = get_full_parameters(altitude=altitude)
if study_classes is None:
study_classes = SCM_STUDIES[:3]
visualizer = load_quantity_visualizer(quantity_hypercube_class, altitudes, last_starting_year,
......
import time
from experiment.meteo_france_data.scm_models_data.crocus.crocus import CrocusRecentSwe
from experiment.meteo_france_data.scm_models_data.visualization.hypercube_visualization.altitude_hypercube_visualizer import \
AltitudeHypercubeVisualizer
from experiment.meteo_france_data.scm_models_data.visualization.hypercube_visualization.altitude_hypercube_visualizer_extended import \
AltitudeHypercubeVisualizerBisExtended, QuantityHypercubeWithoutTrendExtended, \
AltitudeHypercubeVisualizerWithoutTrendExtended, QuantityHypercubeWithoutTrend
from experiment.meteo_france_data.scm_models_data.visualization.hypercube_visualization.altitude_year_hypercube_visualizer import \
Altitude_Hypercube_Year_Visualizer
from experiment.meteo_france_data.scm_models_data.visualization.hypercube_visualization.main_files.main_fast_hypercube_one_altitudes import \
get_fast_parameters
from experiment.meteo_france_data.scm_models_data.visualization.hypercube_visualization.main_files.main_full_hypercube import \
get_full_parameters
from experiment.meteo_france_data.scm_models_data.visualization.hypercube_visualization.quantity_altitude_visualizer import \
QuantityAltitudeHypercubeVisualizer
from experiment.meteo_france_data.scm_models_data.visualization.hypercube_visualization.utils_hypercube import \
load_altitude_visualizer, load_quantity_visualizer
from experiment.meteo_france_data.scm_models_data.visualization.study_visualization.main_study_visualizer import \
ALL_ALTITUDES, SCM_STUDIES
from experiment.trend_analysis.univariate_test.abstract_gev_change_point_test import GevLocationChangePointTest
def get_fast_altitude_visualizer(altitude_hypercube_class):
altitudes, last_starting_year, nb_data_reduced_for_speed, only_first_one, save_to_file, trend_test_class = get_fast_parameters()
study_classes = [CrocusRecentSwe]
visualizer = load_altitude_visualizer(altitude_hypercube_class, altitudes, last_starting_year,
nb_data_reduced_for_speed, only_first_one, save_to_file, study_classes,
trend_test_class)
return visualizer
def main_fast_spatial_repartition():
# Simply the main graph
get_fast_altitude_visualizer(Altitude_Hypercube_Year_Visualizer).visualize_massif_trend_test()
def get_full_altitude_visualizer(altitude_hypercube_class):
altitudes, first_starting_year, last_starting_year, nb_data_reduced_for_speed, only_first_one, save_to_file, trend_test_class = get_full_parameters(altitude=900)
study_classes = [CrocusRecentSwe]
visualizer = load_altitude_visualizer(altitude_hypercube_class, altitudes, last_starting_year,
nb_data_reduced_for_speed, only_first_one, save_to_file, study_classes,
trend_test_class, first_starting_year=first_starting_year)
return visualizer
def main_full_spatial_repartition():
get_full_altitude_visualizer(Altitude_Hypercube_Year_Visualizer).visualize_massif_trend_test()
def main_run():
main_full_spatial_repartition()
if __name__ == '__main__':
start = time.time()
main_run()
duration = time.time() - start
print('Full run took {}s'.format(round(duration, 1)))
......@@ -31,7 +31,7 @@ def load_quantity_visualizer(quantity_hypercube_class, altitudes, last_starting_
def load_altitude_visualizer(altitude_hypercube_class, altitudes, last_starting_year, nb_data_reduced_for_speed,
only_first_one, save_to_file, study_classes, trend_test_class
, exact_starting_year=None):
, exact_starting_year=None, first_starting_year=1958):
visualizers = [StudyVisualizer(study, temporal_non_stationarity=True, verbose=False, multiprocessing=True)
for study in study_iterator_global(study_classes=study_classes, only_first_one=only_first_one,
altitudes=altitudes)]
......@@ -41,6 +41,7 @@ def load_altitude_visualizer(altitude_hypercube_class, altitudes, last_starting_
trend_test_class=trend_test_class,
nb_data_reduced_for_speed=nb_data_reduced_for_speed,
last_starting_year=last_starting_year,
first_starting_year=first_starting_year,
exact_starting_year=exact_starting_year,
)
assert isinstance(visualizer, AltitudeHypercubeVisualizer)
......
......@@ -6,7 +6,7 @@ from experiment.meteo_france_data.scm_models_data.visualization.study_visualizat
from experiment.trend_analysis.abstract_score import MannKendall
from experiment.meteo_france_data.scm_models_data.abstract_study import AbstractStudy
from experiment.meteo_france_data.scm_models_data.crocus.crocus import CrocusDepth, CrocusTotalSwe, ExtendedCrocusDepth, \
ExtendedCrocusTotalSwe, CrocusDaysWithSnowOnGround
ExtendedCrocusTotalSwe, CrocusDaysWithSnowOnGround, CrocusRecentSwe
from experiment.meteo_france_data.scm_models_data.safran.safran import SafranSnowfall, ExtendedSafranSnowfall, \
SafranRainfall, \
SafranTemperature, SafranTotalPrecip
......@@ -23,7 +23,8 @@ SCM_STUDIES_NAMES = [get_display_name_from_object_type(k) for k in SCM_STUDIES]
SCM_STUDY_NAME_TO_SCM_STUDY = dict(zip(SCM_STUDIES_NAMES, SCM_STUDIES))
SCM_STUDY_CLASS_TO_ABBREVIATION = {
SafranSnowfall: 'SF3',
CrocusTotalSwe: 'SWE',
CrocusTotalSwe: 'TSWE',
CrocusRecentSwe: 'RSWE',
CrocusDepth: 'SD',
}
......
......@@ -58,7 +58,7 @@ class AbstractUnivariateTest(object):
d = OrderedDict()
# d[cls.POSITIVE_TREND] = 'g--'
# d[cls.NEGATIVE_TREND] = 'r--'
# d[cls.ALL_TREND] = 'k-'
d[cls.ALL_TREND] = 'k-'
d[cls.NON_SIGNIFICATIVE_TREND] = 'b-'
# d[cls.SIGNIFICATIVE_ALL_TREND] = 'k-'
d[cls.SIGNIFICATIVE_POSITIVE_TREND] = 'g-'
......@@ -94,6 +94,8 @@ class AbstractUnivariateTest(object):
return plt.cm.Greens
elif 'negative' in trend_type:
return plt.cm.Reds
elif 'non' in trend_type:
return plt.cm.Blues
else:
return plt.cm.binary
......
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