SONIC WAVEFORMS FILES
TOOL USED: DSI (Dipole Sonic Imager)
Recording mode: Monopole P&S (Pass 1 and 3), Cross-Dipole (Pass 2), Upper Dipole (Pass 3), Lower Dipole (pass 1), and Stoneley mode (Pass 3).
Remarks about the recording: none.
MONOPOLE P&S MODE: measures compressional and hard-rock shear slowness. The monopole transmitter is excited by a high-frequency pulse, which reproduces conditions similar to previous sonic tools.
UPPER DIPOLE MODE: measures shear wave slowness using firings of the upper dipole transmitter.
LOWER DIPOLE MODE: measures shear wave slowness using firings of the lower dipole transmitter.
CROSS-DIPOLE MODE: uses alternate firings of upper and lower dipole transmitter, thus allowing acquisition of orthogonally polarized data for anisotropy studies.
STONELEY MODE: measures low-frequency Stoneley wave slowness. The monopole transmitter, driven by a low-frequency pulse, generates the Stoneley wave.
Acoustic data are recorded in DLIS format. Each of the eight waveforms consists of 512 samples, each recorded every 10 (monopole P&S and high- frequency dipole) and 40 microsec (cross dipole and low-frequency dipole modes), at depth intervals of 15.24 cm (6 inches). NOTE: In this hole, the waveforms recorded in cross-dipole mode consist of 480 samples, instead of 256 samples.
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 case of 8 waveforms with 512 samples per waveform, this corresponds to 1 + 4x512 = 4097 columns. In this hole, the specifications of the files are:
Number of columns: 4097 (monopole, stoneley, lower/upper dipole modes)
Number of rows: 756 (Pass 1 and 3)
Number of columns: 3842 (cross-dipole mode)
Number of rows: 788 (Pass 2)
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:
DSI from FMS/DSI/GPIT/NGT (Pass 1, Bottom Hole Assembly at ~ 5011 mbrf)
1224F-ldip_p1.bin: 5011 - 5126 mbrf
1224F-mono_p1.bin: 5011 - 5126 mbrf
DSI from FMS/DSI/GPIT/NGT (Pass 2, Bottom Hole Assembly at ~ 5011 mbrf)
1224F-cd_p2.bin: 5011 - 5131 mbrf
DSI from FMS/DSI/GPIT/NGT (Pass 3, Bottom Hole Assembly at ~ 5011 mbrf)
1224F-udip_p3.bin: 5011 - 5126 mbrf
1224F-mono_p3.bin: 5011 - 5126 mbrf
1224F-st_p3.bin: 5011 - 5126 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
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:
E-mail: Trevor Williams
E-mail: Cristina Broglia