270 likes | 293 Views
U2 CN DCD Ekofisk PASIV SEGD. Stewart A. Levin. Blocksize. # Blocks. Input File. dd if=/scratch/Ekofisk_Passive/EKOFISK-4D__TAPE03 bs=1024 count=20 | xxd –a > tmp.txt. 0000000: 3901 8058 1234 5678 9000 1112 9708 2020 9..X.4Vx......
E N D
U2 CN DCD Ekofisk PASIV SEGD Stewart A. Levin
Blocksize # Blocks Input File dd if=/scratch/Ekofisk_Passive/EKOFISK-4D__TAPE03 bs=1024 count=20 | xxd –a > tmp.txt 0000000: 3901 8058 1234 5678 9000 1112 9708 2020 9..X.4Vx...... 0000010: 4700 0000 0000 2010 009f ff01 9600 01ff G..... ......... 0000020: 0000 0000 0000 0001 0000 0100 0000 0027 ...............' 0000030: 1000 0200 0000 0000 0000 0000 0000 0000 ................ 0000040: 0101 0000 1388 0000 0054 1000 0223 0293 .........T...#.. 0000050: 0000 0000 0000 0000 0000 0000 0300 0101 ................ 0000060: 0102 0000 1388 0000 0091 1000 0223 0293 .............#.. 0000070: 0000 0000 0000 0000 0000 0000 0300 0201 ................ 0000080: 0103 0000 1388 0000 0138 1000 0223 0293 .........8...#.. 0000090: 0000 0000 0000 0000 0000 0000 0300 0301 ................ 00000a0: 0104 0000 1388 0000 0182 1000 0223 0293 .............#.. ● ● ● File offset Base 16 Contents Base 16 Contents ASCII
SEG-D General Header Block 1 0000000: 3901 8058 1234 5678 9000 1112 9708 2020 9..X.4Vx...... 0000010: 4700 0000 0000 2010 009f ff01 9600 01ff G..... .........
SEG-D General Header Block 2 0000020: 0000 0000 0000 0001 0000 0100 0000 0027 ...............' 0000030: 1000 0200 0000 0000 0000 0000 0000 0000 ................
SEG-D Channel Set Header 0000040: 0101 0000 1388 0000 0054 1000 0223 0293 .........T...#.. 0000050: 0000 0000 0000 0000 0000 0000 0300 0101 ................
SEG-D Demultiplexed Trace Header 0002c60: 3901 0101 0001 0000 0003 0000 0000 0000 9............... 0002c70: 0000 0000 0000 0100 0001 0000 1388 0000 ................
SEG-D Trace Header Extension 1 0002c70: 0000 0000 0000 0100 0001 0000 1388 0000 ................ 0002c80: 0000 0000 0000 0000 071a 1100 0502 1503 ................ 0002c90: e900 0036 48f9 3f2c 4abf 371e 3fbe b852 ...6H.?,J.7.?..R
SEG-D Trace Header Extension 2 0002c90: e900 0036 48f9 3f2c 4abf 371e 3fbe b852 ...6H.?,J.7.?..R 0002ca0: 0000 0000 0000 0000 0000 0000 4233 70a4 ............B3p. 0002cb0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
SEG-D Trace Data 3f4d6438 3f4c8105 3f4caf0f 3f4d4f1a 3f4f2e21 3f4de19b 3f4d08e2 3f4dfb8c … decoding to: 0.80231047 / 0.7988437 / 0.7995462 / 0.80198824 / 0.8092976 / 0.8042237 / 0.8009168 / 0.80461955 / … 0000 0000 0000 0000 0000 0000 ................
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 + 256 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 + 32768,65536) - 32768 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 + 8388608, 16777216) - 8388608 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+2147483648,4294967296)-2147483648 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)*4294967296 IC = IC + GET_SIGNED_INTEGER(UNIT,READSTAT) GET_IEEE64 = RC RETURN END