Go to the list of seismic processes.      Go to SIOSEIS introduction.
    Program   dutil   is a 1980s program (before GUIs) to snoop around disk files.
After executing the program and entering a file name, all commands are entered as
a two letter command name followed by the number of bytes.  e.g. he means help

37>dutil
  Enter the disk file pathname.
2000_line7.jsf.sgy
  The file is opened on unit            8
  Enter an option: he, rd, dr, da, de, dz, di, dl, dm, dd, dv,
   dw, d1, po, pw, qu, s1, s3, s6, co, wr, op, cu, rk, ad, fz
he
  DUTIL help:  dutil is a disk file "utility" program that allows you to examine a file.  
The command format is a 2 letter code followed by the number of things to do.
  he = help
  rd = read n bytes
  dr = dump n REAL*4 words
  da = dump n ASCII characters
  de = dump n EBCDIC characters
  dz = dump n HEX bytes
  di = dump n INTEGER*2 words
  dl = dump n INTEGER*4 words
  dm = dump n IBM REAL*4 words
  dd = dump n DOUBLE PRECISION words
  dv = dump n VAX (DEC) words
  dw = dump n VAX (DEC) DOUBLE PRECISION words
  d1 = dump n 16 bit floating point words
  po = position to byte n in the file
  pw = position to 32 bit word n.
  qu = quit = return to the operating system
  s1 = swap n 16 bit integers
  s3 = swap n 32 bit integers
  s6 = swap n 64 bit integers
  co = complement n INTEGER*2 words
  wr = write n bytes to the current unit
  op = open another file on a new unit
  cu = change unit numbers to unit n
  rk = reads nbytes from the keyboard (tty)
  ad = returns the current disk byte address.
  fz = returns the file size.
  e.g.  rd 512    means read 512 bytes
  
  Enter an option: he, rd, dr, da, de, dz, di, dl, dm, dd, dv,
   dw, d1, po, pw, qu, s1, s3, s6, co, wr, op, cu, rk, ad, fz




The  rd n    command  reads n bytes into a buffer in memory.
Subsequent commands such as dump and byte swap operate on the memory buffer.



To examine a SEGY file you must know the SEGY file structure.
3200 bytes -  EBCDIC or ASCII
400 bytes  -  2 byte integers in big-endian (Intel machines are little-endian).
240 byte   - mixture of 2 byte and four byte integers in big-endian byte order.
n bytes    - data where n is in trace header short integer 58
240 byte   - mixture of 2 byte and four byte integers in big-endian byte order.
n bytes    - data where n is in trace header short integer 58
240 byte   - mixture of 2 byte and four byte integers in big-endian byte order.
n bytes    - data where n is in trace header short integer 58


e.g.
37>dutil
  Enter the disk file pathname.
2000_line7.jsf.sgy                                                                   # open the file
  The file is opened on unit            8
  Enter an option: he, rd, dr, da, de, dz, di, dl, dm, dd, dv,
   dw, d1, po, pw, qu, s1, s3, s6, co, wr, op, cu, rk, ad, fz
rd 3200                                                                             # read 3200 bytes
  Read         3200  bytes
  Enter an option: he, rd, dr, da, de, dz, di, dl, dm, dd, dv,
   dw, d1, po, pw, qu, s1, s3, s6, co, wr, op, cu, rk, ad, fz
da 80                                                                               # Dump the first 80
                                                                                    # bytes in ASCII (1 card).
 �@�@���@��`��@@@@@@@@@@@@@@����
 @@��@@@@@@@@@@@@@@@@@@��@�@�@@@@@@@                                                # it's not ASCII, 
                                                                                    # it must be EBCDIC
  Enter an option: he, rd, dr, da, de, dz, di, dl, dm, dd, dv,
   dw, d1, po, pw, qu, s1, s3, s6, co, wr, op, cu, rk, ad, fz
de 80                                                                               # Dump 80 bytes in EBCDIC
 C 1 CLIENT UCSD-SIO              COMPANY
   IGPP                  CREW NO 0       
  Enter an option: he, rd, dr, da, de, dz, di, dl, dm, dd, dv,
   dw, d1, po, pw, qu, s1, s3, s6, co, wr, op, cu, rk, ad, fz
rd 400                                                                              # read the binary header
  Read          400  bytes
  Enter an option: he, rd, dr, da, de, dz, di, dl, dm, dd, dv,
   dw, d1, po, pw, qu, s1, s3, s6, co, wr, op, cu, rk, ad, fz
s1 200                                                                              # swap bytes on 200 short integers
  Enter an option: he, rd, dr, da, de, dz, di, dl, dm, dd, dv,
   dw, d1, po, pw, qu, s1, s3, s6, co, wr, op, cu, rk, ad, fz
di 20                                                                               # dump the first 20 short integers
       0       0       0       1       0       1       1       0      46      46
    4340       0       5       0       1       0      20     150      20       0
  Enter an option: he, rd, dr, da, de, dz, di, dl, dm, dd, dv,
   dw, d1, po, pw, qu, s1, s3, s6, co, wr, op, cu, rk, ad, fz
rd 240                                                                              # read the trace header
  Read          240  bytes
  Enter an option: he, rd, dr, da, de, dz, di, dl, dm, dd, dv,
   dw, d1, po, pw, qu, s1, s3, s6, co, wr, op, cu, rk, ad, fz
s3 60                                                                               # byte swap 60 32 bit words (240 bytes)
  Enter an option: he, rd, dr, da, de, dz, di, dl, dm, dd, dv,
   dw, d1, po, pw, qu, s1, s3, s6, co, wr, op, cu, rk, ad, fz
dl 60                                                                               # dump 60 long integers
          1          1     192721          1          0
          0          0      65536          0          0
        514        514          0          0          0
      45205      45205  -65480464  -53712327   17335599
  -53712327   17335599     131072          0          0
          0          0  218103808       4340    3014656
      65536     133072  983040020      65536          0
          0          0          0          0  131989675
     524324    2162690     262144          0          0
          0          0          0          0          0
          0          0          0          0          0
          0          0          0          0          0
  Enter an option: he, rd, dr, da, de, dz, di, dl, dm, dd, dv,
   dw, d1, po, pw, qu, s1, s3, s6, co, wr, op, cu, rk, ad, fz
dr 60                                                                               # dump 60 reals
  0.140130E-44  0.140130E-44  0.270060E-39  0.140130E-44   0.00000    
   0.00000       0.00000      0.918355E-40   0.00000       0.00000    
  0.720267E-42  0.720267E-42   0.00000       0.00000       0.00000    
  0.633457E-40  0.633457E-40 -0.317452E+37 -0.849106E+37  0.250748E-37
 -0.849106E+37  0.250748E-37  0.183671E-39   0.00000       0.00000    
   0.00000       0.00000      0.394430E-30  0.608164E-41  0.422443E-38
  0.918355E-40  0.186474E-39  0.115967E-02  0.918355E-40   0.00000    
   0.00000       0.00000       0.00000       0.00000      0.334032E-33
  0.734734E-39  0.303057E-38  0.367342E-39   0.00000       0.00000    
   0.00000       0.00000       0.00000       0.00000       0.00000    
   0.00000       0.00000       0.00000       0.00000       0.00000    
   0.00000       0.00000       0.00000       0.00000       0.00000    
  Enter an option: he, rd, dr, da, de, dz, di, dl, dm, dd, dv,
   dw, d1, po, pw, qu, s1, s3, s6, co, wr, op, cu, rk, ad, fz
s3 60                                                                               # byte swap back to original byte order
  Enter an option: he, rd, dr, da, de, dz, di, dl, dm, dd, dv,
   dw, d1, po, pw, qu, s1, s3, s6, co, wr, op, cu, rk, ad, fz
s1 120                                                                              # byte swap 120 short words (240 bytes) 
  Enter an option: he, rd, dr, da, de, dz, di, dl, dm, dd, dv,
   dw, d1, po, pw, qu, s1, s3, s6, co, wr, op, cu, rk, ad, fz
di 120                                                                              # dump 120 short integers
       0       1       0       1       2   -3887       0       1       0       0
       0       0       0       0       1       0       0       0       0       0
       0     514       0     514       0       0       0       0       0       0
       0  -20331       0  -20331   -1000  -10000    -820   27193     264  -31441
    -820   27193     264  -31441       2       0       0       0       0       0
       0       0       0       0    3328       0       0    4340      46       0
       1       0       2    2000   15000      20       1       0       0       0
       0       0       0       0       0       0       0       0    2014     171
       8      36      33       2       4       0       0       0       0       0
       0       0       0       0       0       0       0       0       0       0
       0       0       0       0       0       0       0       0       0       0
       0       0       0       0       0       0       0       0       0       0
  Enter an option: he, rd, dr, da, de, dz, di, dl, dm, dd, dv,
   dw, d1, po, pw, qu, s1, s3, s6, co, wr, op, cu, rk, ad, fz
qu                                                                                  # quit dutil
38>


Note that the binary header signifies that the file format is SEGY Rev 1
Note that trace header bytes 69-70 (short word 35) is -1000, which means the water depth
    in bytes 61-64 (long integer 16) is to be divided by 1000.  45205/1000. = 45.205
Note that bytes 215-216 (short word 108) is the SEGY Rev 1 deep water delay scalar.

Go to the list of seismic processes.      Go to SIOSEIS introduction.