Skip to content

Commit bf615f8

Browse files
Merge pull request #1733 from OceanParcels/bugfix_loaded_time_indices
Fixing loaded_time_indices to support more advanced compute() functions
2 parents aa716e4 + e7d818a commit bf615f8

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

parcels/field.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@ def __init__(
208208
else:
209209
raise ValueError("Unsupported mesh type. Choose either: 'spherical' or 'flat'")
210210
self.timestamps = timestamps
211+
self._loaded_time_indices: Iterable[int] = [] # type: ignore
211212
if isinstance(interp_method, dict):
212213
if self.name in interp_method:
213214
self.interp_method = interp_method[self.name]
@@ -265,6 +266,7 @@ def __init__(
265266

266267
if not self.grid.defer_load:
267268
self.data = self._reshape(self.data, transpose)
269+
self._loaded_time_indices = range(self.grid.tdim)
268270

269271
# Hack around the fact that NaN and ridiculously large values
270272
# propagate in SciPy's interpolators
@@ -288,7 +290,6 @@ def __init__(
288290
self._dataFiles = np.append(self._dataFiles, self._dataFiles[0])
289291
self._field_fb_class = kwargs.pop("FieldFileBuffer", None)
290292
self._netcdf_engine = kwargs.pop("netcdf_engine", "netcdf4")
291-
self._loaded_time_indices: Iterable[int] = [] # type: ignore
292293
self._creation_log = kwargs.pop("creation_log", "")
293294
self.chunksize = kwargs.pop("chunksize", None)
294295
self.netcdf_chunkdims_name_map = kwargs.pop("chunkdims_name_map", None)

parcels/fieldset.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1538,6 +1538,7 @@ def computeTimeChunk(self, time=0.0, dt=1):
15381538
for f in self.get_fields():
15391539
if isinstance(f, (VectorField, NestedField)) or not f.grid.defer_load or f._dataFiles is None:
15401540
continue
1541+
f._loaded_time_indices = [] # reset loaded time indices
15411542
g = f.grid
15421543
if g._update_status == "first_updated": # First load of data
15431544
if f.data is not None and not isinstance(f.data, DeferredArray):

0 commit comments

Comments
 (0)