More on Header Array Files


These days "computer" is synonymous with an X86 PC running Windows. Long ago, when GEMPACK was invented, there were several different types of computer running quite different operating systems.

pic00005

Pioneer GEMPACKers: Foreground: the young Dr

Pearson sits at the console of the WALRAC computer.

It was necessary then (and is still possible today) for GEMPACK to work in a number of different computing environments. The different machines and operating systems offered two basic styles of file format:

1: Sequential files, containing one long stream of data. The data from these files has to be read in the same order as it was written.

2: Random Access files: These hold a number of data items which are normally all of the same size. The records can be accessed in any order.

What is needed for GEMPACK is a method of storing data items of widely varying size in such a way that the items can be accessed in any order. Some operating systems allowed for this but the implementation details varied widely.

So it was that the creators of GEMPACK devised their own file storage system, coded in FORTRAN and usable on any system for which a standard FORTRAN compiler was available.

Their Header Array file consists of a number of records divided into two types:

1: Header records which contain the four letter key which uniquely identifies the data which is to follow.

2: Data records which always start with four blank characters, followed by data.

The files are accessed sequentially. To find a particular item within the file, GEMPACK routines skim through all the records, checking only the first 4 characters within each record, until the desired Header is found.

The original Header Array files only allowed for 2-dimensional matrices of reals and integers (2R and 2I data types). Later, strings (1C) and 7-dimensional (RL) matrices were allowed for. More recently row and column labels (a.k.a. set element labels) are stored with real arrays (RE data type).



URL of this topic: www.copsmodels.com/webhelp/viewhar/hc_moreharfile.htm

Link to full GEMPACK Manual

Link to GEMPACK homepage