Skip to content

v0.6.0

Compare
Choose a tag to compare
@leewujung leewujung released this 27 May 17:12
· 552 commits to main since this release
a32f719

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 and Beam_power group to be subgroups under the Sonar 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 occupies Sonar/Beam_group1; only exists for EK80 data when both power/angle data and complex data bothexist in the file
  • Rename the coordinate range_bin to range_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 to echo_range, so that it is not confused with the python built-in function (#590)
  • Rename the coordinate quadrant for EK80 data to beam (#619)
  • Add coordinate beam with length 1 for all sonar models, except for AD2CP (#638, #646)
  • Rename the data variable Sp to TS 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 to channel 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 to vertical_offset in the Platform group (#592, #623)
  • Change src_filenames string attribute to source_filenames list-of-strings variable (#620, #621)
  • Bring consistency to the names of the time coordinates for the Platform and Environment 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 the Sonar 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 and channel 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)

Other changes

  • Remove the deprecated old (<0.5.0) API (#506, #601)
  • Update README in the echopype/test_data folder (#584)
  • Add documentation for visualization (#655)
  • Add development roadmap to documentation (#636, #688)
  • Restructure and expand data format section (#635)