From c6251b775d80d3e32891aaff1c17b57971d83d88 Mon Sep 17 00:00:00 2001 From: lensing1 <m.lensing@fz-juelich.de> Date: Fri, 21 Feb 2025 14:16:33 +0100 Subject: [PATCH] fixed statistic output format, updated toarstats to 0.6.7 --- CHANGELOG.md | 5 ++++ dist/toarstats-0.6.7-py3-none-any.whl | Bin 0 -> 32922 bytes setup.cfg | 2 +- toarstats/metrics/interface.py | 13 +++------- toarstats/metrics/stats_utils.py | 35 +++++++++++++++----------- 5 files changed, 31 insertions(+), 24 deletions(-) create mode 100644 dist/toarstats-0.6.7-py3-none-any.whl diff --git a/CHANGELOG.md b/CHANGELOG.md index d92519d..1592b8d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ # Changelog All notable changes to this project will be documented in this file. +## v0.6.7 - 2025-02-21 - fixed output format + +### general: +* changed statistic output format to cover the whole daterange + ## v0.6.6 - 2025-02-10 - fixed osdma8 statistic ### general: diff --git a/dist/toarstats-0.6.7-py3-none-any.whl b/dist/toarstats-0.6.7-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..5c72a1c69cbda7390caff50e9858268b61b3126b GIT binary patch literal 32922 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 literal 0 HcmV?d00001 diff --git a/setup.cfg b/setup.cfg index 8fe948b..256d56f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = toarstats -version = 0.6.6 +version = 0.6.7 author = Niklas Selke, Martin Schultz, Max Lensing author_email = n.selke@fz-juelich.de, m.schultz@fz-juelich.de, m.lensing@fz-juelich.de description = Collection of statistics for the TOAR community diff --git a/toarstats/metrics/interface.py b/toarstats/metrics/interface.py index a34d97a..602883b 100644 --- a/toarstats/metrics/interface.py +++ b/toarstats/metrics/interface.py @@ -146,13 +146,8 @@ def calculate_statistics( ) ) - if resample_rule == "custom": - custom_index = pd.DatetimeIndex([ref.index.min().strftime("%Y-%m-%d")]) - for res in results: - res["ser"].index = custom_index - else: - results = harmonize_time( - results, resample_rule, - "H" if "diurnal_cycle" in input_parameters.statistics else None - ) + results = harmonize_time( + results, ref, resample_rule, + "H" if "diurnal_cycle" in input_parameters.statistics else None + ) return pd.DataFrame({res["name"]: res["ser"] for res in results}) diff --git a/toarstats/metrics/stats_utils.py b/toarstats/metrics/stats_utils.py index 95b4799..36f4d43 100644 --- a/toarstats/metrics/stats_utils.py +++ b/toarstats/metrics/stats_utils.py @@ -140,11 +140,11 @@ def create_reference_series(index, sampling, daterange=None): min_date = index.min() max_date = index.max() if daterange is not None: - # adjust start and end-date by the minute-offset of the timeseries + # adjust start and end-date by the minute/second offset of the timeseries start_date = pd.to_datetime(daterange.split(",")[0]) - start_date = start_date.replace(minute=min_date.minute) + start_date = start_date.replace(minute=min_date.minute, second=min_date.second) end_date = pd.to_datetime(daterange.split(",")[1]) - end_date = end_date.replace(minute=max_date.minute) + end_date = end_date.replace(minute=max_date.minute, second=max_date.second) if sampling in ["annual", "seasonal", "summer", "xsummer"]: start_date = start_date.replace(month=1, day=1, hour=0) @@ -290,25 +290,32 @@ def get_seasons(sampling, statistics, metadata, seasons, crops, else DEFAULT_SEASONS for stat in statistics] -def harmonize_time(ser_list, mtype, rsfreq=None): +def harmonize_time(ser_list, ref, mtype, rsfreq=None): """Harmonize the datetime index of all given series. :param ser_list: a list of series + :param ref: reference timeseries :param mtype: aggregation type :param rsfreq: resampling frequency for the datetime index :return: A list of series with harmonized datetime indices """ - if rsfreq is None: - rsfreq = RSTAGS[mtype] - tmin = min(record["ser"].index.min() for record in ser_list) - tmax = max(record["ser"].index.max() for record in ser_list) - try: - newindex = pd.date_range(tmin, tmax, freq=rsfreq) - except ValueError: - newindex = pd.DatetimeIndex([]) - for record in ser_list: - record["ser"] = record["ser"].reindex(newindex) + if mtype == "custom": + custom_index = pd.DatetimeIndex([ref.index.min().strftime("%Y-%m-%d")]) + for record in ser_list: + record["ser"].index = custom_index + else: + if rsfreq is None: + rsfreq = RSTAGS[mtype] + tmin = ref.index.min() + tmax = ref.index.max() + + try: + newindex = pd.date_range(tmin, tmax, freq=rsfreq) + except ValueError: + newindex = pd.DatetimeIndex([]) + for record in ser_list: + record["ser"] = record["ser"].reindex(newindex) return ser_list -- GitLab