v0.6.0
Overview
This is a major release that contains changes that enhances the compliance of echopype data model (and hence generated file structure) to the SONAR-netCDF4 convention Version 1.0 . In addition, some variables were renamed to improve intuitive understanding of sonar data, provenance and standardized attributes are added to the processed dataset (e.g. Sv), the deprecated old API (<0.5.0) was removed, and some bugs were fixed.
Changes of netCDF data model
- Move and rename the original
Beam
andBeam_power
group to be subgroups under theSonar
group, in order to comply with the structure defined in the convention (#567, #574, #605, #606, #611)Beam
-->Sonar/Beam_group1
: contains either raw power or power/angle data for all sonar models other than EK80. For EK80, if only complex or power/angle data exist, all data are in this group; if both complex and power/angle data exist, the complex data are in this group.Beam_power
-->Sonar/Beam_group2
: contains power/angle when complex data occupiesSonar/Beam_group1
; only exists for EK80 data when both power/angle data and complex data bothexist in the file
- Rename the coordinate
range_bin
torange_sample
to make it obvious that this coordinate indicates the digitization sample number for the sound waveform or intensity time series, and hence it takes a form of sequential integers 0, 1, 2, 3, ... (#595) - Rename the data variable
range
in the calibrated Sv or TS dataset toecho_range
, so that it is not confused with the python built-in function (#590) - Rename the coordinate
quadrant
for EK80 data tobeam
(#619) - Add coordinate
beam
with length 1 for all sonar models, except for AD2CP (#638, #646) - Rename the data variable
Sp
toTS
since "point backscattering strength" is a Simrad terminology and target strength (TS) is clearly defined and widely used. (#615) - Rename time dimensions in the
Platform
group (location_time
:time1
,mru_time
:time2
) (#518, #631, #647) - Rename the coordinate
frequency
tochannel
for all groups, to be more flexible (can accommodate channels with identical frequencies #490) and reasonable (since for broadband data the channel frequency is only nominal #566) (#657) - Rename the data variable
heave
tovertical_offset
in the Platform group (#592, #623) - Change
src_filenames
string attribute tosource_filenames
list-of-strings variable (#620, #621) - Bring consistency to the names of the time coordinates for the
Platform
andEnvironment groups
(#656, #672)
Changes of EchoData
group access pattern
- The groups can now be accessed via a path in the form
echodata["Sonar/Platform"]
,echodata["Sonar/Platform"]
,echodata["Sonar/Beam_groupX"]
, etc. using DataTree v0.0.4 functionalities. (#611) - The previous access pattern
echodata.platform
,echodata.sonar
,echodata.beam
, etc. is deprecated and will be removed in v0.6.1.
Addition of attributes and variables in raw-converted and processed data
- Add indexing info for
Beam_groupX
as data variable under theSonar
group (#658) - Add missing coordinate and variable attributes in the processed datasets Sv, MVBS, TS(#594)
- Add
water_level
to processed datasets (Sv, MVBS, TS) for convenient downstream conversion to depth (#259, #583, #615) - Add additional environment variables for EK80 data (#616)
- Add missing platform data variables (#592, #631, #649, #654)
New features and other enhancements
- Add parser for Echoview ECS file (#510)
- Add provenance to raw-converted and processed datasets (#621)
- Consolidate convention specs into a single yml file for pre-loading when creating
EchoData
objects (#565) - Extra visualization module can now handle both
frequency
andchannel
filtering, as well as files with duplicated frequencies (#660) - Improve selection of Vendor-specific calibration parameters for narrowband EK data (#697)
CI improvements
- Upgrade python minimum to 3.8 and tidy up packaging (#604, #608, #609)
- Upgrade echopype development status to Beta (#610)
- Update
setup-services.py
to include images & volumes subtleties (#651)