#ifndef LARSE_H #define LARSE_H /* This is the header for the LARSE EXPERIMENT TRACEHEADER data. * * The LARSE TRACEHEADER format is a modified form of the SEG-Y * trace format. The modification comes is because we use some of * the unspecified header words to store information pertinent to * the LARSE data. The data values for each trace are preceded * by a 240 byte header. This format is given below. All integer * values are stored with the most significant byte first. Data * values are either 16 or 32 bit integers depending on byte 206 * of the header, the field named "data_form". * * Reading bytes directly into this header will allow access to * all of the fields. The number in the comment is the byte offset * into the segy file. An "X" in the comment indicates that field * is NEVER set. Fields that are set to default values contain that * value and follow a ":" in the comment ("grep : segy.h" will spit * all default fields out). Two pairs of fields exist to cover an * inherited limitation; sampleLength/num_samps and deltaSample/samp_rate. * When the value is too large to fit in a short, sampleLength or * deltaSample become flags and require their long counterparts, * num_samps and samp_rate, to contain that value. * * 8/9/95 modified to only include explosion header * information from the original larse.h (KH) */ typedef struct LarseHead { /* Offset Description */ long lineSeq; /* 0 Sequence numbers within line */ long reelSeq; /* 4 Sequence numbers within reel */ long crgINDEX; /* 8 Common receiver gather index number */ long crtINDEX; /* 12 Common receiver trace index number */ long shotPtName; /* 16 Shot point number for this line */ long cdpEns; /* 20 X */ long traceInEnsemble; /* 24 X */ short traceID; /* 28 Trace id: proper shot = 1, fishy = 0 */ short vertSum; /* 30 X */ short horSum; /* 32 X */ short dataUse; /* 34 X */ long sourceToRecDist; /* 36 X */ long recElevation; /* 40 X */ long sourceSurfaceElevation; /* 44 X */ long sourceDepth; /* 48 Depth of sea at airgun location */ long datumElevRec; /* 52 X */ long datumElevSource; /* 56 X */ long sourceWaterDepth; /* 60 X */ /* Modified for LARSE */ long recWaterDepth; /* 64 X */ /* Modified for LARSE */ short elevationScale; /* 68 Elevation Scaler: scale = 1 */ short coordScale; /* 70 Coordinate Scaler: set to -10 */ long sourceLongOrX; /* 72 Source long deci-sec of arc (/36000) */ long sourceLatOrY; /* 76 Source lat deci-sec of arc (/36000) */ long recLongOrX; /* 80 Receiver long deci-sec of arc (/36000) */ long recLatOrY; /* 84 Receiver lat deci-sec of arc (/36000) */ short coordUnits; /* 88 Coordinate Units: constant at 2=deg */ short weatheringVelocity;/* 90 X */ short lmoReducingVel; /* 92 LMO reducing velocity */ short polarity_flag; /* 94 0=geophones oriented std way, 1= not */ short orient_flag; /* 96 0=geophones oriented std way, 1= not */ short sourceStaticCor; /* 98 Source static (msec) */ short recStaticCor; /* 100 Receiver static (msec) */ short totalStatic; /* 102 Total Static applied * 10,000 */ short lagTimeA; /* 104 X */ short shotTime; /* 106 (Actual-nominal) shot time (msec) */ short delay; /* 108 Relative time of 1st sample (msec) */ short polarity; /* 110 X */ short orientation; /* 112 X */ short sampleLength; /* 114 # of samples (unless == 32767) */ short deltaSample; /* 116 Sampling interval in MICROSECONDS */ short gainType; /* 118 Gain Type: 1 = Fixed Gain */ short gainConst; /* 120 Gain of amplifier */ short initialGain; /* 122 X */ long utmSrcX; /* 124 Source X co-ordinates in UTM scale */ long utmSrcY; /* 128 Source Y co-ordinates in UTM scale */ long utmRecX; /* 132 Receiver X co-ordinates in UTM scale */ long utmRecY; /* 136 Receiver Y co-ordinates in UTM scale */ short colocationID; /* 140 If colocation station 1, else 0 */ short aliasSlope; /* 142 X */ short notchFreq; /* 144 X */ short notchSlope; /* 146 X */ short lowCutFreq; /* 148 X */ short deployNum; /* 150 Not used for marine data */ short sourceLine; /* 152 Source line number (not used) */ short instChanNum; /* 154 Instrument channel number */ short year; /* 156 year of Start of trace */ short day; /* 158 day of year at Start of trace */ short hour; /* 160 hour of day at Start of trace */ short minute; /* 162 minute of hour at Start of trace */ short second; /* 164 second of minute at Start of trace */ short timeBasisCode;/* 166 Time basis code: 2 = GMT */ short mstINDEX; /* 168 Merged station trace index number */ short pmtINDEX; /* 170 Premerged trace index (w/colocs) */ short fieldStakeNum; /* 172 Field stake number */ short csgInArray; /* 174 Common station gather index in an array */ short crgInArray; /* 176 Common receiver gather index in an array */ short component; /* 178 Component (Z=1, NS=2, EW=3) */ long traceStart; /* 180 Trace start time in microsec */ short sourceSize; /* 184 Charge size (kg) or airgun size (cu in) */ short trigYr; /* 186 Shot/trigger time - year */ short trigDay; /* 188 Shot/trigger time - Julian day */ short trigHr; /* 190 Shot/trigger time - hour */ short trigMin; /* 192 Shot/trigger time - minute */ short trigSec; /* 194 Shot/trigger time - second */ long trigMSec; /* 196 Shot/trigger time - microseconds */ long sampInterval; /* 200 Override for sample interval (IASPEI) */ short sensorAzimuth; /* 204 Azimuth of sensor orient axis */ short phoneInclination; /* 206 Geophone inclination */ long lmoStatic; /* 208 LMO static (x/v) in ms */ short lmoUsage; /* 212 Flag: LMO used (0=Y, 1=N) */ short instType; /* 214 Recording instrument type (coded) */ short corrToApply; /* 216 Correction to be applied: (set=0) */ short src_recAzimuth; /* 218 Azimuth of source-receiver (min of arc) */ short phoneType; /* 220 Geophone type (coded) */ short phoneNum; /* 222 Geophone number */ short inst_no; /* 224 Instrument Serial Number */ short not_to_be_used; /* 226 X */ long num_samps; /* 228 Number of Samples as a 32 bit integer */ long instBiasRmvd; /* 232 Reftek bias removed */ short timingCorr; /* 236 Timing correction from clockcorr */ short blank; /* 238 */ }; /* end of segy trace header */ #endif /* LARSE_H */