PAMGuard binary file structure

This document describes the binary file storage structures used by PAMGuard.

The binary storage module is designed to handle any type of data, particularly data having a variable record length. All data stored in binary files have a common overarching structure, but each PAMGuard module contains bespoke functions for writing their particular types of data.

Although PAMGuard is written in Java, the binary data format does not use any Java specific formats (i.e. Java serialisation). This means that PAMGuard binary files may be read by any program capable of opening a file and reading data from it (e.g. C, C++, Matlab, R, etc.).