bluerobotics/ping-python

Add speed of sound estimation from water properties

ES-Alexander opened this issue · 0 comments

Would help with #122, and would also better enable data processing capabilities.

Should probably be implemented as a water.py module, with a helper for estimating salinity as per here. Ideally there would be some kind of API access to NASA's global sea surface salinity data (queried by GPS location?) or something, but that is probably best left as a note/TODO for now.

Example v_sound code at bluerobotics/ping-viewer/issues/1003

Would be useful to include an estimate_v_sound(self, depth=None, temperature=None, salinity=None) method in PingDevice that uses water.estimate_sound_speed(depth, temperature, salinity), which can be updated over time to use the most up to date implemented method. PingDevice can have its initialisation updated to include initial depth=0, temperature=25, salinity=water.estimate_salinity_from_type("seawater") values.