# Design of the GILDAS Data Format

The Gildas Data Format and its associated API are based on concept of memory copy. In a program, access to a GDF file is done by reading into memory the file header and part or all of the file data. These informations are stored in a Fortran derived type named gildas. This derived type is described in Appendix .

It is essentially build on 5 items:

- The derived type strings, which contains character strings from the header;
- The derived type gildas_header, which contains essentially a direct copy of the file header (except for strings), but in the machine native representation;
- The derived type loca, which contains memory related information;
- A few ancillary information about the data, such as the blc and trc (Bottom Left corner and Top Right corner) which indicate which subset of the data is read, the data filename, etc...
- And fortran pointers as placeholders for the data. These are provided for real(4) arrays only, and only up to Rank 4. They may or may not be used by the programmer, who can elect to read the data in other Fortran arrays.

While numbers are always represented in the current hardware format in the RAM memory (e.g., big-endian or little-endian), they may be stored in a different way on the disk. The API (available is the so-called GIO library) handles the data format conversion (in the data and in the header) transparently. The data format, although described here, is not intended to be used directly, but only through the API.