Skip to content

Commit 287e528

Browse files
committed
Update _get_time_interval_dtype
Cftime needs to be stored as object type
1 parent c5cbb92 commit 287e528

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
@@ -256,7 +256,7 @@ def _create_array_for_variable(variable: Variable, nparticles: int, time_interva
256256
"This function cannot handle attrgetter initial values."
257257
)
258258
if (dtype := variable.dtype) is _SAME_AS_FIELDSET_TIME_INTERVAL.VALUE:
259-
dtype = type(time_interval.left)
259+
dtype = _get_time_interval_dtype(time_interval)
260260
return np.full(
261261
shape=(nparticles,),
262262
fill_value=variable.initial,
@@ -267,4 +267,8 @@ def _create_array_for_variable(variable: Variable, nparticles: int, time_interva
267267
def _get_time_interval_dtype(time_interval: TimeInterval | None) -> np.dtype:
268268
if time_interval is None:
269269
return np.timedelta64(1, "ns")
270-
return type(time_interval.left)
270+
time = time_interval.left
271+
if isinstance(time, (np.datetime64, np.timedelta64)):
272+
return time.dtype
273+
else:
274+
return object # cftime objects needs to be stored as object dtype

0 commit comments

Comments
 (0)