Skip to content

Commit 6f1ad14

Browse files
committed
fix(batch): skip NaN frequencies in channel map + filter bogus channel names in echograms
1 parent e97e41d commit 6f1ad14

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

scripts/batch_processing/run_combine_daily.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,11 @@ def normalize_string_dtypes(ds: xr.Dataset) -> xr.Dataset:
132132

133133

134134
def _get_freq_channel_map(ds: xr.Dataset) -> dict[float, int]:
135-
"""Map frequency_nominal → channel index."""
135+
"""Map frequency_nominal → channel index. Skips NaN frequencies."""
136136
if "frequency_nominal" not in ds.coords and "frequency_nominal" not in ds.data_vars:
137137
return {}
138138
freqs = ds["frequency_nominal"].values
139-
return {float(f): i for i, f in enumerate(freqs)}
139+
return {float(f): i for i, f in enumerate(freqs) if not np.isnan(f)}
140140

141141

142142
def _clear_encoding(ds: xr.Dataset) -> xr.Dataset:
@@ -824,7 +824,8 @@ def generate_echograms_for_day(
824824

825825
# Determine which frequencies are available
826826
if "channel" in ds.coords:
827-
freq_labels = [str(c) for c in ds.channel.values]
827+
freq_labels = [str(c) for c in ds.channel.values
828+
if "nan" not in str(c).lower()]
828829
else:
829830
freq_labels = ["38kHz"]
830831

0 commit comments

Comments
 (0)