Skip to content

Commit b73b638

Browse files
Merge pull request #1808 from OceanParcels/fix_particlefile_npinf_bug
Fixing a bug with default ParticleFile outputdt value
2 parents 0742868 + 35db303 commit b73b638

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

parcels/particlefile.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class ParticleFile:
4747
ParticleFile object that can be used to write particle data to file
4848
"""
4949

50-
def __init__(self, name, particleset, outputdt=np.inf, chunks=None, create_new_zarrfile=True):
50+
def __init__(self, name, particleset, outputdt, chunks=None, create_new_zarrfile=True):
5151
self._outputdt = timedelta_to_float(outputdt)
5252
self._chunks = chunks
5353
self._particleset = particleset
@@ -360,7 +360,7 @@ def write(self, pset, time: float | timedelta | np.timedelta64 | None, indices=N
360360
if len(once_ids) > 0:
361361
Z[varout].vindex[ids_once] = pset.particledata.getvardata(var, indices_to_write_once)
362362
else:
363-
if max(obs) >= Z[varout].shape[1]:
363+
if max(obs) >= Z[varout].shape[1]: # type: ignore[type-var]
364364
self._extend_zarr_dims(Z[varout], store, dtype=self.vars_to_write[var], axis=1)
365365
Z[varout].vindex[ids, obs] = pset.particledata.getvardata(var, indices_to_write)
366366

tests/test_particlefile.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def fieldset():
3535
def test_metadata(fieldset, mode, tmp_zarrfile):
3636
pset = ParticleSet(fieldset, pclass=ptype[mode], lon=0, lat=0)
3737

38-
pset.execute(DoNothing, runtime=1, output_file=pset.ParticleFile(tmp_zarrfile))
38+
pset.execute(DoNothing, runtime=1, output_file=pset.ParticleFile(tmp_zarrfile, outputdt=1))
3939

4040
ds = xr.open_zarr(tmp_zarrfile)
4141
assert ds.attrs["parcels_kernels"].lower() == f"{mode}ParticleDoNothing".lower()
@@ -47,7 +47,7 @@ def test_pfile_array_write_zarr_memorystore(fieldset, mode):
4747
npart = 10
4848
zarr_store = MemoryStore()
4949
pset = ParticleSet(fieldset, pclass=ptype[mode], lon=np.linspace(0, 1, npart), lat=0.5 * np.ones(npart), time=0)
50-
pfile = pset.ParticleFile(zarr_store)
50+
pfile = pset.ParticleFile(zarr_store, outputdt=1)
5151
pfile.write(pset, 0)
5252

5353
ds = xr.open_zarr(zarr_store)
@@ -59,7 +59,7 @@ def test_pfile_array_write_zarr_memorystore(fieldset, mode):
5959
def test_pfile_array_remove_particles(fieldset, mode, tmp_zarrfile):
6060
npart = 10
6161
pset = ParticleSet(fieldset, pclass=ptype[mode], lon=np.linspace(0, 1, npart), lat=0.5 * np.ones(npart), time=0)
62-
pfile = pset.ParticleFile(tmp_zarrfile)
62+
pfile = pset.ParticleFile(tmp_zarrfile, outputdt=1)
6363
pfile.write(pset, 0)
6464
pset.remove_indices(3)
6565
for p in pset:
@@ -102,7 +102,7 @@ def test_pfile_array_remove_all_particles(fieldset, mode, chunks_obs, tmp_zarrfi
102102
npart = 10
103103
pset = ParticleSet(fieldset, pclass=ptype[mode], lon=np.linspace(0, 1, npart), lat=0.5 * np.ones(npart), time=0)
104104
chunks = (npart, chunks_obs) if chunks_obs else None
105-
pfile = pset.ParticleFile(tmp_zarrfile, chunks=chunks)
105+
pfile = pset.ParticleFile(tmp_zarrfile, chunks=chunks, outputdt=1)
106106
pfile.write(pset, 0)
107107
for _ in range(npart):
108108
pset.remove_indices(-1)

0 commit comments

Comments
 (0)