<jupyter_start><jupyter_text>(data-format:v0.5.x-to-v0.6.0-changes)= 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: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:- Adding previously missing, mandatory convention variables. When no data are available to populate them, these are filled with null (`NaN`) values.- Moving variables from one group to another, particularly from the Beam groups to `Platform` and `Vendor`. These variables were not typically not part of the convention.- The Beam_groupX `beamwidth_receive_athwartship` and `beamwidth_transmit_athwartship` variables were consolidated into `beamwidth_twoway_athwartship` because the EK60 and EK80 echosounders do not store one-way transmit or receive beam widths. Likewise for `beamwidth_receive_alongship` and `beamwidth_transmit_alongship`.More details, including Pull Requests and discussions related to these changes, can be found in the [Release notes](whats-new.htmlv0-6-0-2022-may-26).  Convert old files to v0.6.0 format To convert data files from v0.5.x to v0.6.0 format, simply open the old files and re-save them:```pythonimport echopype as ep open old v0.5.x file and convert it into a v0.6.0-format EchoData objected = ep.open_converted("old_format_file.nc")ed.to_netcdf("new_format_file.nc")```  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](data-format:echodata-object) to see the changes listed in the table above.<jupyter_code>ed<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.10376249265138154, 'fraction_numerical': 0.019988242210464434, 'mean_word_length': 3.5312916111850865, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '399299', 'license': 'Apache-2.0', 'n_tokens_mistral': 969, 'n_tokens_neox': 921, 'n_words': 358, 'path': 'docs/source/data-format-5to6.ipynb', 'repo_name': 'mbdunn/echopype', 'size': '3402'}