Commit 4ecac4e7 authored by Le Roux Erwan's avatar Le Roux Erwan
Browse files

[COORDINATES] add some attributes to coordinates and to abstract_study

parent 10bc2a5b
No related merge requests found
Showing with 17 additions and 4 deletions
+17 -4
...@@ -3,7 +3,7 @@ import numpy as np ...@@ -3,7 +3,7 @@ import numpy as np
from PIL import Image, ImageDraw from PIL import Image, ImageDraw
import os.path as op import os.path as op
from collections import OrderedDict from collections import OrderedDict
from typing import List, Dict from typing import List, Dict, Tuple
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
import pandas as pd import pandas as pd
...@@ -71,6 +71,11 @@ class AbstractStudy(object): ...@@ -71,6 +71,11 @@ class AbstractStudy(object):
year_to_dataset[year] = Dataset(op.join(self.safran_full_path, nc_file)) year_to_dataset[year] = Dataset(op.join(self.safran_full_path, nc_file))
return year_to_dataset return year_to_dataset
@property
def start_year_and_end_year(self) -> Tuple[int, int]:
ordered_years = list(self.year_to_dataset_ordered_dict.keys())
return ordered_years[0], ordered_years[-1]
@cached_property @cached_property
def year_to_daily_time_serie_array(self) -> OrderedDict: def year_to_daily_time_serie_array(self) -> OrderedDict:
return self._year_to_daily_time_serie_array return self._year_to_daily_time_serie_array
......
...@@ -68,13 +68,13 @@ def max_stable_process_vizu_compare_gaume_study(altitude=1800, nb_days=1): ...@@ -68,13 +68,13 @@ def max_stable_process_vizu_compare_gaume_study(altitude=1800, nb_days=1):
study_visualizer.visualize_brown_resnick_fit() study_visualizer.visualize_brown_resnick_fit()
def normal_visualization(): def normal_visualization(temporal_non_stationarity=False):
save_to_file = False save_to_file = False
only_first_one = True only_first_one = True
# for study_class in SCM_STUDIES[:1]: # for study_class in SCM_STUDIES[:1]:
for study_class in [SafranSnowfall, SafranRainfall, SafranTemperature][:1]: for study_class in [SafranSnowfall, SafranRainfall, SafranTemperature][:1]:
for study in study_iterator(study_class, only_first_one=only_first_one): for study in study_iterator(study_class, only_first_one=only_first_one):
study_visualizer = StudyVisualizer(study, save_to_file=save_to_file) study_visualizer = StudyVisualizer(study, save_to_file=save_to_file, temporal_non_stationarity=temporal_non_stationarity)
# study_visualizer.visualize_independent_margin_fits(threshold=[None, 20, 40, 60][0]) # study_visualizer.visualize_independent_margin_fits(threshold=[None, 20, 40, 60][0])
# study_visualizer.visualize_annual_mean_values() # study_visualizer.visualize_annual_mean_values()
study_visualizer.visualize_linear_margin_fit(only_first_max_stable=None) study_visualizer.visualize_linear_margin_fit(only_first_max_stable=None)
...@@ -97,7 +97,7 @@ def complete_analysis(only_first_one=False): ...@@ -97,7 +97,7 @@ def complete_analysis(only_first_one=False):
if __name__ == '__main__': if __name__ == '__main__':
# annual_mean_vizu_compare_durand_study(safran=True, take_mean_value=True, altitude=2400) # annual_mean_vizu_compare_durand_study(safran=True, take_mean_value=True, altitude=2400)
normal_visualization() normal_visualization(temporal_non_stationarity=True)
# max_stable_process_vizu_compare_gaume_study(altitude=1800, nb_days=1) # max_stable_process_vizu_compare_gaume_study(altitude=1800, nb_days=1)
# extended_visualization() # extended_visualization()
# complete_analysis() # complete_analysis()
...@@ -162,6 +162,10 @@ class AbstractCoordinates(object): ...@@ -162,6 +162,10 @@ class AbstractCoordinates(object):
def nb_coordinates_spatial(self) -> int: def nb_coordinates_spatial(self) -> int:
return len(self.coordinates_spatial_names) return len(self.coordinates_spatial_names)
@property
def has_spatial_coordinates(self):
return self.nb_coordinates_spatial > 0
def df_spatial_coordinates(self, split: Split = Split.all) -> pd.DataFrame: def df_spatial_coordinates(self, split: Split = Split.all) -> pd.DataFrame:
if self.nb_coordinates_spatial == 0: if self.nb_coordinates_spatial == 0:
return pd.DataFrame() return pd.DataFrame()
...@@ -185,6 +189,10 @@ class AbstractCoordinates(object): ...@@ -185,6 +189,10 @@ class AbstractCoordinates(object):
def has_temporal_coordinates(self): def has_temporal_coordinates(self):
return self.nb_coordinates_temporal > 0 return self.nb_coordinates_temporal > 0
@property
def has_spatio_temporal_coordinates(self):
return self.has_spatial_coordinates and self.has_temporal_coordinates
def df_temporal_coordinates(self, split: Split = Split.all) -> pd.DataFrame: def df_temporal_coordinates(self, split: Split = Split.all) -> pd.DataFrame:
if self.nb_coordinates_temporal == 0: if self.nb_coordinates_temporal == 0:
return pd.DataFrame() return pd.DataFrame()
......
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