Skip to content
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
7c0653d
[1488] Support frequency nominal dim in consolidate functions and upd…
dbashford-NOAA Jul 30, 2025
2e1c814
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 30, 2025
cb25040
[1486] Support computing MVBS with frequency_nominal and fix some tes…
dbashford-NOAA Jul 31, 2025
a84334e
chore(deps): bump actions/download-artifact from 4 to 5 (#1529)
dependabot[bot] Aug 13, 2025
a75a56c
chore(deps): bump actions/checkout from 4 to 5 (#1528)
dependabot[bot] Aug 13, 2025
85ce376
chore(deps): bump actions/cache from 4.2.3 to 4.2.4 (#1527)
dependabot[bot] Aug 13, 2025
f0c95e8
[pre-commit.ci] pre-commit autoupdate (#1526)
pre-commit-ci[bot] Aug 13, 2025
102cb9d
Update pr.yaml to run full test suite for all PR (#1524)
LOCEANlloydizard Aug 13, 2025
ed6c267
[1488] Create consolidate tests that include dim swapping
dbashford-NOAA Sep 4, 2025
ec182f1
chore(deps): bump pypa/gh-action-pypi-publish in /.github/workflows (…
dependabot[bot] Sep 21, 2025
b55552d
chore(deps): bump actions/setup-python from 5.5.0 to 6.0.0 (#1535)
dependabot[bot] Sep 21, 2025
bb33278
[pre-commit.ci] pre-commit autoupdate (#1538)
pre-commit-ci[bot] Sep 23, 2025
cdbf6f8
Add weill to codespell ignore list (#1543)
LOCEANlloydizard Sep 25, 2025
a48f3a2
Implementations of basic seafloor detection in mask subpackage [all t…
LOCEANlloydizard Sep 25, 2025
ff2638e
[1488] Swap beam group dims in consolidate functions if needed
dbashford-NOAA Sep 26, 2025
cb78b56
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 26, 2025
0a6842f
[1488] Fix f-string placeholder error
dbashford-NOAA Sep 26, 2025
df6c82d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 26, 2025
1b9dc99
[1541] Remove python 3.10 support (#1546)
dbashford-NOAA Sep 26, 2025
46fcb67
chore(deps): bump actions/cache from 4.2.4 to 4.3.0 (#1547)
dependabot[bot] Sep 30, 2025
3ffe8f3
Add Fielding and Matecho-like transient noise removal methods (#1544)
LOCEANlloydizard Sep 30, 2025
0dffd51
Shoals detection implementation [all tests ci] (#1525)
LOCEANlloydizard Sep 30, 2025
a2cfade
Modifications to match xarray update to v2025.9.1 (#1550)
LOCEANlloydizard Oct 1, 2025
29e6153
[1488] Re add ed ds compare for add_depth
dbashford-NOAA Oct 2, 2025
4d7c8cc
Update docstrings for transient noise and shoal detection functions
LOCEANlloydizard Oct 6, 2025
7dbcf5b
[pre-commit.ci] pre-commit autoupdate (#1555)
pre-commit-ci[bot] Oct 7, 2025
f95f7a4
fix(ci): free disk space to resolve "No space left on device" during …
LOCEANlloydizard Oct 7, 2025
058333e
[1542] Support python 3.13 (#1553)
dbashford-NOAA Oct 7, 2025
c5a1373
Merge remote-tracking branch 'upstream/main'
LOCEANlloydizard Oct 14, 2025
47f9cb2
Apply suggestions from code review
LOCEANlloydizard Oct 14, 2025
daf3b17
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 14, 2025
2d08598
[pre-commit.ci] pre-commit autoupdate (#1559)
pre-commit-ci[bot] Oct 14, 2025
faa3936
chore(deps): bump actions/setup-python from 5.5.0 to 6.0.0 (#1560)
dependabot[bot] Oct 14, 2025
bb2cd25
Updated after review
LOCEANlloydizard Oct 14, 2025
71b67ab
[1428/1512] Migrate to numpy v2 and zarr v3 with updated test_data pa…
dbashford-NOAA Oct 14, 2025
be1ea10
Review Blackwell docstring: fix indentation and replace 'clamp' with …
LOCEANlloydizard Oct 15, 2025
f479cf3
small tweak re adaptive Sv threshold
leewujung Oct 15, 2025
be8b60c
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 15, 2025
98bed9f
Update docstrings for transient noise and shoal detection functions (…
LOCEANlloydizard Oct 15, 2025
39e3de2
CI: Pooch assets + Windows fixes, HTTP/S3 test setup, Windows runner …
LOCEANlloydizard Oct 18, 2025
e0d9d4c
Restore small comments from original pr.yaml
LOCEANlloydizard Oct 20, 2025
3600e47
CI: switch to Pooch-managed GitHub assets and remove local test_data …
LOCEANlloydizard Oct 22, 2025
0ea9350
add push to main to tests workflow in additional to PR
leewujung Oct 22, 2025
2c9b49f
update build.yaml to use pooch
leewujung Oct 22, 2025
d917fb9
test data endpoint
leewujung Oct 22, 2025
7fd42ff
remove trailing white space
leewujung Oct 22, 2025
9f5f575
change name back to test PR
leewujung Oct 22, 2025
e2d06da
Merge pull request #1566 from leewujung/push_workflow_patch
LOCEANlloydizard Oct 23, 2025
778833f
Merge branch 'main' of https://github.com/OSOceanAcoustics/echopype
LOCEANlloydizard Oct 23, 2025
2fd76b1
ci: fix Pooch asset cache key mismatch in build workflow
LOCEANlloydizard Oct 23, 2025
d48eb6e
Update pr.yaml
LOCEANlloydizard Oct 23, 2025
253c437
Merge from latest upstream
LOCEANlloydizard Oct 23, 2025
5ab10d6
Update conftest.py
LOCEANlloydizard Oct 24, 2025
a26f069
Merge pull request #1567 from LOCEANlloydizard/ci/fix-asset-cache-key
LOCEANlloydizard Oct 27, 2025
e6374c7
Merge pull request #1563 from LOCEANlloydizard/CI_windows
LOCEANlloydizard Oct 27, 2025
f96a149
chore(deps): bump actions/download-artifact from 5 to 6 (#1568)
dependabot[bot] Nov 5, 2025
ebe1d44
chore(deps): bump actions/upload-artifact from 4 to 5 (#1569)
dependabot[bot] Nov 5, 2025
12dee97
Update test_ecs_integration.py (#1575)
LOCEANlloydizard Nov 25, 2025
520914c
Use official http image and using Pooch to pull data to http server (…
leewujung Nov 25, 2025
175aec7
chore(deps): bump actions/checkout from 5 to 6 (#1576)
dependabot[bot] Nov 25, 2025
72a9bf5
Setup python_requires >=3.11 in setup.cfg (#1561)
leewujung Dec 1, 2025
4275947
chore(deps): bump actions/setup-python from 6.0.0 to 6.1.0
dependabot[bot] Dec 2, 2025
e9ab229
Merge pull request #1580 from OSOceanAcoustics/dependabot/github_acti…
LOCEANlloydizard Dec 2, 2025
d371686
update azfp6 sha256 and version tag
leewujung Dec 6, 2025
82925a1
Merge pull request #1582 from leewujung/update_azfp6_asset
LOCEANlloydizard Dec 6, 2025
1f26305
[pre-commit.ci] pre-commit autoupdate (#1583)
pre-commit-ci[bot] Dec 8, 2025
527ab56
chore(deps): bump actions/download-artifact from 6 to 7
dependabot[bot] Dec 15, 2025
74e00b6
chore(deps): bump actions/upload-artifact from 5 to 6
dependabot[bot] Dec 15, 2025
20c0674
chore(deps): bump actions/cache from 4 to 5
dependabot[bot] Dec 15, 2025
0495644
Merge pull request #1584 from OSOceanAcoustics/dependabot/github_acti…
LOCEANlloydizard Dec 16, 2025
fc1ff8c
Merge pull request #1585 from OSOceanAcoustics/dependabot/github_acti…
LOCEANlloydizard Dec 16, 2025
9165ca4
Merge pull request #1586 from OSOceanAcoustics/dependabot/github_acti…
LOCEANlloydizard Dec 16, 2025
8b46763
Update test_commongrid_api.py
LOCEANlloydizard Dec 25, 2025
4ee7e06
Update conftest.py
LOCEANlloydizard Dec 25, 2025
a604ef0
Merge branch 'main' into fix_numpy_update_2.4
LOCEANlloydizard Dec 25, 2025
889ece3
Update conftest.py
LOCEANlloydizard Dec 25, 2025
3f9ee07
Merge branch 'fix_numpy_update_2.4' of https://github.com/LOCEANlloyd…
LOCEANlloydizard Dec 25, 2025
f6dbf48
Update pr.yaml
LOCEANlloydizard Dec 25, 2025
c5053d2
Update pr.yaml
LOCEANlloydizard Dec 25, 2025
632f3ef
Update conftest.py
LOCEANlloydizard Dec 25, 2025
50998eb
change data version
LOCEANlloydizard Dec 26, 2025
6e7a17e
trigger test run after restoring v0.11.1a1 azfp.zip
leewujung Dec 26, 2025
822bc84
Update AZFP test data in v0.11.1a2 assets (#1593)
leewujung Dec 26, 2025
8505ec9
Merge branch 'main-upstream' into fix_numpy_update_2.4
leewujung Dec 26, 2025
fcee56d
Merge pull request #1591 from LOCEANlloydizard/fix_numpy_update_2.4
LOCEANlloydizard Dec 27, 2025
04c5a58
chore(deps): bump tj-actions/changed-files from 45 to 47
dependabot[bot] Dec 29, 2025
b476498
Merge pull request #1594 from OSOceanAcoustics/dependabot/github_acti…
LOCEANlloydizard Dec 30, 2025
4243633
Investigating the disk space failure in CI (#1592)
LOCEANlloydizard Jan 1, 2026
6e2e496
[1488] Support frequency nominal dim in consolidate functions and upd…
dbashford-NOAA Jul 30, 2025
625ed49
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 30, 2025
c3c0e15
[1488] Create consolidate tests that include dim swapping
dbashford-NOAA Sep 4, 2025
4af91e1
[1488] Swap beam group dims in consolidate functions if needed
dbashford-NOAA Sep 26, 2025
db61d00
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 26, 2025
e42aaf3
[1488] Fix f-string placeholder error
dbashford-NOAA Sep 26, 2025
4b36e0e
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 26, 2025
1cf0f4a
[1488] Re add ed ds compare for add_depth
dbashford-NOAA Oct 2, 2025
2801cdf
Merge remote-tracking branch 'origin/1488_support_frequency_nominal_i…
dbashford-NOAA Jan 7, 2026
cfbb966
[1488] Remove dim_0 switching inside functions and refine testing for…
dbashford-NOAA Jan 16, 2026
1b30b30
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 11 additions & 9 deletions echopype/consolidate/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,8 @@ def add_depth(
echo_range_scaling = ek_use_platform_angles(echodata["Platform"], ds["ping_time"])
elif use_beam_angles:
# Identify beam group name by checking channel values of `ds`
if echodata["Sonar/Beam_group1"]["channel"].equals(ds["channel"]):
dim_0 = list(ds.sizes.keys())[0]
if echodata["Sonar/Beam_group1"][dim_0].equals(ds[dim_0]):
beam_group_name = "Beam_group1"
else:
beam_group_name = "Beam_group2"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, the current implementation

            if echodata["Sonar/Beam_group1"][dim_0].equals(ds[dim_0]):
                beam_group_name = "Beam_group1"
            else:
                beam_group_name = "Beam_group2"

is a weird setup in terms of Beam_groupX selection. This is a larger issue so no immediate actions required under this PR, but I will note this in a separate issue.

Expand Down Expand Up @@ -455,12 +456,14 @@ def add_splitbeam_angle(
# and obtain the echodata group path corresponding to encode_mode
ed_beam_group = retrieve_correct_beam_group(echodata, waveform_mode, encode_mode)

# check that source_Sv at least has a channel dimension
if "channel" not in source_Sv.variables:
raise ValueError("The input source_Sv Dataset must have a channel dimension!")
dim_0 = list(source_Sv.sizes.keys())[0]

# Select ds_beam channels from source_Sv
ds_beam = echodata[ed_beam_group].sel(channel=source_Sv["channel"].values)
if dim_0 in ["channel", "frequency_nominal"]:
ds_beam = echodata[ed_beam_group].sel({dim_0: source_Sv[dim_0].values})
else:
raise ValueError(
"The input source_Sv Dataset must have a channel or frequency_nominal dimension!"
)
Comment thread
leewujung marked this conversation as resolved.
Outdated

# Assemble angle param dict
angle_param_list = [
Expand All @@ -479,8 +482,7 @@ def add_splitbeam_angle(
# fail if source_Sv and ds_beam do not have the same lengths
# for ping_time, range_sample, and channel
same_size_lens = [
ds_beam.sizes[dim] == source_Sv.sizes[dim]
for dim in ["channel", "ping_time", "range_sample"]
ds_beam.sizes[dim] == source_Sv.sizes[dim] for dim in [dim_0, "ping_time", "range_sample"]
]
if not same_size_lens:
raise ValueError(
Expand All @@ -500,7 +502,7 @@ def add_splitbeam_angle(
if pulse_compression: # with pulse compression
# put receiver fs into the same dict for simplicity
pc_params = get_filter_coeff(
echodata["Vendor_specific"].sel(channel=source_Sv["channel"].values)
echodata["Vendor_specific"].sel({dim_0: source_Sv[dim_0].values})
)
pc_params["receiver_sampling_frequency"] = source_Sv["receiver_sampling_frequency"]
theta, phi = get_angle_complex_samples(ds_beam, angle_params, pc_params)
Expand Down
19 changes: 10 additions & 9 deletions echopype/consolidate/split_beam_angle.py
Original file line number Diff line number Diff line change
Expand Up @@ -210,18 +210,19 @@ def get_angle_complex_samples(
else:
# beam_type different for some channels, process each channel separately
theta, phi = [], []
for ch_id in bs["channel"].data:
dim_0 = list(bs.sizes.keys())[0]
for ch_id in bs[dim_0].data:
theta_ch, phi_ch = _compute_angle_from_complex(
bs=bs.sel(channel=ch_id),
bs=bs.sel({dim_0: ch_id}),
# beam_type is not time-varying
beam_type=(ds_beam["beam_type"].sel(channel=ch_id)),
beam_type=(ds_beam["beam_type"].sel({dim_0: ch_id})),
sens=[
angle_params["angle_sensitivity_alongship"].sel(channel=ch_id),
angle_params["angle_sensitivity_athwartship"].sel(channel=ch_id),
angle_params["angle_sensitivity_alongship"].sel({dim_0: ch_id}),
angle_params["angle_sensitivity_athwartship"].sel({dim_0: ch_id}),
],
offset=[
angle_params["angle_offset_alongship"].sel(channel=ch_id),
angle_params["angle_offset_athwartship"].sel(channel=ch_id),
angle_params["angle_offset_alongship"].sel({dim_0: ch_id}),
angle_params["angle_offset_athwartship"].sel({dim_0: ch_id}),
],
)
theta.append(theta_ch)
Expand All @@ -231,15 +232,15 @@ def get_angle_complex_samples(
theta = xr.DataArray(
data=theta,
coords={
"channel": bs["channel"],
dim_0: bs[dim_0],
"ping_time": bs["ping_time"],
"range_sample": bs["range_sample"],
},
)
phi = xr.DataArray(
data=phi,
coords={
"channel": bs["channel"],
dim_0: bs[dim_0],
"ping_time": bs["ping_time"],
"range_sample": bs["range_sample"],
},
Expand Down
Loading
Loading