Skip to content
Snippets Groups Projects
Commit ebc64a21 authored by leufen1's avatar leufen1
Browse files

refac on different lines

parent d1c26a21
Branches
Tags
7 merge requests!353add developments to release v1.5.0,!352Resolve "release v1.5.0",!343Update wrf with develop,!342Include sample-uncertainty to wrf workflow,!332Resolve "REFAC: individual trafo for unfiltered data",!331Resolve "REFAC: do not stop if filter plots fail",!259Draft: Resolve "WRF-Datahandler should inherit from SingleStationDatahandler"
...@@ -223,7 +223,8 @@ class DataHandlerSingleStation(AbstractDataHandler): ...@@ -223,7 +223,8 @@ class DataHandlerSingleStation(AbstractDataHandler):
elif method == "centre": elif method == "centre":
return statistics.centre_apply(data, mean), {"mean": mean, "method": method} return statistics.centre_apply(data, mean), {"mean": mean, "method": method}
elif method == "min_max": elif method == "min_max":
return statistics.min_max_apply(data, min, max), {"min": min, "max": max, "method": method, kws = {"feature_range": feature_range} if feature_range is not None else {}
return statistics.min_max_apply(data, min, max, **kws), {"min": min, "max": max, "method": method,
"feature_range": feature_range} "feature_range": feature_range}
elif method == "log": elif method == "log":
return statistics.log_apply(data, mean, std), {"mean": mean, "std": std, "method": method} return statistics.log_apply(data, mean, std), {"mean": mean, "std": std, "method": method}
...@@ -416,8 +417,7 @@ class DataHandlerSingleStation(AbstractDataHandler): ...@@ -416,8 +417,7 @@ class DataHandlerSingleStation(AbstractDataHandler):
""" """
chem_vars = ["benzene", "ch4", "co", "ethane", "no", "no2", "nox", "o3", "ox", "pm1", "pm10", "pm2p5", chem_vars = ["benzene", "ch4", "co", "ethane", "no", "no2", "nox", "o3", "ox", "pm1", "pm10", "pm2p5",
"propane", "so2", "toluene"] "propane", "so2", "toluene"]
# used_chem_vars = list(set(chem_vars) & set(self.statistics_per_var.keys())) used_chem_vars = list(set(chem_vars) & set(data.coords[self.target_dim].values))
used_chem_vars = list(set(chem_vars) & set(data.variables.values))
if len(used_chem_vars) > 0: if len(used_chem_vars) > 0:
data.loc[..., used_chem_vars] = data.loc[..., used_chem_vars].clip(min=minimum) data.loc[..., used_chem_vars] = data.loc[..., used_chem_vars].clip(min=minimum)
return data return data
...@@ -463,11 +463,8 @@ class DataHandlerSingleStation(AbstractDataHandler): ...@@ -463,11 +463,8 @@ class DataHandlerSingleStation(AbstractDataHandler):
:return: this array :return: this array
""" """
ind = pd.DataFrame({'val': index_value}, index=index_value) ind = pd.DataFrame({'val': index_value}, index=index_value)
# res = xr.Dataset.from_dataframe(ind).to_array().rename({'index': index_name}).squeeze(dim=squeez/e_dim, drop=True)
res = xr.Dataset.from_dataframe(ind).to_array(squeeze_dim).rename({'index': index_name}).squeeze( res = xr.Dataset.from_dataframe(ind).to_array(squeeze_dim).rename({'index': index_name}).squeeze(
dim=squeeze_dim, dim=squeeze_dim, drop=True)
drop=True
)
res.name = index_name res.name = index_name
return res return res
...@@ -750,8 +747,6 @@ class DataHandlerSingleStation(AbstractDataHandler): ...@@ -750,8 +747,6 @@ class DataHandlerSingleStation(AbstractDataHandler):
if __name__ == "__main__": if __name__ == "__main__":
# dp = AbstractDataPrep('data/', 'dummy', 'DEBW107', ['o3', 'temp'], statistics_per_var={'o3': 'dma8eu', 'temp': 'maximum'})
# print(dp)
statistics_per_var = {'o3': 'dma8eu', 'temp-rea-miub': 'maximum'} statistics_per_var = {'o3': 'dma8eu', 'temp-rea-miub': 'maximum'}
sp = DataHandlerSingleStation(data_path='/home/felix/PycharmProjects/mlt_new/data/', station='DEBY122', sp = DataHandlerSingleStation(data_path='/home/felix/PycharmProjects/mlt_new/data/', station='DEBY122',
statistics_per_var=statistics_per_var, station_type='background', statistics_per_var=statistics_per_var, station_type='background',
......
...@@ -152,7 +152,10 @@ def min_max_apply(data: Data, _min: Data, _max: Data, feature_range: Data = (0, ...@@ -152,7 +152,10 @@ def min_max_apply(data: Data, _min: Data, _max: Data, feature_range: Data = (0,
:param feature_range: scale data to any interval given in feature range. Default is scaling on interval [0, 1]. :param feature_range: scale data to any interval given in feature range. Default is scaling on interval [0, 1].
:return: min/max scaled data :return: min/max scaled data
""" """
if not isinstance(feature_range, xr.DataArray):
return (data - _min) / (_max - _min) * (max(feature_range) - min(feature_range)) + min(feature_range) return (data - _min) / (_max - _min) * (max(feature_range) - min(feature_range)) + min(feature_range)
else:
return (data - _min) / (_max - _min) * (feature_range.max() - feature_range.min()) + feature_range.min()
def log(data: Data, dim: Union[str, int]) -> Tuple[Data, Dict[(str, Data)]]: def log(data: Data, dim: Union[str, int]) -> Tuple[Data, Dict[(str, Data)]]:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment