From b793529368c8e3f4bcac4c5267c74889175923ba Mon Sep 17 00:00:00 2001 From: Vecko <36369090+VeckoTheGecko@users.noreply.github.com> Date: Wed, 18 Jun 2025 15:22:53 +0200 Subject: [PATCH 1/2] Add test_fieldset_time_interval_constant_fields --- tests/v4/test_fieldset.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/v4/test_fieldset.py b/tests/v4/test_fieldset.py index 0c39d84953..7e317266bd 100644 --- a/tests/v4/test_fieldset.py +++ b/tests/v4/test_fieldset.py @@ -93,6 +93,14 @@ def test_fieldset_time_interval(): assert fieldset.time_interval.right == np.datetime64("2001-01-01") +def test_fieldset_time_interval_constant_fields(): + fieldset = FieldSet([]) + fieldset.add_constant_field("constant_field", 1.0) + fieldset.add_constant_field("constant_field2", 2.0) + + assert fieldset.time_interval is None + + def test_fieldset_init_incompatible_calendars(): ds1 = ds.copy() ds1["time"] = xr.date_range("2000", "2001", T_structured, calendar="365_day", use_cftime=True) From 713e613806585de29b830fdde227931baebb07f0 Mon Sep 17 00:00:00 2001 From: Vecko <36369090+VeckoTheGecko@users.noreply.github.com> Date: Wed, 18 Jun 2025 14:12:11 +0200 Subject: [PATCH 2/2] Patch time_interval for all constant fields --- parcels/fieldset.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/parcels/fieldset.py b/parcels/fieldset.py index 186698de48..f29526fe3c 100644 --- a/parcels/fieldset.py +++ b/parcels/fieldset.py @@ -76,7 +76,9 @@ def time_interval(self): time_intervals = (f.time_interval for f in self.fields.values()) # Filter out Nones from constant Fields - time_intervals = (t for t in time_intervals if t is not None) + time_intervals = [t for t in time_intervals if t is not None] + if len(time_intervals) == 0: # All fields are constant fields + return None return functools.reduce(lambda x, y: x.intersection(y), time_intervals) def dimrange(self, dim):