bluerobotics / bluerobotics/ping-python
Add speed of sound estimation from water properties
- Lingua principale
- Python
- Stelle
- 60
- Fork
- 39
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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](https://bluerobotics.com/learn/speed-of-sound-in-water-calculator/#salinity-estimation). 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.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia esaminando l’implementazione esistente di PingDevice e il modulo water.py proposto, quindi confronta il codice di esempio v_sound in bluerobotics/ping-viewer/issues/1003 con le indicazioni collegate per la stima della salinità. Il lavoro è completo quando fornisce la stima della velocità del suono e della salinità, espone PingDevice.estimate_v_sound(depth, temperature, salinity) e inizializza i valori predefiniti indicati; l’accesso ai dati NASA deve rimanere un TODO.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- backend, data
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 38/100