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:
-
ICES Fisheries Technology Committee 1999. Report of the Working Group on Fisheries Acoustics Science and Technology St John's, Canada, April 1999.
-
Y. Simard et al 2000. Common data format: 2000 progress report, ICES Fisheries Acoustics Sciences and Technology WG. Haarlem, Netherlands, April 2000.
-
ICES Fisheries Technology Committee 2001. Report of the Planning Group on the HAC Data Exchange Format, Seattle, USA, April 2001.
-
ICES Fisheries Technology Committee 2002. Report of the Planning Group on the HAC Data Exchange Format, Sete, France, June 2002.
-
ICES Fisheries Technology Committee 2003. Report of the Planning Group on the HAC Data Exchange Format, Bergen, Norway, June 2003.
-
ICES Fisheries Technology Committee 2004. Report of the Planning Group on the HAC Data Exchange Format, Gdynia, Poland, April 2004.
-
ICES Fisheries Technology Committee 2005. Report of the Planning Group on the HAC Data Exchange Format, By Correspondence.
-
I.H. McQuinn et al 2005. Description of the HAC standard format for raw and edited acoustic data, version 1.6, ICES Cooperative Research Report, Rapport des Recherches Collectives, No. 278
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 |
|
|
Time-varied gain blanking mode |
|
|
Time-varied gain range minimum |
|
|
Time-varied gain range maximum |
|
|
Alongship offset relative to sensor |
The X - alongship offset value entered on the Geometry 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 Geometry 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 Geometry 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 Geometry 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 Geometry 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 Geometry 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 Geometry 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