Skip to content

Commit

Permalink
Add test data
Browse files Browse the repository at this point in the history
  • Loading branch information
jmcvey3 committed Mar 7, 2024
1 parent c5bc8c5 commit aa2cf0b
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 13 deletions.
3 changes: 3 additions & 0 deletions dolfyn/example_data/dual_profile.ad2cp
Git LFS file not shown
14 changes: 5 additions & 9 deletions dolfyn/io/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,7 @@ def _create_dataset(data):

ds_dict['beam'] = {"dims": ('beam'), "data": beams}
ds_dict['dir'] = {"dims": ('dir'), "data": beams}
data['units'].update({'beam': '1',
'dir': '1'})
data['units'].update({'beam': '1', 'dir': '1'})
data['long_name'].update({'beam': 'Beam Reference Frame',
'dir': 'Reference Frame'})

Expand All @@ -156,14 +155,11 @@ def _create_dataset(data):
tg = ''
ds_dict['earth'] = {"dims": ('earth'), "data": ['E', 'N', 'U']}
ds_dict['inst'] = {"dims": ('inst'), "data": ['X', 'Y', 'Z']}
data['units'].update({'earth': '1',
'inst': '1'})
data['long_name'].update({'earth': 'Earth Reference Frame',
'inst': 'Instrument Reference Frame'})

ds_dict[key] = {"dims": ('earth', 'inst', 'time' + tg), "data": data['data_vars'][key]}
data['units'].update({key: data['units']['orientmat']})
data['long_name'].update({key: data['long_name']['orientmat']})
data["units"].update({"earth": "1", "inst": "1", key: data["units"]["orientmat"]})
data["long_name"].update({"earth": "Earth Reference Frame",
"inst": "Instrument Reference Frame",
key: data["long_name"]["orientmat"]})

# quaternion units never change
elif 'quaternions' in key:
Expand Down
4 changes: 2 additions & 2 deletions dolfyn/io/nortek2.py
Original file line number Diff line number Diff line change
Expand Up @@ -472,7 +472,7 @@ def _reorg(dat):
dnow['usec100'].astype('uint32') * 100)
tmp = lib._beams_cy_int2dict(
lib._collapse(dnow['beam_config'], exclude=collapse_exclude,
name='beam_config'), 21)
name='beam_config'), 21) # always 21 here
cfg['n_cells' + tag] = tmp['n_cells']
cfg['coord_sys_axes' + tag] = tmp['cy']
cfg['n_beams' + tag] = tmp['n_beams']
Expand Down Expand Up @@ -587,7 +587,7 @@ def _clean_dp_skips(data):
skips = np.where(data[id]['ver'] != 0)
for var in data[id]:
if var not in ['units', 'long_name', 'standard_name']:
data[id][var] = np.squeeze(data[id][var][..., skips])
data[id][var] = np.squeeze(data[id][var][..., skips], axis=-2)


def _reduce(data):
Expand Down
5 changes: 3 additions & 2 deletions dolfyn/io/nortek2_lib.py
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ def _check_index(idx, infile, fix_hw_ens=False, dp=False):
if c > 1:
skip_size[skip_size == n] = 0
# assume last "ibad" element is always good for dp's
mask = np.append(skip_size, 0).astype(bool)
mask = np.append(skip_size, 0).astype(bool) if any(skip_size) else []
ibad = ibad[mask]
for ib in ibad:
FLAG = True
Expand Down Expand Up @@ -437,7 +437,8 @@ def _beams_cy_int2dict(val, id):
"""
if id == 28: # 0x1C (echosounder)
return dict(n_cells=val)

elif id in [26, 31]:
return dict(n_cells=val & (2**10 - 1), cy="beam", n_beams=1)
return dict(
n_cells=val & (2 ** 10 - 1),
cy=['ENU', 'XYZ', 'beam', None][val >> 10 & 3],
Expand Down
3 changes: 3 additions & 0 deletions dolfyn/tests/data/dual_profile.nc
Git LFS file not shown
6 changes: 6 additions & 0 deletions dolfyn/tests/test_read_adp.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
dat_sig_skip = load('Sig_SkippedPings01.nc')
dat_sig_badt = load('Sig1000_BadTime01.nc')
dat_sig5_leiw = load('Sig500_last_ensemble_is_whole.nc')
dat_sig_dp2 = load("dual_profile.nc")


def test_io_rdi(make_data=False):
Expand Down Expand Up @@ -97,6 +98,8 @@ def test_io_nortek2(make_data=False):
td_sig_ieb = read('VelEchoBT01.ad2cp', nens=nens)
td_sig_ie = read('Sig500_Echo.ad2cp', nens=nens)
td_sig_tide = read('Sig1000_tidal.ad2cp', nens=nens)
# Only need to test 2nd dataset
td_sig_dp1, td_sig_dp2 = read("dual_profile.ad2cp")

with pytest.warns(UserWarning):
# This issues a warning...
Expand All @@ -119,6 +122,7 @@ def test_io_nortek2(make_data=False):
os.remove(tb.exdt('Sig_SkippedPings01.ad2cp.index'))
os.remove(tb.exdt('Sig500_last_ensemble_is_whole.ad2cp.index'))
os.remove(tb.rfnm('Sig1000_BadTime01.ad2cp.index'))
os.remove(tb.exdt("dual_profile.ad2cp.index"))

if make_data:
save(td_sig, 'BenchFile01.nc')
Expand All @@ -130,6 +134,7 @@ def test_io_nortek2(make_data=False):
save(td_sig_skip, 'Sig_SkippedPings01.nc')
save(td_sig_badt, 'Sig1000_BadTime01.nc')
save(td_sig5_leiw, 'Sig500_last_ensemble_is_whole.nc')
save(td_sig_dp2, "dual_profile.nc")
return

assert_allclose(td_sig, dat_sig, atol=1e-6)
Expand All @@ -141,6 +146,7 @@ def test_io_nortek2(make_data=False):
assert_allclose(td_sig5_leiw, dat_sig5_leiw, atol=1e-6)
assert_allclose(td_sig_skip, dat_sig_skip, atol=1e-6)
assert_allclose(td_sig_badt, dat_sig_badt, atol=1e-6)
assert_allclose(td_sig_dp2, dat_sig_dp2, atol=1e-6)


def test_nortek2_crop(make_data=False):
Expand Down

0 comments on commit aa2cf0b

Please sign in to comment.