RAW Product Format

The RAW product is a collection of all raw ingest data acquired during a run of a single task (volume scan).

The raw product is a single file into which many ingest files have been incorporated.

For hybrid tasks, individual raw products are made from each of the individual tasks that make up the overall scan. Optionally the RAW product can be made in separate files on a sweep-by-sweep basis.

Raw product files are blocked into 6144-byte records, which match the record length used if and when the files are eventually written to tape. Mimicking the tape structure on disk permits error recovery to be built directly into the raw data format. For all other types of products, if a tape I/O error occurs within the product's records on tape, then the entire product is lost. For raw archive this would be too great a penalty, since an entire volume scan is at stake. The blocking scheme permits partial error recovery while still maintaining a one-to-one mapping between disk and tape formats.

note The records are for IRIS interpretation only and do not refer to any operating system file records.

The first 6144 byte record of a RAW product holds the product_hdr (See product_hdr Structure) structure.

The RAW product begins with a product_hdr like all the other types of products. The only difference is the zero padding out to 6144 bytes.

The next record holds the ingest_header (see ingest_header Structure) structure for the volume scan that supplied the data. This structure is zero-padded to fill the entire second record.

All subsequent records hold the actual data, and each record begins with the raw_prod_bhdr structure. See 1-byte Velocity Format (DB_VEL).

Records hold data from one sweep. The sweep number is in each record's header. The data for the sweep is the concatenation of all the data from as many records as pertain to that sweep. When data for a sweep ends short of the 6144 byte record size, the remainder of that record is padded with zeros. Each of these sweep data sets begins with the ingest_data_header (See ingest_data_header Structure) structures for each data type that was recorded. The same number of headers are found in the beginning of a sweep's data as there are data types acquired during the sweep. The list of data types recorded is specified by the data collection mask in the task_dsp_info in the task_configuration in the ingest_header. The rays of data are immediately after the headers.

Rays are ordered within a sweep by the same ordering sequence used for the ingest data file pointer table. If a ray is missing from the ingest file, a zero-length ray is inserted into the product file as a placeholder. The number of compressed rays in the file is equal to the product of the number of data types recorded and the number of angles sampled. This is true even if data were not acquired at some of those angles. Within a ray, the recorded data are ordered by increasing data type number. See the task_dsp_info structure for a definition of the data type numbers. See task_dsp_info Structure.

Data Compression

The raw product headers and the ingest data headers are not compressed. The overall organization of the file is shown below. Raw product files are blocked into 6144-byte records, and all but the first 2 records begin with the raw_prod_bhdr 12-byte structure.

For information on the algorithm used to compress data rays, see Data Compression Algorithm.

Record #1 { <product_hdr> 0,0,0... }
Record #2 { <ingest_header> 0,0,0... }
Record #3 { <raw_prod_bhdr> <ingest_data_header(s)> Data... }
Record #4 { <raw_prod_bhdr> Data... }
. . .
. . .
Record #N { <raw_prod_bhdr> Data 0... }
Record #N+1 { <raw_prod_bhdr> <ingest_data_header(s)> Data... }
Record #N+2 { <raw_prod_bhdr> Data... }
. . .
. . .
Record #M { <raw_prod_bhdr> Data 0... }