Raw converted data#

The EchoData object#

EchoData is an object that conveniently handles raw converted data from either raw instrument files (via open_raw) or previously converted and standardized raw files (via open_converted). It is essentially a container for multiple xarray Dataset objects, where each such object corresponds to one of the netCDF4 groups specified in the SONAR-netCDF4 convention. EchoData objects are used for conveniently accessing and exploring the echosounder data, for calibration and other processing, and for serializing into netCDF4 or Zarr file formats.

A few example EchoData objects are presented below. They show the hierarchical structure of the SONAR-netCDF4 version 1 groups for the sonar models currently supported by echopype. Click on a group to drill down to variables and attributes and to examine the structure and representative content of an EchoData object.

Depending on the instrument, data variables contained in each group may be different. See the example data sections below and Data from different echosounders for more information.

The echopype version used to render the EchoData objects below is: 0.7.2.dev50+g451d5ef6

Kongsberg Simrad EK60#

EK60 echosounder transmits narrowband signals (gated sine waves) and therefore the Sonar group contains only a single subgroup Beam_group1.

EchoData: standardized raw data from Internal Memory
    • <xarray.Dataset>
      Dimensions:  ()
      Data variables:
          *empty*
      Attributes:
          conventions:                 CF-1.7, SONAR-netCDF4-1.0, ACDD-1.3
          keywords:                    EK60
          sonar_convention_authority:  ICES
          sonar_convention_name:       SONAR-netCDF4
          sonar_convention_version:    1.0
          summary:                     EK60 raw file s3://ncei-wcsd-archive/data/ra...
          title:                       2017 Pacific Hake Acoustic Trawl Survey
          date_created:                2017-07-28T18:16:19Z
          processing_level:            Level 1A
          processing_level_url:        https://echopype.readthedocs.io/en/stable/pr...

      • <xarray.Dataset>
        Dimensions:                 (channel: 3, time1: 529)
        Coordinates:
          * channel                 (channel) <U37 'GPT  18 kHz 009072058c8d 1-1 ES18...
          * time1                   (time1) datetime64[ns] 2017-07-28T18:16:19.314790...
        Data variables:
            absorption_indicative   (channel, time1) float64 0.002822 ... 0.03259
            sound_speed_indicative  (channel, time1) float64 1.481e+03 ... 1.481e+03
            frequency_nominal       (channel) float64 1.8e+04 3.8e+04 1.2e+05

      • <xarray.Dataset>
        Dimensions:              (time1: 2165, time2: 529, channel: 3)
        Coordinates:
          * time1                (time1) datetime64[ns] 2017-07-28T18:16:21.476992 .....
          * time2                (time2) datetime64[ns] 2017-07-28T18:16:19.314790912...
          * channel              (channel) <U37 'GPT  18 kHz 009072058c8d 1-1 ES18-11...
        Data variables: (12/20)
            latitude             (time1) float64 43.66 43.66 43.66 ... 43.66 43.66 43.66
            longitude            (time1) float64 -124.9 -124.9 -124.9 ... -125.0 -125.0
            sentence_type        (time1) <U3 'GGA' 'GLL' 'GGA' ... 'GGA' 'GGA' 'GLL'
            pitch                (time2) float64 -1.38 -0.4025 ... -0.4357 -0.7786
            roll                 (time2) float64 -0.374 -0.7127 ... -0.5143 -0.59
            vertical_offset      (time2) float64 0.388 -0.2825 ... -0.2143 0.1995
            ...                   ...
            position_offset_y    float64 nan
            position_offset_z    float64 nan
            transducer_offset_x  (channel) float64 0.0 0.0 0.0
            transducer_offset_y  (channel) float64 0.0 0.0 0.0
            transducer_offset_z  (channel) float64 0.0 0.0 0.0
            frequency_nominal    (channel) float64 1.8e+04 3.8e+04 1.2e+05
        Attributes:
            platform_name:       Bell M. Shimada
            platform_type:       Research vessel
            platform_code_ICES:  315

        • <xarray.Dataset>
          Dimensions:        (time1: 22037)
          Coordinates:
            * time1          (time1) datetime64[ns] 2017-07-28T18:16:19.314790912 ... 2...
          Data variables:
              NMEA_datagram  (time1) <U73 '$SDVLW,5050.149,N,5050.149,N' ... '$GPDTM,W8...
          Attributes:
              description:  All NMEA sensor datagrams

      • <xarray.Dataset>
        Dimensions:           (filenames: 1)
        Coordinates:
          * filenames         (filenames) int64 0
        Data variables:
            source_filenames  (filenames) <U92 's3://ncei-wcsd-archive/data/raw/Bell_...
        Attributes:
            conversion_software_name:     echopype
            conversion_software_version:  0.7.2.dev50+g451d5ef6
            conversion_time:              2023-08-20T18:29:16Z

      • <xarray.Dataset>
        Dimensions:           (beam_group: 1)
        Coordinates:
          * beam_group        (beam_group) <U11 'Beam_group1'
        Data variables:
            beam_group_descr  (beam_group) <U131 'contains backscatter power (uncalib...
        Attributes:
            sonar_manufacturer:      Simrad
            sonar_model:             EK60
            sonar_serial_number:     
            sonar_software_name:     ER60
            sonar_software_version:  2.4.3
            sonar_type:              echosounder

        • <xarray.Dataset>
          Dimensions:                        (channel: 3, ping_time: 529,
                                              range_sample: 3957)
          Coordinates:
            * channel                        (channel) <U37 'GPT  18 kHz 009072058c8d 1...
            * ping_time                      (ping_time) datetime64[ns] 2017-07-28T18:1...
            * range_sample                   (range_sample) int64 0 1 2 ... 3954 3955 3956
          Data variables: (12/29)
              frequency_nominal              (channel) float64 1.8e+04 3.8e+04 1.2e+05
              beam_type                      (channel) int64 1 1 1
              beamwidth_twoway_alongship     (channel) float64 10.9 6.81 6.58
              beamwidth_twoway_athwartship   (channel) float64 10.82 6.85 6.52
              beam_direction_x               (channel) float64 nan nan nan
              beam_direction_y               (channel) float64 nan nan nan
              ...                             ...
              data_type                      (channel, ping_time) float32 3.0 3.0 ... 3.0
              sample_time_offset             (channel, ping_time) float64 0.0 0.0 ... 0.0
              channel_mode                   (channel, ping_time) int8 0 0 0 0 ... 0 0 0 0
              backscatter_r                  (channel, ping_time, range_sample) float32 ...
              angle_athwartship              (channel, ping_time, range_sample) float32 ...
              angle_alongship                (channel, ping_time, range_sample) float32 ...
          Attributes:
              beam_mode:              vertical
              conversion_equation_t:  type_3

      • <xarray.Dataset>
        Dimensions:            (channel: 3, pulse_length_bin: 5)
        Coordinates:
          * channel            (channel) <U37 'GPT  18 kHz 009072058c8d 1-1 ES18-11' ...
          * pulse_length_bin   (pulse_length_bin) int64 0 1 2 3 4
        Data variables:
            frequency_nominal  (channel) float64 1.8e+04 3.8e+04 1.2e+05
            sa_correction      (channel, pulse_length_bin) float64 0.0 -0.7 ... 0.0 -0.3
            gain_correction    (channel, pulse_length_bin) float64 20.3 22.95 ... 26.55
            pulse_length       (channel, pulse_length_bin) float64 0.000512 ... 0.001024

Kongsberg Simrad EK80#

EK80 echosounder can transmit both narrowband (“CW” or “continuous wave”) or broadband (“BB”, or “FM” or “frequency-modulated”) signals.

In echopype-converted files, there can be at most 2 groups under the Sonar group. The type of data stored in these Beam_groupX groups follow the scenarios below:

  1. If only complex data (can be BB or CW signals) exist, there exists only Beam_group1 and this group may contain CW or BB complex data, or a mixture of both. See example below.

  2. If only power/angle data (only valid for CW signals) exist, there exists only Beam_group1 and this group contains CW power and angle data. The structure is almost identical with EK60 data above.

  3. If both complex and power/angle data exist, there exist Beam_group1 (contaning complex data) and Beam_group2 (containing power/angle data). See example below.

Scenario 1#

The example file below contains both CW complex and BB complex data, both stored as complex data. Therefore, there is only Beam_group1 under the Sonar group.

EchoData: standardized raw data from Internal Memory
    • <xarray.Dataset>
      Dimensions:  ()
      Data variables:
          *empty*
      Attributes:
          conventions:                 CF-1.7, SONAR-netCDF4-1.0, ACDD-1.3
          keywords:                    EK80
          sonar_convention_authority:  ICES
          sonar_convention_name:       SONAR-netCDF4
          sonar_convention_version:    1.0
          summary:                     
          title:                       
          date_created:                2018-12-13T09:46:00Z
          processing_level:            Level 1A
          processing_level_url:        https://echopype.readthedocs.io/en/stable/pr...

      • <xarray.Dataset>
        Dimensions:                       (time1: 1, sound_velocity_profile_depth: 2)
        Coordinates:
          * time1                         (time1) datetime64[ns] 2018-12-13T09:46:00....
          * sound_velocity_profile_depth  (sound_velocity_profile_depth) float64 1.0 ...
        Data variables:
            depth                         (time1) float64 50.0
            acidity                       (time1) float64 8.0
            salinity                      (time1) float64 32.8
            temperature                   (time1) float64 9.8
            sound_speed_indicative        (time1) float64 1.48e+03
            sound_velocity_profile        (time1, sound_velocity_profile_depth) float64 ...
            sound_velocity_source         (time1) <U6 'Manual'
            transducer_name               (time1) <U7 'Unknown'
            transducer_sound_speed        (time1) float64 1.49e+03

      • <xarray.Dataset>
        Dimensions:                      (time1: 12, time2: 4, channel: 6)
        Coordinates:
          * channel                      (channel) <U22 'WBT 714581-15 ES18' ... 'WBT...
          * time1                        (time1) datetime64[ns] 2018-12-13T09:46:01.3...
          * time2                        (time2) datetime64[ns] 2018-12-13T09:46:00.7...
        Data variables: (12/23)
            latitude                     (time1) float64 60.41 60.41 ... 60.41 60.41
            longitude                    (time1) float64 5.312 5.312 ... 5.312 5.312
            sentence_type                (time1) <U3 'GGA' 'GLL' 'RMC' ... 'GLL' 'RMC'
            pitch                        (time2) float64 0.84 0.85 0.8582 0.88
            roll                         (time2) float64 -0.58 -0.58 -0.58 -0.58
            vertical_offset              (time2) float64 0.0 -0.01 -0.01 -0.01
            ...                           ...
            MRU_rotation_y               float64 nan
            MRU_rotation_z               float64 nan
            position_offset_x            float64 nan
            position_offset_y            float64 nan
            position_offset_z            float64 nan
            frequency_nominal            (channel) float64 1.8e+04 1.2e+05 ... 2e+05
        Attributes:
            platform_name:       
            platform_type:       
            platform_code_ICES:  

        • <xarray.Dataset>
          Dimensions:        (time1: 142)
          Coordinates:
            * time1          (time1) datetime64[ns] 2018-12-13T09:46:00.747195904 ... 2...
          Data variables:
              NMEA_datagram  (time1) <U93 '$SDVLW,2559.924,N,2559.924,N' ... '$PBFG,1,0...
          Attributes:
              description:  All NMEA sensor datagrams

      • <xarray.Dataset>
        Dimensions:           (filenames: 1)
        Coordinates:
          * filenames         (filenames) int64 0
        Data variables:
            source_filenames  (filenames) <U43 './example_raw/2018115-D20181213-T0946...
        Attributes:
            conversion_software_name:     echopype
            conversion_software_version:  0.7.2.dev50+g451d5ef6
            conversion_time:              2023-08-20T18:29:17Z

      • <xarray.Dataset>
        Dimensions:                    (channel: 6, beam_group: 1)
        Coordinates:
          * channel                    (channel) <U22 'WBT 714581-15 ES18' ... 'WBT 7...
          * beam_group                 (beam_group) <U11 'Beam_group1'
        Data variables:
            frequency_nominal          (channel) float64 1.8e+04 1.2e+05 ... 2e+05
            transceiver_serial_number  (channel) <U6 '714581' '714583' ... '714605'
            transducer_name            (channel) <U8 'ES18' 'ES120-7C' ... 'ES200-7C'
            transducer_serial_number   (channel) <U4 '2039' '124' '105' ... '101' '208'
            beam_group_descr           (beam_group) <U74 'contains complex backscatte...
        Attributes:
            sonar_manufacturer:      Simrad
            sonar_model:             EK80
            sonar_serial_number:     
            sonar_software_name:     EK80
            sonar_software_version:  1.12.2.0
            sonar_type:              echosounder

        • <xarray.Dataset>
          Dimensions:                        (channel: 6, ping_time: 4,
                                              range_sample: 4434, beam: 4)
          Coordinates:
            * channel                        (channel) <U22 'WBT 714581-15 ES18' ... 'W...
            * ping_time                      (ping_time) datetime64[ns] 2018-12-13T09:4...
            * range_sample                   (range_sample) int64 0 1 2 ... 4431 4432 4433
            * beam                           (beam) <U21 '1' '2' '3' '4'
          Data variables: (12/26)
              frequency_nominal              (channel) float64 1.8e+04 1.2e+05 ... 2e+05
              beam_type                      (channel) int64 1 1 1 65 1 1
              beamwidth_twoway_alongship     (channel) float64 10.2 6.56 ... 5.25 5.64
              beamwidth_twoway_athwartship   (channel) float64 10.31 6.57 ... 6.47 6.06
              beam_direction_x               (channel) float64 nan nan nan nan nan nan
              beam_direction_y               (channel) float64 nan nan nan nan nan nan
              ...                             ...
              transmit_power                 (channel, ping_time) float64 2e+03 ... 105.0
              transmit_duration_nominal      (channel, ping_time) float32 0.001024 ... ...
              slope                          (channel, ping_time) float64 0.5 ... 0.009766
              channel_mode                   (channel, ping_time) int8 1 1 1 1 ... 1 1 1 1
              transmit_type                  (channel, ping_time) <U3 'CW' 'CW' ... 'CW'
              sample_time_offset             (channel, ping_time) float64 0.0 0.0 ... 0.0
          Attributes:
              beam_mode:              vertical
              conversion_equation_t:  type_3

      • <xarray.Dataset>
        Dimensions:                      (channel: 6, pulse_length_bin: 5,
                                          cal_frequency: 382, cal_channel_id: 5,
                                          WBT_filter_n: 511, PC_filter_n: 337)
        Coordinates:
          * channel                      (channel) <U22 'WBT 714581-15 ES18' ... 'WBT...
          * pulse_length_bin             (pulse_length_bin) int64 0 1 2 3 4
          * cal_frequency                (cal_frequency) int64 34000 34099 ... 450000
          * cal_channel_id               (cal_channel_id) <U22 'WBT 714583-15 ES120-7...
        Dimensions without coordinates: WBT_filter_n, PC_filter_n
        Data variables: (12/21)
            frequency_nominal            (channel) float64 1.8e+04 1.2e+05 ... 2e+05
            sa_correction                (channel, pulse_length_bin) float64 0.0 ... ...
            gain_correction              (channel, pulse_length_bin) float64 20.3 ......
            pulse_length                 (channel, pulse_length_bin) float64 0.000512...
            impedance_transceiver        (channel) int64 5400 5400 5400 5400 5400 5400
            receiver_sampling_frequency  (channel) float64 1.5e+06 1.5e+06 ... 1.5e+06
            ...                           ...
            WBT_filter_r                 (channel, WBT_filter_n) float32 -2.983e-05 ....
            WBT_decimation               (channel) int64 6 6 8 64 6 6
            PC_filter_i                  (channel, PC_filter_n) float32 -3.319e-05 .....
            PC_filter_r                  (channel, PC_filter_n) float32 1.402e-07 ......
            PC_decimation                (channel) int64 7 10 4 1 6 8
            config_xml                   <U91708 '<?xml version="1.0" encoding="utf-8...

Scenario 3#

The example file below contains both narrowband (“CW” or “continuous wave”) “power/angle” data as well as broadband (“BB”, or “FM” or “frequency-modulated”) complex data. Therefore there are two groups under the Sonar group: Beam_group1 and Beam_group2.

EchoData: standardized raw data from Internal Memory
    • <xarray.Dataset>
      Dimensions:  ()
      Data variables:
          *empty*
      Attributes:
          conventions:                 CF-1.7, SONAR-netCDF4-1.0, ACDD-1.3
          keywords:                    EK80
          sonar_convention_authority:  ICES
          sonar_convention_name:       SONAR-netCDF4
          sonar_convention_version:    1.0
          summary:                     
          title:                       
          date_created:                2018-09-05T03:31:13Z
          processing_level:            Level 1A
          processing_level_url:        https://echopype.readthedocs.io/en/stable/pr...

      • <xarray.Dataset>
        Dimensions:                       (time1: 1, sound_velocity_profile_depth: 2)
        Coordinates:
          * time1                         (time1) datetime64[ns] 2018-09-05T03:31:13....
          * sound_velocity_profile_depth  (sound_velocity_profile_depth) float64 1.0 ...
        Data variables:
            depth                         (time1) float64 35.0
            acidity                       (time1) float64 8.0
            salinity                      (time1) float64 30.1
            temperature                   (time1) float64 13.1
            sound_speed_indicative        (time1) float64 1.481e+03
            sound_velocity_profile        (time1, sound_velocity_profile_depth) float64 ...
            sound_velocity_source         (time1) <U10 'Calculated'
            transducer_name               (time1) <U7 'Unknown'
            transducer_sound_speed        (time1) float64 1.481e+03

      • <xarray.Dataset>
        Dimensions:                      (time1: 19, time2: 8, channel: 5)
        Coordinates:
          * channel                      (channel) <U25 'WBT 545612-15 ES200-7C_ES' ....
          * time1                        (time1) datetime64[ns] 2018-09-05T03:31:13.3...
          * time2                        (time2) datetime64[ns] 2018-09-05T03:31:13.3...
        Data variables: (12/23)
            latitude                     (time1) float64 47.62 47.62 ... 47.62 47.62
            longitude                    (time1) float64 -122.4 -122.4 ... -122.4 -122.4
            sentence_type                (time1) <U3 'GGA' 'GLL' 'RMC' ... 'GLL' 'RMC'
            pitch                        (time2) float64 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
            roll                         (time2) float64 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
            vertical_offset              (time2) float64 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
            ...                           ...
            MRU_rotation_y               float64 nan
            MRU_rotation_z               float64 nan
            position_offset_x            float64 nan
            position_offset_y            float64 nan
            position_offset_z            float64 nan
            frequency_nominal            (channel) float64 2e+05 7e+04 ... 1.2e+05
        Attributes:
            platform_name:       
            platform_type:       
            platform_code_ICES:  

        • <xarray.Dataset>
          Dimensions:        (time1: 55)
          Coordinates:
            * time1          (time1) datetime64[ns] 2018-09-05T03:31:13.384392192 ... 2...
          Data variables:
              NMEA_datagram  (time1) <U73 '$SDVLW,0.050,N,0.050,N' ... '$GPRMC,033128,A...
          Attributes:
              description:  All NMEA sensor datagrams

      • <xarray.Dataset>
        Dimensions:           (filenames: 1)
        Coordinates:
          * filenames         (filenames) int64 0
        Data variables:
            source_filenames  (filenames) <U47 './example_raw/Summer2018--D20180905-T...
        Attributes:
            conversion_software_name:     echopype
            conversion_software_version:  0.7.2.dev50+g451d5ef6
            conversion_time:              2023-08-20T18:29:17Z

      • <xarray.Dataset>
        Dimensions:                    (channel: 5, beam_group: 2)
        Coordinates:
          * channel                    (channel) <U25 'WBT 545612-15 ES200-7C_ES' ......
          * beam_group                 (beam_group) <U11 'Beam_group1' 'Beam_group2'
        Data variables:
            frequency_nominal          (channel) float64 2e+05 7e+04 ... 1.8e+04 1.2e+05
            transceiver_serial_number  (channel) <U6 '545612' '549762' ... '743869'
            transducer_name            (channel) <U8 'ES70-7C' 'ES70-7C' ... 'ES120-7C'
            transducer_serial_number   (channel) <U1 '0' '0' '2' '1' '3'
            beam_group_descr           (beam_group) <U131 'contains complex backscatt...
        Attributes:
            sonar_manufacturer:      Simrad
            sonar_model:             EK80
            sonar_serial_number:     
            sonar_software_name:     EK80
            sonar_software_version:  2.0.1.0
            sonar_type:              echosounder

        • <xarray.Dataset>
          Dimensions:                        (channel: 3, ping_time: 8,
                                              range_sample: 6754, beam: 4)
          Coordinates:
            * channel                        (channel) <U25 'WBT 545612-15 ES200-7C_ES'...
            * ping_time                      (ping_time) datetime64[ns] 2018-09-05T03:3...
            * range_sample                   (range_sample) int64 0 1 2 ... 6751 6752 6753
            * beam                           (beam) <U21 '1' '2' '3' '4'
          Data variables: (12/26)
              frequency_nominal              (channel) float64 2e+05 7e+04 1.2e+05
              beam_type                      (channel) int64 1 1 1
              beamwidth_twoway_alongship     (channel) float64 7.0 7.0 7.0
              beamwidth_twoway_athwartship   (channel) float64 7.0 7.0 7.0
              beam_direction_x               (channel) float64 nan nan nan
              beam_direction_y               (channel) float64 nan nan nan
              ...                             ...
              transmit_power                 (channel, ping_time) float64 105.0 ... 250.0
              transmit_duration_nominal      (channel, ping_time) float32 0.002048 ... ...
              slope                          (channel, ping_time) float64 0.005919 ... ...
              channel_mode                   (channel, ping_time) int8 0 0 0 0 ... 0 0 0 0
              transmit_type                  (channel, ping_time) <U3 'LFM' ... 'LFM'
              sample_time_offset             (channel, ping_time) float64 0.0 0.0 ... 0.0
          Attributes:
              beam_mode:              vertical
              conversion_equation_t:  type_3

        • <xarray.Dataset>
          Dimensions:                        (channel: 2, ping_time: 8, range_sample: 225)
          Coordinates:
            * channel                        (channel) <U22 'WBT 743366-15 ES38B_ES' 'W...
            * ping_time                      (ping_time) datetime64[ns] 2018-09-05T03:3...
            * range_sample                   (range_sample) int64 0 1 2 3 ... 222 223 224
          Data variables: (12/27)
              frequency_nominal              (channel) float64 3.8e+04 1.8e+04
              beam_type                      (channel) int64 1 1
              beamwidth_twoway_alongship     (channel) float64 7.0 11.0
              beamwidth_twoway_athwartship   (channel) float64 7.0 11.0
              beam_direction_x               (channel) float64 nan nan
              beam_direction_y               (channel) float64 nan nan
              ...                             ...
              transmit_power                 (channel, ping_time) float64 2e+03 ... 1.5...
              transmit_duration_nominal      (channel, ping_time) float32 0.001024 ... ...
              slope                          (channel, ping_time) float64 0.257 ... 0.5
              channel_mode                   (channel, ping_time) int8 0 0 0 0 ... 0 0 0 0
              transmit_type                  (channel, ping_time) <U2 'CW' 'CW' ... 'CW'
              sample_time_offset             (channel, ping_time) float64 0.0 0.0 ... 0.0
          Attributes:
              beam_mode:              vertical
              conversion_equation_t:  type_3

      • <xarray.Dataset>
        Dimensions:                      (channel: 5, pulse_length_bin: 5,
                                          cal_channel_id: 1, cal_frequency: 92,
                                          WBT_filter_n: 47, PC_filter_n: 465)
        Coordinates:
          * channel                      (channel) <U25 'WBT 545612-15 ES200-7C_ES' ....
          * pulse_length_bin             (pulse_length_bin) int64 0 1 2 3 4
          * cal_channel_id               (cal_channel_id) <U24 'WBT 549762-15 ES70-7C...
          * cal_frequency                (cal_frequency) int64 45000 45495 ... 90000
        Dimensions without coordinates: WBT_filter_n, PC_filter_n
        Data variables: (12/21)
            frequency_nominal            (channel) float64 2e+05 7e+04 ... 1.2e+05
            sa_correction                (channel, pulse_length_bin) float64 0.0 ... 0.0
            gain_correction              (channel, pulse_length_bin) float64 27.0 ......
            pulse_length                 (channel, pulse_length_bin) float64 6.4e-05 ...
            impedance_transceiver        (channel) int64 5400 5400 5400 5400 5400
            receiver_sampling_frequency  (channel) float64 1.5e+06 1.5e+06 ... 1.5e+06
            ...                           ...
            WBT_filter_r                 (channel, WBT_filter_n) float32 -4.915e-05 ....
            WBT_decimation               (channel) int64 6 6 6 6 8
            PC_filter_i                  (channel, PC_filter_n) float32 0.0001099 ......
            PC_filter_r                  (channel, PC_filter_n) float32 -1.169e-17 .....
            PC_decimation                (channel) int64 2 4 10 7 2
            config_xml                   <U34166 '<?xml version="1.0" encoding="utf-8...

ASL Environmental Sciences AZFP data#

Similar to EK60, AZFP echosounder transmits narrowband signals (gated sine waves) and therefore the Sonar group contains only a single subgroup Beam_group1.

EchoData: standardized raw data from Internal Memory
    • <xarray.Dataset>
      Dimensions:  ()
      Data variables:
          *empty*
      Attributes:
          conventions:                 CF-1.7, SONAR-netCDF4-1.0, ACDD-1.3
          keywords:                    AZFP
          sonar_convention_authority:  ICES
          sonar_convention_name:       SONAR-netCDF4
          sonar_convention_version:    1.0
          summary:                     
          title:                       
          date_created:                2017-08-21T17:05:37Z

      • <xarray.Dataset>
        Dimensions:      (time1: 240)
        Coordinates:
          * time1        (time1) datetime64[ns] 2017-08-21T17:05:37 ... 2017-08-21T17...
        Data variables:
            temperature  (time1) float64 7.311 7.311 7.311 7.311 ... 7.293 7.293 7.293

      • <xarray.Dataset>
        Dimensions:              (time1: 1, time2: 240, channel: 4)
        Coordinates:
          * channel              (channel) <U11 '55075-38-1' ... '55075-455-4'
          * time1                (time1) datetime64[ns] 2017-08-21T17:05:37
          * time2                (time2) datetime64[ns] 2017-08-21T17:05:37 ... 2017-...
        Data variables: (12/21)
            latitude             (time1) float64 nan
            longitude            (time1) float64 nan
            pitch                (time2) float64 nan nan nan nan nan ... nan nan nan nan
            roll                 (time2) float64 nan nan nan nan nan ... nan nan nan nan
            vertical_offset      (time2) float64 nan nan nan nan nan ... nan nan nan nan
            water_level          float64 nan
            ...                   ...
            MRU_rotation_y       float64 nan
            MRU_rotation_z       float64 nan
            position_offset_x    float64 nan
            position_offset_y    float64 nan
            position_offset_z    float64 nan
            frequency_nominal    (channel) float64 3.8e+04 1.25e+05 2e+05 4.55e+05
        Attributes:
            platform_name:       
            platform_type:       
            platform_code_ICES:  

      • <xarray.Dataset>
        Dimensions:                (filenames: 1)
        Coordinates:
          * filenames              (filenames) int64 0
        Data variables:
            source_filenames       (filenames) <U26 './example_raw/17082117.01A'
            meta_source_filenames  (filenames) <U26 './example_raw/17041823.XML'
        Attributes:
            conversion_software_name:     echopype
            conversion_software_version:  0.7.2.dev50+g451d5ef6
            conversion_time:              2023-08-20T18:29:17Z

      • <xarray.Dataset>
        Dimensions:           (beam_group: 1)
        Coordinates:
          * beam_group        (beam_group) <U11 'Beam_group1'
        Data variables:
            beam_group_descr  (beam_group) <U82 'contains backscatter power (uncalibr...
        Attributes:
            sonar_manufacturer:      ASL Environmental Sciences
            sonar_model:             AZFP
            sonar_serial_number:     55075
            sonar_software_name:     AZFP
            sonar_software_version:  1.4
            sonar_type:              echosounder

        • <xarray.Dataset>
          Dimensions:                      (channel: 4, ping_time: 240, range_sample: 2650)
          Coordinates:
            * channel                      (channel) <U11 '55075-38-1' ... '55075-455-4'
            * ping_time                    (ping_time) datetime64[ns] 2017-08-21T17:05:...
            * range_sample                 (range_sample) int64 0 1 2 3 ... 2647 2648 2649
          Data variables: (12/16)
              frequency_nominal            (channel) float64 3.8e+04 1.25e+05 ... 4.55e+05
              beam_type                    (channel) int64 0 0 0 0
              beam_direction_x             (channel) float64 nan nan nan nan
              beam_direction_y             (channel) float64 nan nan nan nan
              beam_direction_z             (channel) float64 nan nan nan nan
              backscatter_r                (channel, ping_time, range_sample) float32 2...
              ...                           ...
              transmit_frequency_start     (channel) float64 3.8e+04 1.25e+05 ... 4.55e+05
              transmit_frequency_stop      (channel) float64 3.8e+04 1.25e+05 ... 4.55e+05
              transmit_type                <U2 'CW'
              beam_stabilisation           int8 0
              non_quantitative_processing  int16 0
              sample_time_offset           float64 0.0
          Attributes:
              beam_mode:              
              conversion_equation_t:  type_4

      • <xarray.Dataset>
        Dimensions:                                         (channel: 4,
                                                             ping_time: 240,
                                                             ancillary_len: 5, ad_len: 2)
        Coordinates:
          * channel                                         (channel) <U11 '55075-38-...
          * ping_time                                       (ping_time) datetime64[ns] ...
          * ancillary_len                                   (ancillary_len) int64 0 ....
          * ad_len                                          (ad_len) int64 0 1
        Data variables: (12/60)
            frequency_nominal                               (channel) float64 3.8e+04...
            digitization_rate                               (channel) int64 64000 ......
            lockout_index                                   (channel) int64 0 0 0 0
            number_of_bins_per_channel                      (channel) int64 2650 ... ...
            number_of_samples_per_average_bin               (channel) int64 1 1 1 1
            board_number                                    (channel) int64 0 1 2 3
            ...                                              ...
            tilt_X_c                                        float64 2.035e-07
            tilt_X_d                                        float64 -3.176e-12
            tilt_Y_a                                        float64 -46.97
            tilt_Y_b                                        float64 -0.0005821
            tilt_Y_c                                        float64 1.973e-07
            tilt_Y_d                                        float64 -3.134e-12

Data from different echosounders#

Power/Angle data#

For echosounder setups using single-beam transducers, only the echo power (or intensity) data are available and these data are stored in the data variable backscatter_r (the r in the suffix refers to the real part of the signal). This is the case for data from:

  • the AZFP echosounder

  • the EK60 echosounder paired with single-beam transducers

  • the EK80 echosounder paired with single-beam transducers and configured to transmit narrowband signals and store data in power/angle format.

For echosounder setups using split-beam transducers, the echo power data are similarly stored in the variable backscatter_r, but with the additional split-beam angle data stored in data variables angle_alongship and angle_athwartship. This is the case for data from:

  • the EK60 echosounder paired with split-beam transducers

  • the EK80 echosounder paired with split-beam transducers and configured to transmit narrowband signals and store data in power/angle format.

All the above data variables (backscatter_r, angle_alongship, angle_athwartship) use the gridded representation with dimensions (channel, range_sample, ping_time) and are stored in the Sonar/Beam_group1 group.

Complex data#

A deviation from the above is the case when the raw complex samples are recorded by EK80 echosounders paired with split-beam transducers. In this case, both backscatter_r and backscatter_i variables exist and contain the real and imaginary part of the echo waveform data, respectively. These variables are with dimension (channel, range_sample, ping_time, beam), and the length of the beam dimension can be 3 or 4 depending on the specific transducer used. The angle_alongship and angle_athwartship variables are not present in such files and can be computed and added to the calibrate Sv dataset using echopype.consolidate.add_splitbeam_angle.

Note

It is possible for power/angle data and complex data to coexist in files collected by EK80 echosounders, since each frequency channel can be configured separately. In this case, the complex data are stored in the Sonar/Beam_group1 group and the power/angle data are stored in the Sonar/Beam_group2 group. This is scenario 3 in the above example EK80 data section.