Wireline Sonic Waveform Data


DP logging contractor: LDEO-BRG

Hole: 911-A

Leg: 151

Location: Yermac Plateau (Arctic Ocean)

Latitude: 80° 28.464' N

Longitude: 8° 13.638' E

Logging date: August, 1993

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

Total penetration: 505.8 mbsf

Total core recovered: 464.51 m (91 %)


TOOL USED: SDT (Sonic Digital Tool, also known as Array Sonic)

Recording mode: linear array mode.

Remarks about the recording: none.


As most Schlumberger logs, acoustic data are recorded in DLIS format. Each of the eight waveforms consists of 500 samples and is recorded at a sampling rate of 0.1524 m. The original data in DLIS format is first loaded on a Sun system using GeoFrame software. The packed 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 8 waveforms with 500 samples per waveform, this corresponds to 1 + 8x500 = 4001 columns. In this hole, the specifications of the files are:

Number of columns: 4001

Number of rows: 841 (upper section)

Number of rows: 2022 (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.


SDT from DIT/SDT/HLDT/CNTG/NGT (upper, bottom hole assembly at ~ 1014 mbrf)

911A-u.bin: 1014-1142 mbrf


SDT from DIT/SDT/HLDT/CNTG/NGT (lower, bottom hole assembly at ~ 1064 mbrf)

911A-l.bin: 1064-1372 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.


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