Wireline Sonic Waveform Data


ODP logging contractor: LDEO-BRG

Well name: 738-C

Leg: 119

Location: S Kerguelen Plateau (Antarctic Ocean)

Latitude: 62° 42.54' S

Longitude: 82° 47.25' E

Logging date: January, 1988

Bottom felt: 2263 mbrf (used for depth shift to sea floor)

Total penetration: 533.8 mbsf

Total core recovered: 146.3 m (27 %)


TOOL USED: LSS (Long Spacing Sonic)

Recording mode: depth-derived, borehole compensated mode

Remarks about the recording: Like in all of the past legs, the sonic waveforms are not on depth with the other logs: in Hole 737B they show an offset of about 16.5 and 15 m downward. This offset is very clearly visible at the base of the bottom hole assembly in the upper section and middle section, respectively In the lower section, however, the data was recorded open hole; without reference to the base of the bottom hole assembly it is difficult to assess the correct offset amount. Therefore, it is recommended to first process the sonic waveforms and then match the output to the other logs.


Acoustic data have been recorded in LIS format. Each of the four waveforms consists of 512 samples and is recorded at a sampling rate of 0.1524 m. The original data is first loaded on a Sun system using GeoFrame software. The waveform data files are then converted into ASCII and finally binary format.

Each row of the binary file is composed of the entire waveform set recorded at each depth, preceded by the depth. In the general case of 4 waveforms with 512 samples per waveform, this corresponds to 1 + 4x512 = 2049 columns. In this hole, the specifications of the files are:

Number of columns: 2049

Number of rows: 1118 (upper section)

Number of rows: 1121 (middle section)

Number of rows: 1382 (lower section)


All values are stored as ' IEEE floating point numbers' (= 4 bytes).

Any numerical software or programing language (matlab, python,...) can import the files for further analysis of the waveforms.

The following files were converted:

LSS from DIT/LSS/GR (upper section, bottom hole assembly at ~ 667.5 mbrf)

737B-u.bin: 664.46-834.69 mbrf

LSS from DIT/LSS/GR (middle section, bottom hole assembly at ~ 870 mbrf)

737B-mid.bin: 838.2-1008.89 mbrf

LSS from DIT/LSS/GR (lower section, recorded open hole)

737B-l.bin: 979.47-1189.94 mbrf


The sonic waveform files are not depth shifted to a reference run or to the seafloor. For depth shift to the sea floor, please refer to the DEPTH SHIFT section in the standard log documentation file.

Also, please refer to the "Remarks about the recording" note above.


NOTE: For users interested in converting the data to a format more suitable for their own purpose, a simple routine to read the binary files would include a couple of basic steps (here in old fashioned fortran 77, but would be similar in matlab or other languages):

The first step is to extract the files dimensions and specification from the header, which is the first record in each file:

  open (1, file = *.bin,access = 'direct', recl = 50) <-- NB:50 is enough to real all fields

  read (1, rec = 1)nz, ns, nrec, ntool, mode, dz, scale, dt

  close (1)

The various fields in the header are:
      - number of depths
      - number of samples per waveform and per receiver
      - number of receivers
      - tool number (0 = DSI; 1 = SonicVISION; 2 = SonicScope; 3 = Sonic Scanner; 4 = XBAT; 5 = MCS; 6 = SDT; 7 = LSS; 8 = SST; 9 = BHC; 10 = QL40; 11 = 2PSA)
      - mode (1 = Lower Dipole, 2 = Upper Dipole, 3 = Stoneley, 4 = Monopole)
      - vertical sampling interval *
      - scaling factor for depth (1.0 = meters; 0.3048 = feet) *
      - waveform sampling rate in microseconds *

All those values are stored as 4 bytes integers, except for the ones marked by an asterisk, stored as 4 bytes IEEE floating point numbers.

Then, if the number of depths, samples per waveform/receiver, and receivers are nz, ns, and nrec, respectively, a command to open the file would be:

  open (1, file = *.bin, access = 'direct', recl = 4*(1 + nrec*ns))

Finally, a generic loop to read the data and store them in an array of dimension nrec × ns × nz would be:

  do k = 1, nz

    read (1, rec = 1+k) depth(k), ((data(i,j,k), j = 1,ns), i = 1,nrec)



For further information about the logs please contact:


Cristina Broglia
Phone: 845-365-8343
Fax: 845-365-3182
E-mail: Cristina Broglia