Skip to content

Commit 6dffa19

Browse files
committed
Update _get_time_interval_dtype
Cftime needs to be stored as object type
1 parent 82cabd8 commit 6dffa19

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

parcels/particle.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ def _create_array_for_variable(variable: Variable, nparticles: int, time_interva
263263
"This function cannot handle attrgetter initial values."
264264
)
265265
if (dtype := variable.dtype) is _SAME_AS_FIELDSET_TIME_INTERVAL.VALUE:
266-
dtype = type(time_interval.left)
266+
dtype = _get_time_interval_dtype(time_interval)
267267
return np.full(
268268
shape=(nparticles,),
269269
fill_value=variable.initial,
@@ -274,4 +274,8 @@ def _create_array_for_variable(variable: Variable, nparticles: int, time_interva
274274
def _get_time_interval_dtype(time_interval: TimeInterval | None) -> np.dtype:
275275
if time_interval is None:
276276
return np.timedelta64(1, "ns")
277-
return type(time_interval.left)
277+
time = time_interval.left
278+
if isinstance(time, (np.datetime64, np.timedelta64)):
279+
return time.dtype
280+
else:
281+
return object # cftime objects needs to be stored as object dtype

0 commit comments

Comments
 (0)