Changes in recent versions

The underlying raw converted data structure used by echopype (the EchoData object) has undergone revisions over time. While in most echopype releases these changes are relatively small, versions 0.8.0 and 0.6.0 incorporated significant changes, with implications for backward compatibility. Here we describe the main changes in each of these major releases. Please refer to What’s new for more complete details on specific changes that impacted the data structure.

v0.7.1 to v0.8.0 changes

Changes introduced in version 0.8.0 were carried out to incorporate missing variables that are mandated by SONAR-netCDF4 v1 and to implement adaptations to the convention in a more consistent fashion across variables and instrument types. Some of these changes modified or reverted decisions implemented in version 0.6.0 (below) that were later found to have large impacts on performance and usability.

Highlights include:

Version 0.8.0 does not incorporate the capability to read files converted by previous versions of echopype. We recommend using open_raw to re-convert the raw data files.

v0.5.x to v0.6.0 changes

In order to enhance the compliance of echopype-generated datasets to the SONAR-netCDF4 version 1 convention, a number of changes were introduced in echopype v0.6.0 that create incompatibilities with the data structure used in previous versions.

To ease the transition, the open_converted function is able to open files previously converted using echopype v0.5.x (0.5.0 to 0.5.6) into the v0.6.0 data format, encapsulated in the EchoData object.

Key changes involved renaming and restructuring a couple of groups, and renaming some coordinates and data variables, as summarized below:

Type

v0.5.x

v0.6.0

Rationale and notes

Group

Beam

Sonar/Beam_group1

Convention compliance

Group

Beam_power

Sonar/Beam_group2

Convention compliance

Group

Vendor

Vendor_specific

Convention compliance

Coordinate

frequency

channel

Accommodate channels with duplicated frequencies. The new variable frequency_nominal was introduced

Coordinate

range_bin

range_sample

Better intuitive understanding of data

Coordinate

quadrant

beam

Convention compliance. This Beam_groupX coordinate was added when it did not exist.

Coordinate

location_time

time1

Convention compliance. In Platform group

Coordinate

mru_time

time2

Convention compliance. In Platform group

Variable

heave

vertical_offset

Convention compliance. In Platform group

Variable

src_filenames

source_filenames

Convention compliance. In Provenance group. Also converted from global attribute to variable

Other changes included:

More details, including Pull Requests and discussions related to these changes, can be found in the Release notes.

v0.5.x data format

Below we provide a sample of the v0.5.x data format via a printout of the previous EchoData object.

Compare this with the v0.6.0 EchoData object to see the changes listed in the table above.

EchoData: standardized raw data from Internal Memory
<script type="text/x-thebe-config"> { requestKernel: true, binderOptions: { repo: "binder-examples/jupyter-stacks-datascience", ref: "master", }, codeMirrorConfig: { theme: "abcdef", mode: "conda-env-oldep-py" }, kernelOptions: { name: "conda-env-oldep-py", path: "./." }, predefinedOutput: true } </script>
<script>kernelName = 'conda-env-oldep-py'</script>