diff --git a/extreme_data/meteo_france_data/adamont_data/abstract_adamont_study.py b/extreme_data/meteo_france_data/adamont_data/abstract_adamont_study.py index 85aa30be9caab29e548c642783c8c4d146c1b718..a71f69899e8c15a2dae12bdf0db19e606e95f6c9 100644 --- a/extreme_data/meteo_france_data/adamont_data/abstract_adamont_study.py +++ b/extreme_data/meteo_france_data/adamont_data/abstract_adamont_study.py @@ -98,9 +98,7 @@ class AbstractAdamontStudy(AbstractStudy): datasets = self.datasets_for_dates if maxima_date else self.datasets for dataset, real_scenario in zip(datasets, self.adamont_real_scenarios): annual_maxima_data = np.array(dataset.variables[self.indicator_name(maxima_date)]) - # Add potential transformation for the maxima - if not maxima_date: - annual_maxima_data = self.variable_class.transform_annual_maxima(annual_maxima_data) + annual_maxima_data = self.variable_class.transform_annual_maxima(annual_maxima_data, maxima_date) assert annual_maxima_data.shape[1] == len(self.column_mask) annual_maxima_data = annual_maxima_data[:, self.column_mask] year_min, year_max = get_year_min_and_year_max_from_scenario(real_scenario, self.gcm_rcm_couple) diff --git a/extreme_data/meteo_france_data/adamont_data/adamont/adamont_variables.py b/extreme_data/meteo_france_data/adamont_data/adamont/adamont_variables.py index c9273e31b196d59ddfe2b0ad8dc1698936e8f566..c6338dd3854c86ff839af3741b5cb976241a7ad6 100644 --- a/extreme_data/meteo_france_data/adamont_data/adamont/adamont_variables.py +++ b/extreme_data/meteo_france_data/adamont_data/adamont/adamont_variables.py @@ -32,8 +32,11 @@ class AbstractAdamontVariable(AbstractVariable): return indicator_name.replace('-', '_').capitalize() @classmethod - def transform_annual_maxima(cls, annual_maxima): - return annual_maxima + def transform_annual_maxima(cls, annual_maxima_data, maxima_date): + if maxima_date: + return annual_maxima_data.astype(int) + else: + return annual_maxima_data class SafranSnowfallSimulationVariable(AbstractAdamontVariable): @@ -85,5 +88,9 @@ class CrocusTotalSnowLoadVariable(CrocusSweSimulationVariable): UNIT = TotalSnowLoadVariable.UNIT @classmethod - def transform_annual_maxima(cls, annual_maxima): - return AbstractSnowLoadVariable.transform_swe_into_snow_load(annual_maxima) + def transform_annual_maxima(cls, annual_maxima_data, maxima_date): + annual_maxima_data = super().transform_annual_maxima(annual_maxima_data, maxima_date) + if maxima_date: + return annual_maxima_data + else: + return AbstractSnowLoadVariable.transform_swe_into_snow_load(annual_maxima_data)