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

data origin era5 loads now data from TOARDB, era5_local uses former data loader from local path

parent a435c7a3
Branches
No related tags found
3 merge requests!522filter can now combine obs, forecast, and apriori for first iteration. Further...,!521Resolve "release v2.4.0",!514Resolve "load era5 data from toar db"
Pipeline #140225 canceled
......@@ -375,37 +375,37 @@ class DataHandlerSingleStation(AbstractDataHandler):
:return: downloaded data and its meta data
"""
df_all = {}
df_era5, df_toar = None, None
meta_era5, meta_toar = None, None
df_era5_local, df_toar = None, None
meta_era5_local, meta_toar = None, None
if data_origin is not None:
era5_origin = filter_dict_by_value(data_origin, "era5", True)
era5_stats = select_from_dict(statistics_per_var, era5_origin.keys())
toar_origin = filter_dict_by_value(data_origin, "era5", False)
toar_stats = select_from_dict(statistics_per_var, era5_origin.keys(), filter_cond=False)
assert len(era5_origin) + len(toar_origin) == len(data_origin)
assert len(era5_stats) + len(toar_stats) == len(statistics_per_var)
era5_local_origin = filter_dict_by_value(data_origin, "era5_local", True)
era5_local_stats = select_from_dict(statistics_per_var, era5_local_origin.keys())
toar_origin = filter_dict_by_value(data_origin, "era5_local", False)
toar_stats = select_from_dict(statistics_per_var, era5_local_origin.keys(), filter_cond=False)
assert len(era5_local_origin) + len(toar_origin) == len(data_origin)
assert len(era5_local_stats) + len(toar_stats) == len(statistics_per_var)
else:
era5_origin, toar_origin = None, None
era5_stats, toar_stats = statistics_per_var, statistics_per_var
era5_local_origin, toar_origin = None, None
era5_local_stats, toar_stats = statistics_per_var, statistics_per_var
# load data
if era5_origin is not None and len(era5_stats) > 0:
if era5_local_origin is not None and len(era5_local_stats) > 0:
# load era5 data
df_era5, meta_era5 = data_sources.era5.load_era5(station_name=station, stat_var=era5_stats,
sampling=sampling, data_origin=era5_origin)
df_era5_local, meta_era5_local = data_sources.era5.load_era5(
station_name=station, stat_var=era5_local_stats, sampling=sampling, data_origin=era5_local_origin)
if toar_origin is None or len(toar_stats) > 0:
# load combined data from toar-data (v2 & v1)
df_toar, meta_toar = data_sources.toar_data.download_toar(station=station, toar_stats=toar_stats,
sampling=sampling, data_origin=toar_origin)
if df_era5 is None and df_toar is None:
raise data_sources.toar_data.EmptyQueryResult(f"No data available for era5 and toar-data")
if df_era5_local is None and df_toar is None:
raise data_sources.toar_data.EmptyQueryResult(f"No data available for era5_local and toar-data")
df = pd.concat([df_era5, df_toar], axis=1, sort=True)
if meta_era5 is not None and meta_toar is not None:
meta = meta_era5.combine_first(meta_toar)
df = pd.concat([df_era5_local, df_toar], axis=1, sort=True)
if meta_era5_local is not None and meta_toar is not None:
meta = meta_era5_local.combine_first(meta_toar)
else:
meta = meta_era5 if meta_era5 is not None else meta_toar
meta = meta_era5_local if meta_era5_local is not None else meta_toar
meta.loc["data_origin"] = str(data_origin)
meta.loc["statistics_per_var"] = str(statistics_per_var)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment