diff --git a/parcels/field.py b/parcels/field.py index 9cde71efe7..4fc13a5632 100644 --- a/parcels/field.py +++ b/parcels/field.py @@ -691,12 +691,17 @@ def from_netcdf( if grid is None: # Concatenate time variable to determine overall dimension # across multiple files - time, time_origin, timeslices, dataFiles = cls._collect_timeslices( - timestamps, data_filenames, _grid_fb_class, dimensions, indices, netcdf_engine - ) - grid = Grid.create_grid(lon, lat, depth, time, time_origin=time_origin, mesh=mesh) - grid.timeslices = timeslices - kwargs["dataFiles"] = dataFiles + if "time" in dimensions or timestamps is not None: + time, time_origin, timeslices, dataFiles = cls._collect_timeslices( + timestamps, data_filenames, _grid_fb_class, dimensions, indices, netcdf_engine + ) + grid = Grid.create_grid(lon, lat, depth, time, time_origin=time_origin, mesh=mesh) + grid.timeslices = timeslices + kwargs["dataFiles"] = dataFiles + else: # e.g. for the CROCO CS_w field, see https://github.com/OceanParcels/Parcels/issues/1831 + grid = Grid.create_grid(lon, lat, depth, np.array([0.0]), time_origin=TimeConverter(0.0), mesh=mesh) + grid.timeslices = [[0]] + data_filenames = [data_filenames[0]] elif grid is not None and ("dataFiles" not in kwargs or kwargs["dataFiles"] is None): # ==== means: the field has a shared grid, but may have different data files, so we need to collect the # ==== correct file time series again.