OSOceanAcoustics / echopype

Enabling interoperability and scalability in ocean sonar data analysis
https://echopype.readthedocs.io/
Apache License 2.0
95 stars 73 forks source link

Add beam dimension to Beam group #520

Closed emiliom closed 2 years ago

emiliom commented 2 years ago

(Updated 2022-3-30). Add a beam dimension to Beam_groupX groups. We've decided to always include the beam dimension, instead of relying on an implicit length-1 dimension.

Older notes (just for reference):

leewujung commented 2 years ago

For EK80:

transceiver_software_version

@leewujung wouldn't this variable be better placed in the Sonar group, where the convention attribute sonar_software_version is already found? I suggest moving it there, and not adding a ping_time dimension at this time; let's leave that addition to a future echopype version.

I agree with the above.

b-reyes commented 2 years ago

We have arrived at a consensus for EK80! Summary of dimension decisions for EK80.

EK80: Sonar/Beam_group1/Sonar/Beam_group2

b-reyes commented 2 years ago

Note that we will not be addressing the AD2CP sensor in this issue, this will be left for a future version of echopype. Thus, the last items to discuss are the AZFP sensor dimensions.

AZFP: Sonar/Beam_group1

leewujung commented 2 years ago

The dimensions for AZFP listed above all look good. I just have some comments below on where specific form of data come from, and placement of specific variables.

  • sample_interval should have dims (channel, ping_time), but currently echopype has it as just channel
  • For transmit_duration_nominal we should add ping_time as a dimension to be consistent convention (it currently only has channel as a dimension)

In the same data file AZFP does not have the flexibility like EK systems to change sample_interval or transmit_duration_nominal over time (hence only a channel dimension straight from the data), but we could run into situations when combine_echodata is used and we would need to accommodate having different sample_interval over time, so having dims (channel, ping_time) is a convenient change for both variables.

  • Variables not found in the convention, should we leave them alone?

I have some suggestions where the variables should be moved to. I was definitely not thinking about the variable placement earlier.

b-reyes commented 2 years ago

Based on our Thursday meeting, we have come to a consensus on the variable dimensions of the beam group for AZFP. To summarize, here are the final decisions on the dimensions for AZFP:

AZFP: Sonar/Beam_group1

leewujung commented 2 years ago

We are ready to close this now. 🎉