HAC data files

Echoview includes read and write support for selected HAC tuples.

This page covers:

About the HAC file format

The HAC data file format was developed as a standard format to allow interchange of raw and edited hydroacoustics data. The file format is independent of specific echosounders, software and computer platforms. For further information about the HAC file format refer to the following publications:

Compatibility considerations

The HAC format specifies which tuples can be included in HAC data files but leaves it to software developers to decide which tuples their product will read and write. This can result in compatibility problems between software, e.g. a product may write a technically correct HAC file that contains tuples that a technically correct reader does not support. Echoview reads and writes a set of tuple types from a number of tuple classes, that are of most importance to Echoview customers and are most commonly supported by other software products.

Some specific compatibility considerations with HAC files in Echoview are described below:

  • The HAC specification permits more than one Generic echosounder tuple defining the same echosounder but Echoview does not. Echoview will display a warning if such a file is read and subsequent tuples redefining the same echosounder are ignored. The same is true of the Generic channel tuple.

  • Echoview can only read HAC files if they are in the little-endian format (this was not originally part of the HAC standard Version 1.0).

  • Echoview writes calibrated data to HAC files, i.e. Sv, TS and angular values that were calculated using the calibration settings that were current when the HAC file was written. Some calibration settings are exported to the HAC file for reference purposes; see the note in the Writing HAC files section for more information. Calibrated HAC files used in Echoview may need their calibration settings added to an ECS file for use in other Echoview calculations (for example, single target thickness which requires TransmittedPulseDuration and SoundSpeed).

If you are using the HAC format to exchange data, please read the information on this page and contact Echoview for additional information or to request support for additional tuples.

Reading HAC files

A variable in Echoview is created for each supported channel tuple found in a .hac file with which one or more ping tuples are associated. The channel tuple identifies the type of channel as either Generic, EK500 or BioSonics (see Raw variables derived from HAC data files) and the ping and channel tuple together identify the type of data (Sv, TS, Angular position or Single targets).

Echoview can read the following HAC v1.0 tuple types:

20

Standard position

100

BioSonics model 102 echosounder

200

Simrad EK500 echosounder

1000

BioSonics model 102 channel (limited support, see Support for BioSonics model 102 tuples)

2000

Simrad EK500 channel

2001

Simrad EK500b

10000

Standard ping U-32

10001

Ping U-32-16-angles

10010

Ping C-32

10040

Ping C-16

10110

Event marker

65534

End of file

65535

HAC Signature

and the following HAC v1.3 tuple types:

901 

Generic echosounder tuple

1001

Biosonics 102 tuple (limited support, see Support for BioSonics model 102 tuples)

9001

Generic channel tuple

10011

Ping C-32-16 angles

65397

Private tuple 1

and the following HAC v1.4 tuple types:

10090

Split beam detected single target tuple, See note below

and the following HAC v1.5 tuple types:

2001

Simrad EK500 Channel tuple (2001) (Absorption of sound and Two-way beam angle)

and the following tuple types written by previous versions of Echoview:

900

Draft generic echosounder tuple

9000

Draft generic channel tuple

Notes:

  • The HAC specification for Split beam detected single target tuples does not account for pings containing zero targets. This means that horizontal gaps between HAC single targets will not be represented on an echogram in Echoview. To avoid this, when there are missing pings between single target pings, Echoview adds empty pings containing No data to the HAC derived raw variable. Echoview assumes a constant ping rate and inserts missing pings by interpolating between single target pings. No empty pings are added to the start or end of a data file. No attempt is made to match the times for interpolated empty pings with the times of corresponding TS/Sv pings.
  • Export to HAC notes: Adding to a fileset.
  • Marker regions are created for Event marker tuples.
  • Some HAC data files can be verified by Echocheck.

Writing HAC files

Echoview can export SV, TS and angular position and split beam detected single target and dual beam variables to HAC files using tuple types from echosounder, channel and ping tuple classes. These data files can be re-imported into Echoview or imported into other programs that support HAC tuples. Exporting partial results (e.g. complex virtual variables) to HAC and creating a new EV file with the HAC data may lead to performance improvements with large and complex analyses.

See Exporting to HAC data files for details.

Supported tuple types

Echoview writes the following tuple types:

20

Standard position

901

Generic echosounder tuple v1.3 (see note below)

9001

Generic channel tuple v1.3 (see note below)

10000

Standard ping U-32

10001

Ping U-32-16-angles

10011

Ping C-32-16 angles

10040

Ping C-16

10090

Split beam detected single target tuple v1.4 (see note below)

65534

End of file

65535

HAC Signature

If Write compressed tuples is selected on the Export to HAC format dialog box then Ping-C (compressed) type tuples are written otherwise Ping-U (uncompressed) type tuples are written.

Notes:

  • Data written to the Split beam detected single target tuple (10090) includes all data contained in an Echoview single targets export .csv export.
  • The following data are written to the Generic echosounder tuple (901) and Generic channel tuple (9001):

Tuple

Parameter

Value written

901

Sound speed

The Sound speed value displayed on the Calibration page for the Variable Properties dialog box.

Ping interval

Zero

Trigger mode

Not available

9001

Frequency

The Frequency value displayed on the Calibration page for the Variable Properties dialog box.

Sampling rate

Function of speed of sound.

Two-way beam angle

The Two-way beam angle value displayed on the Calibration page for the Variable Properties dialog box.

Absorption coefficient

The Absorption coefficient value displayed on the Calibration page for the Variable Properties dialog box.

Transmitted pulse length

The Pulse duration value displayed on the Calibration page for the Variable Properties dialog box.

Time-varied gain multiplier

  • For Sv variables—20

  • For TS variables—40

  • For angular position variables—Not available

Time-varied gain blanking mode

  • For Sv variables—Not available

  • For TS variables—Not available

  • For angular position variables—Not applicable

Time-varied gain range minimum

  • For Sv variables—Not available

  • For TS variables—Not available

  • For angular position variables—Not applicable

Time-varied gain range maximum

  • For Sv variables—Not available

  • For TS variables—Not available

  • For angular position variables—Not applicable

Alongship offset relative to sensor

The X - alongship offset value entered on the Location page of the Transducer Properties dialog box, for the transducer selected on the Calibration page for the Variable Properties dialog box.

Athwartship offset relative to sensor

The Y - athwartship offset value entered on the Location page of the Transducer Properties dialog box, for the transducer selected on the Calibration page for the Variable Properties dialog box.

Vertical offset relative to sensor

The Z - vertical offset value entered on the Location page of the Transducer Properties dialog box, for the transducer selected on the Calibration page for the Variable Properties dialog box.

Transducer alongship angle offset main axis

The Alongship angle value entered/calculated on the Orientation page of the Transducer Properties dialog box, for the transducer selected on the Calibration page for the Variable Properties dialog box.

Transducer athwartship angle offset main axis

The Athwartship angle value/calculated on the Orientation page of the Transducer Properties dialog box, for the transducer selected on the Calibration page for the Variable Properties dialog box.

Pulse shape mode

Not available

Bandwidth

Not available

Transducer shape

Not available

Calibration source level

Not available

Calibration receiving sensitivity

Not available

Calibration SL plus VR

Not available

Bottom detection minimum level

Not available

Transducer depth

The depth of the transducer below the water surface calculated as Z - vertical offset (entered on the Location page of the Transducer properties dialog box) minus Z - coordinate of the water level (entered on the Position page of the Platform properties dialog box).

Minor axis beam width

The Minor axis 3dB angle value displayed on the Calibration page for the Variable Properties dialog box.

Major axis beam width

The Major axis 3dB angle value displayed on the Calibration page for the Variable Properties dialog box.

Beam rotation

The Beam rotation value entered on the Orientation page of the Transducer Properties dialog box, for the transducer selected on the Calibration page for the Variable Properties dialog box.

See also

Raw Variables derived from HAC data files
Calibration settings for HAC data
Export to HAC data file
Planning Group on HAC Data Exchange Format