diff --git a/toargridding/metadata.py b/toargridding/metadata.py index 2c608850a2e3cebbee09f4ca1278a3ba137feb4e..2ba49787c7947f83df6153d4500b52fcfe7e5b84 100644 --- a/toargridding/metadata.py +++ b/toargridding/metadata.py @@ -1,4 +1,4 @@ -from datetime import datetime +from datetime import datetime, timedelta from enum import Enum from dataclasses import dataclass @@ -33,7 +33,8 @@ class TimeSample: @property def daterange_option(self): - return f"{self.start.isoformat()},{self.end.isoformat()}" + end_with_padding = self.end + timedelta(1) + return f"{self.start.isoformat()},{end_with_padding.isoformat()}" @property def frequency(self): diff --git a/toargridding/toar_rest_client.py b/toargridding/toar_rest_client.py index 26b3d3b4a455b2bfc37eb3e452b7feaaec495dcd..28fb9fc4a96b4853da26e23a1d794c14492aa701 100644 --- a/toargridding/toar_rest_client.py +++ b/toargridding/toar_rest_client.py @@ -154,16 +154,16 @@ class AnalysisService: return coords[valid_coords] def get_clean_timeseries(self, timeseries, metadata: Metadata): + # TODO maybe use cf-index here already ? + first, last = timeseries.columns[0], timeseries.columns[-1] + # remove data where utc -> sun/local ? time conversion leads to dateshift + timeseries.drop(columns=[first, last], inplace=True) + timeseries.columns = metadata.time.as_datetime_index() + all_na = timeseries.isna().all(axis=1) timeseries = timeseries[~all_na] timeseries = timeseries.fillna(0) - response_timesteps = timeseries.columns - expected_timesteps = metadata.time.as_datetime_index() - if not (response_timesteps == expected_timesteps).all(): - raise ValueError("foo") - # TODO maybe use cf-index here already ? - timeseries.columns = metadata.time.as_datetime_index() return timeseries def load_data(