Skip to content

Commit 7f219e9

Browse files
authored
feat: support sub-hourly steps (#188)
1 parent 08d7ed8 commit 7f219e9

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

src/anemoi/datasets/create/input/result.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from functools import cached_property
1616

1717
import numpy as np
18+
from anemoi.utils.dates import as_timedelta
1819
from anemoi.utils.humanize import seconds_to_human
1920
from anemoi.utils.humanize import shorten_list
2021
from earthkit.data.core.order import build_remapping
@@ -97,10 +98,12 @@ def _merge(md1, md2):
9798
# assert md['param'] != 'unknown', (md, f.metadata('param'))
9899

99100
startStep = f.metadata("startStep", default=None)
100-
assert startStep is None or isinstance(startStep, int), (startStep, type(f))
101+
if startStep is not None:
102+
startStep = as_timedelta(startStep)
101103

102104
endStep = f.metadata("endStep", default=None)
103-
assert endStep is None or isinstance(endStep, int), endStep
105+
if endStep is not None:
106+
endStep = as_timedelta(endStep)
104107

105108
stepTypeForConversion = f.metadata("stepTypeForConversion", default=None)
106109
typeOfStatisticalProcessing = f.metadata("typeOfStatisticalProcessing", default=None)

src/anemoi/datasets/data/dataset.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -541,6 +541,13 @@ def plot(self, date, variable, member=0, **kwargs):
541541
"""
542542

543543
from anemoi.utils.devtools import plot_values
544+
545+
values = self[self.to_index(date, variable, member)]
546+
547+
return plot_values(values, self.latitudes, self.longitudes, **kwargs)
548+
549+
def to_index(self, date, variable, member=0):
550+
544551
from earthkit.data.utils.dates import to_datetime
545552

546553
if not isinstance(date, int):
@@ -562,6 +569,4 @@ def plot(self, date, variable, member=0, **kwargs):
562569

563570
variable_index = self.name_to_index[variable]
564571

565-
values = self[date_index, variable_index, member]
566-
567-
return plot_values(values, self.latitudes, self.longitudes, **kwargs)
572+
return (date_index, variable_index, member)

0 commit comments

Comments
 (0)