-
Notifications
You must be signed in to change notification settings - Fork 48
Closed
Description
Describe the bug:
I get the following error message when I try to read a pd0-file from a RDI Pinnacle 45 instrument using read_rdi with mhkit version 0.9.0:
ZeroDivisionError Traceback (most recent call last)
Cell In[3], line 1
----> 1 data = read_rdi(file)
File [...]/MHKiT-python/mhkit/dolfyn/io/rdi.py:75, in read_rdi(filename, userdata, nens, debug, vmdas_search, winriver, search_num, **kwargs)
66 # Reads into a dictionary of dictionaries using netcdf naming conventions
67 # Should be easier to debug
68 rdr = _RDIReader(
69 filename,
70 debug=debug,
(...)
73 search_num=search_num,
74 )
---> 75 datNB, datBB = rdr.load_data(nens=nens)
77 dats = [dat for dat in [datNB, datBB] if dat is not None]
79 # Read in userdata
File [...]/MHKiT-python/mhkit/dolfyn/io/rdi.py:355, in _RDIReader.load_data(self, nens)
353 for dat, cfg in zip(datl, cfgl):
354 dat, cfg = self.cleanup(dat, cfg)
--> 355 dat = self.finalize(dat, cfg)
356 if "vel_bt" in dat["data_vars"]:
357 cfg["rotate_vars"].append("vel_bt")
File [...]/MHKiT-python/mhkit/dolfyn/io/rdi.py:1047, in _RDIReader.finalize(self, dat, cfg)
1045 cfg["fs"] = round(1 / np.median(np.diff(dat["coords"]["time"])), 2)
1046 else:
-> 1047 cfg["fs"] = 1 / (cfg["sec_between_ping_groups"] * cfg["pings_per_ensemble"])
1049 # Save configuration data as attributes
1050 dat["attrs"] = cfg
ZeroDivisionError: float division by zero
The data is collected in burst mode and with both water column data and bottom track. The reason for the division-by-zero error is that cfg["sec_between_ping_groups"] is 0.
If I comment out line 1047 in mhkit/dolfyn/io/rdi.py (or use line 1045 instead) the function works and the file is read correctly.
Desktop:
- MHKiT Version: 0.9.0
Metadata
Metadata
Assignees
Labels
No labels