U2 CN DCD Ekofisk PASIV SEGD Stewart A. Levin
dd if=/scratch/Ekofisk_Passive/EKOFISK-4D__TAPE03 bs=1024 count=20 | xxd –a > tmp.txt Input File Blocksize# Blocks File offset Base 16 Contents Base 16 Contents ASCII : X.4Vx : f f f f f G : ' : : T...# : : # : : # : a0: #.. ●
: X.4Vx : f ff ff G SEG-D General Header Block 1
Value DescriptionNotes 3901File number In the event the file number is greater than 9999, this field is set to ffff and the file number appears in General Header Block # Format code8058 is IEEE 32 bit floating point General constantsUnused by OptoPlan 11Last two digits of yearYear No. additional blocks in General HeaderEach is 32 bytes 297Julian day (1 ‑ 366) Day of year counting from Jan 1. Julian day 297 is October 24 in non-leap years. 8Hour of day (0 ‑ 23) 20Minute of hour (0 ‑ 59) 20Second of minute (0 ‑ 59)Actually could be 60 for rare leap seconds 47Manufacturer’s code47 is assigned by the SEG to OptoPlan 0Manufacturer’s serial no. 0Bytes per scanNot applicable for these data
SEG-D General Header Block 1 Value DescriptionNotes 32 (20 16 )Base scan interval Binary value in multiples of 1/16 th of a millisecond. Here the base scan interval is 2 msec. 1Polarity code Untested by OptoPlan (Should be 0 if untested. 1 is zero phase.) 0Scans/blockNot applicable for these data 9Record type9 = normal, 2 = test fffRecord lengthfff means value is in GH Block #2 1Scan type/record1 = all traces same length and sample rate 96No. channel sets per scan type A channel set is a grouping of traces having some common feature. Here the feature is originating from the same cable and component of the 4-C receivers. 0No. sample skew blocksNot applicable for these data 1Extended header length (32 byte blocks)Here there is just one extended header ffExternal header length (32 byte blocks)ff means value is in GH Block #2
: ' : SEG-D General Header Block 2
ValueDescriptionNotes 0Extended file number Used for file numbers greater than Extended channel sets/scan typeUsed if larger than 99 0Extended header blocksUsed if larger than External header blocksUsed if larger than 99 0Not usedUndefined in SEG-D standard 1.0SEG-D Revision Number Major version and minor update numbers 0Number of blocks of General Trailer ( )Extended record lengthmilliseconds 0Not usedUndefined in SEG-D standard 2General Header Block Number 0Not usedUndefined in SEG-D standard
: T...# : SEG-D Channel Set Header
ValueDescriptionNotes 1Scan type number 1Channel set numberFF for numbers greater than 99 0Channel set start time/2Multiples of 2 msec 5000 ( )Channel set end time/2Multiples of 2 msec 0Descale multiplier No conversion factor needed to convert trace data to millivolts in this case 54No. channels in this channel set 1Channel type code1 = Seis, 9 = Aux 0Not usedRequired to be 0 in SEG-D standard 0No. subscans exponent 2 0 = 1 means these traces have the base sample rate from GH 1 (2 msec) 0Channel gain control methodNot used (trace data needs no gain) 223Alias filter frequencyIn Hz 293Alias filter slopeIn dB/octave 0Low cut filter frequencyIn Hz 0Low cut filter slopeIn dB/octave. 0 means no low cut
SEG-D Channel Set Header ValueDescriptionNotes 0Notch frequency 1In Hz, 0 means no notch 0Notch frequency 2In Hz, 0 means no notch 0Notch frequency 3In Hz, 0 means no notch 0Extended channel set number 0Extended header flag Set to 1 if extended header has additional channel set information 3No. trace header extensions Undefined in SEG-D Revision 1, this was taken from Revision 2. 0Vertical stackShould be 1 indicating no stack. 1Cable/streamer no.Receiver point line for OptoPlan 1Array forming 1=no array forming, n=#groups summed
0002c60: c70: SEG-D Demultiplexed Trace Header
ValueDescriptionNotes 3901File numberFFFF for numbers greater than Scan type numberAlways 1 for these data 1Channel set number FF for numbers greater than 99 Ranges from 1 to 96 for these data 1Trace number Ranges from 1 to 3966 for these data 0Timing wordNot applicable for these data 3Trace header extensionsMust match channel set value 0Sample skewNot used 0Time break window0 for marine operations 0Extended channel set number Used when channel set above is set to FF 0Extended file number Used when file number above is set to FFF
0002c70: c80: a c90: e f9 3f2c 4abf 371e 3fbe b H.?,J.7.?..R SEG-D Trace Header Extension 1
Value DescriptionNotes 1Receiver line no.“Cable” 1Receiver point no.Position on “Cable” 0Receiver point indexNot used 5000 ( )Number of samples per trace 0Extended receiver line no.Not used (SEG-D Rev 2) 0Extended receiver point no.Not used (SEG-D Rev 2) 7Sensor type 1 = Hydrophone (pressure sensor) 6 = Accelerometer, Vertical 7 = Accelerometer, Horizontal, inline (SEG-D Rev 2) 8 = Accelerometer, Horizontal, cross-line
SEG-D Trace Header Extension 1 ValueDescriptionNotes 26 (1a 16 )Subrack addressInternal channel address 17 (11 16 )Board addressInternal channel address 0Board channelInternal channel address 5Booster amplifier 2Splitter output 21 (15 16 )ITU channel 1001(3e9 16 )Optical Cable Coded according to quadrant (ref. Map): SW – NW – NE – SE – (36 16 )Position on Optical CableRef. Map
0002c90: e f9 3f2c 4abf 371e 3fbe b H.?,J.7.?..R 0002ca0: a B3p. 0002cb0: SEG-D Trace Header Extension 2
ValueDescriptionNotes Receiver point easting Receiver point northing 1.49Receiver point depth 0.0Receiver rotation XYDegrees 0.0Receiver rotation ZYDegrees 0.0Receiver rotation ZXDegrees 44.86Sensitivity of sensors Hydrophone: dB [rad/Pa] Accelerometers: dB [rad/g] 0.0Not used
3f4d6438 3f4c8105 3f4caf0f 3f4d4f1a 3f4f2e21 3f4de19b 3f4d08e2 3f4dfb8c … decoding to: / / / / / / / / … SEG-D Trace Data
INTEGER FUNCTION GET_UNSIGNED_CHAR(UNIT, READSTAT) IMPLICIT NONE INTEGER UNIT, READSTAT CHARACTER*1 C READ (UNIT,’A1’,ERR=99,END=99,IOSTAT=READSTAT)C GET_UNSIGNED_CHAR = ICHAR(C) IF(GET_UNSIGNED_CHAR.LT. 0) GET_UNSIGNED_CHAR = & GET_UNSIGNED_CHAR RETURN 99 CONTINUE GET_UNSIGNED_CHAR = -1 RETURN END
INTEGER FUNCTION GET_UNSIGNED_SHORT(UNIT,READSTAT) IMPLICIT NONE INTEGER UNIT, READSTAT INTEGER IC(2) INTEGER GET_UNSIGNED_CHAR EXTERNAL GET_UNSIGNED_CHAR GET_UNSIGNED_SHORT = -1 IC(1) = GET_UNSIGNED_CHAR(UNIT,READSTAT) IF (IC(1).LT. 0) RETURN IC(2) = GET_UNSIGNED_CHAR(UNIT,READSTAT) IF (IC(2).LT. 0) RETURN GET_UNSIGNED_SHORT = IC(1)*256+IC(2) RETURN END
INTEGER FUNCTION GET_SIGNED_SHORT(UNIT,READSTAT) IMPLICIT NONE INTEGER UNIT, READSTAT INTEGER IC INTEGER GET_UNSIGNED_SHORT EXTERNAL GET_UNSIGNED_SHORT IC = GET_UNSIGNED_SHORT(UNIT,READSTAT) C ASSUMES NEAR-UNIVERSAL TWOS-COMPLEMENT REPRESENTATION GET_SIGNED_SHORT = MOD(IC ,65536) RETURN END
INTEGER FUNCTION GET_UNSIGNED_INTEGER3(UNIT,READSTAT) IMPLICIT NONE INTEGER UNIT, READSTAT INTEGER IC(2) INTEGER GET_UNSIGNED_CHAR, GET_UNSIGNED_SHORT EXTERNAL GET_UNSIGNED_CHAR, GET_UNSIGNED_SHORT GET_UNSIGNED_INTEGER3 = -1 IC(1) = GET_UNSIGNED_CHAR(UNIT,READSTAT) IF (IC(1).LT. 0) RETURN IC(2) = GET_UNSIGNED_SHORT(UNIT,READSTAT) IF (IC(2).LT. 0) RETURN GET_UNSIGNED_INTEGER3 = IC(1)*65536+IC(2) RETURN END
INTEGER FUNCTION GET_SIGNED_INTEGER3(UNIT,READSTAT) IMPLICIT NONE INTEGER UNIT, READSTAT INTEGER IC INTEGER GET_UNSIGNED_INTEGER3 EXTERNAL GET_UNSIGNED_INTEGER3 IC = GET_UNSIGNED_INTEGER3(UNIT,READSTAT) GET_SIGNED_SHORT = MOD(IC , ) RETURN END
INTEGER*8 FUNCTION GET_UNSIGNED_INTEGER(UNIT,READSTAT) IMPLICIT NONE INTEGER UNIT, READSTAT INTEGER IC(2) INTEGER GET_UNSIGNED_SHORT EXTERNAL GET_UNSIGNED_SHORT GET_UNSIGNED_INTEGER = -1 IC(1) = GET_UNSIGNED_SHORT(UNIT,READSTAT) IF (IC(1).LT. 0) RETURN IC(2) = GET_UNSIGNED_SHORT(UNIT,READSTAT) IF (IC(2).LT. 0) RETURN GET_UNSIGNED_INTEGER = IC(1)*65536+IC(2) RETURN END
INTEGER*8 FUNCTION GET_SIGNED_INTEGER(UNIT,READSTAT) IMPLICIT NONE INTEGER UNIT, READSTAT INTEGER*8 IC INTEGER*8 GET_UNSIGNED_INTEGER EXTERNAL GET_UNSIGNED_INTEGER IC = GET_UNSIGNED_INTEGER(UNIT,READSTAT) GET_SIGNED_SHORT = MOD(IC , ) RETURN END
REAL FUNCTION GET_IEEE32(UNIT,READSTAT) IMPLICIT NONE INTEGER UNIT, READSTAT INTEGER IC REAL RC EQUIVALENCE (IC,RC) INTEGER*8 GET_SIGNED_INTEGER EXTERNAL GET_SIGNED_INTEGER IC = INT(GET_SIGNED_INTEGER(UNIT,READSTAT)) GET_IEEE32 = RC RETURN END
DOUBLE PRECISION FUNCTION GET_IEEE64(UNIT,READSTAT) IMPLICIT NONE INTEGER UNIT, READSTAT INTEGER*8 IC DOUBLE PRECISION RC EQUIVALENCE (IC,RC) INTEGER*8 GET_SIGNED_INTEGER EXTERNAL GET_SIGNED_INTEGER IC = GET_SIGNED_INTEGER(UNIT,READSTAT)* IC = IC + GET_SIGNED_INTEGER(UNIT,READSTAT) GET_IEEE64 = RC RETURN END