Skip to content

Commit 808bb55

Browse files
committed
feat(calibrate): use measured sound_speed/absorption from Environment group
1 parent 736153f commit 808bb55

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

echopype/calibrate/env_params.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,8 +299,13 @@ def get_env_params_EK(
299299
out_dict[p_user] = user_dict.get(p_user, env[p_data])
300300

301301
# Sound speed
302+
# Priority: 1) user_dict, 2) measured 'sound_speed' in Environment, 3) calculate
302303
if out_dict["sound_speed"] is None:
303-
if not tspa_all_exist:
304+
# Check if measured sound_speed exists in Environment group (from CTD enrichment)
305+
if "sound_speed" in env.data_vars:
306+
out_dict["sound_speed"] = env["sound_speed"]
307+
out_dict.pop("formula_sound_speed")
308+
elif not tspa_all_exist:
304309
# sounds speed always exist in EK60 and EK80 data
305310
out_dict["sound_speed"] = env["sound_speed_indicative"]
306311
out_dict.pop("formula_sound_speed")
@@ -319,8 +324,13 @@ def get_env_params_EK(
319324
out_dict.pop("formula_sound_speed") # remove this since no calculation
320325

321326
# Sound absorption
327+
# Priority: 1) user_dict, 2) measured 'sound_absorption' in Environment, 3) calculate
322328
if out_dict["sound_absorption"] is None:
323-
if not tspa_all_exist and sonar_type != "EK80": # this should not happen for EK80
329+
# Check if measured sound_absorption exists in Environment group (from CTD enrichment)
330+
if "sound_absorption" in env.data_vars:
331+
out_dict["sound_absorption"] = env["sound_absorption"]
332+
out_dict.pop("formula_absorption")
333+
elif not tspa_all_exist and sonar_type != "EK80": # this should not happen for EK80
324334
# absorption always exist in EK60 data
325335
out_dict["sound_absorption"] = env["absorption_indicative"]
326336
out_dict.pop("formula_absorption")

0 commit comments

Comments
 (0)