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 ](http://www.ices.dk/sites/pub/Publication%20Reports/Cooperative%20Research%20Report%20(CRR)/CRR341.pdf). 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](https://github.com/xarray-contrib/datatree/tree/0.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)