Wireline Sonic Waveform Data
ODP logging contractor: LDEO-BRG
Hole: 1007C
Leg: 166
Location: Great Bahama Bank (tropical NW Atlantic)
Latitude: 24° 30.254' N
Longitude: 79° 19.348' W
Logging date: April, 1996
Bottom felt: 659 mbrf (used for depth shift to sea floor)
Total penetration: 1235.4 mbsf
Total core recovered: 503.3 m (53.9 %)
TOOL USED: SDT (Digital Sonic Tool)
Recording mode: linear mode (8 receivers)
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 line is composed of the entire waveform set recorded at each depth, preceded by the depth (multiplied by 10 to be stored as an integer). 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 file are:
Number of columns: 4001
Number of rows: 6791
All values are stored as 'signed short integers' (= 16 bits signed).
Each file can be viewed directly as an image with Spyglass transform or NIH image on MAcs and PCs, or Fortner transform or Khoros on UNIX) - where it has to be opened as either 'raw' or 'binary matrix'. Any image or signal processing package should also allow to view it.
The following file has been loaded:
SDT from DIT/HLDT/CNTG/NGT/SDT (bottom hole assembly at ~ 770 mbrf)
1007C.bin: 770-1805 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 routin e 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 l anguages):
The first step is to extract the files dimensions and specification from the header, which is the first record in each fi le:
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 floatin g 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)
enddo
For any question about the data or about the LogDB database, please contact LogDB support: logdb@ldeo.columbia.edu.