@@ -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