Tuesday, December 1, 2020

Table of Contents

Seismic Fundamental
AAA
Aliasing
Amplitude
Angle mute
Angle stack
Anisotropic NMO
Anisotropic parameters
Anisotropy
Anisotropy classification
Artificial Neural Network
Attenuation
Auto correlation
Bowtie
Brute Stack
CDP
Converted Waves
Crooked Line
Curvelet Travsform
Dip Moveout
Dephasing
Detectability and Fidelity
Diffraction
Dogleg
Fermat principle
First Break
Frequency
Fresnel Zone
Gain
Groundroll
Higher order NMO
Hockey Stick
Huygens principle
Interval velocity
Prism wave
P wave velocity
Love wave
Migration
Migration aperture
Mistie
Multiple
NMO
Near offset far offset
Noise and data
Non zero apex
P wave
Polarity
PSDM
PSTM
Preserve Amplitude
Prewhitening
Q Migration
RMS Velocity
Ray Tracing
Reflectivity
Seismic Resolution
SELMA
SRME
Seismic record
Seismic reference datum
Seismic refraction
Seismic Refraction and ray tracing
Seismic tomography
Seismic trace
Seismic multicomponent
Semblance
Shear wave
Shear wave splitting
Slant Stack
Source signature
Spectral balancing
Spectral broadening
Spectral decomposition
Spectral ratio method
Spike
Stacking
Static correction
Super gather
Sweep vibroseis
TWT
Tau-p
Time to depth conversion
True amplitude recovery
Tuning thickness
Tuning Cube
Velocity Analysis
Velocity Dispersion
Vertical seismic resolution
Vp/Vs
Water column static
Wavelet
Wavelet polarity onshore
Zero crossing


Seismic Advanced
Anisotropic PSDM
Controlled Beam Migration
Full wave inversion
Reverse time migration


Signal Processing
Bandwidth
Convolution
Cross Correlation
dB/Octave
DC Component
Deconvolution
Dynamic range and BIT
Fourier Transform
Filtering
Gabor Transform
Hilbert Transform
IBM and IEEE
Main lobe side lobe
Minimum phase zero phase
Multi Taper Method
Nyquist frequency


Seismic Acquisition, Well Logging, Drilling and Non Seismic
2D Marine Acquisition
3D Land survey
3D Seismic acquisition QC
4D Seismic
Checkshot survey
Gamma ray log
Horizontal Seismic Profiling
Pore Pressure Prediction
Remote Resistivity Mapping
Resistivity Log
Rich Azimuth Seismic 
Seismoelectric 
Kelly Bushing
Marine Analog Survey
Marine Geohazard survey
Neutron porosity
VSP
Wide Azimuth Seismic


Seismic Interpretation and Petroleum Geology
Bottom Simulating Reflector
Coal Bed Methane Seismic
Curvature
Envelope
Instantaneous Frequency 1
Instantaneous Frequency 2
Instantaneous phase 1
Instantaneous phase 2
Optical Stacking
Perigram
Perigram x Cosines phase
Petroleum System
Reflection Strength
Seismic Attribute
Seismic Facies 
Texture Attribute 
Unconformity
Velocity sag
Volume Assessment
Well seismic tie


Seismic Processing with Seismic UNIX (Basic)
1. Seismic Unix Installation
2. Data Download, Segy2SU, QC
3. Kill traces and gain
4. Groundroll Removal
5. Bandpass Filter and Decon
6. Geometry and CMP Sorting
7. NMO and Brute Stack
8. Velocity Analysis and Stack
9. Statics
10. Migration (STOLT)


Seismic Processing with Seismic UNIX (Advanced)
Attribute Seismic
Continuous Wavelet Transform
FX Decon
Interactive velocity analysis 
Mute Design
PreStack Time Migration
PreStack Depth Migration
PostStack Depth Migration
Radon Demultiple
Ray Tracing
Super gather 
Synthetic Gathers Generator
Velocity Medeling
VSP Processing
Waveform modeling


Reservoir Characterization
AVA
AVFVO
AVO Attributes
AVO Azimuth
AVO Classification
Acoustic Impedance
Anisotropic AVO
Aki and Richards Approximation
Coherence
Continuous Wavelet Transform
Elastic Impedance
Extended Elastic Impedance
Gassmann Fluid Substitution
Faust Equation
Intercept and Gradient AVO
Inversion Maximum Likelihood
Inversion Sparse Spike
Lambda Mu Rho
Mobil Approximation
Poisson Impedance
Recursive Inversion 
Reflection Impedance
Rock density
Rock Physic Analysis
Seismic Inversion
Seismic Multiattribute
Shuey Approximation
Smith and Gidlow 
Thinbed reflectivity inversion
Tuning Cube
Zoeppritz Elastic Impedance
Zoeppritz Equation


Computational Geophysics
Bresenham Algorithm
C for geophysicists
C code for SEGY
Madagascar
Marquardt Inversion
Matlab for horizon snap
SVD 1
SVD 2
SVDLib C
Seislab
SEGY2ASCII Matlab


Perl
Introduction to Perl
Hello World
Bit Reverse
Call GNUPLOT from Perl
Compare files 
Left of right justify
Matrix Multiplication (subroutine) 
Matrix Transpose
Print n-times according to integer in a specific column
Read text file and print on console
Read and write matrix file
Select Columns
Select rows 
Sort by key field
Sort by key fields


Perl for Geoscientists
Ascii to SEGY
Automatic First Break Picks
Compare two files and print closest values
Compare two files and search match columns
Copy header from another omega velocity file
Convert CGG to Omega velocity format
Edit omega velocity file
Merge two omega velocity files
SEGY Header Dumper trace by trace
SEGY Header Dumper min-max 
SEGY Header Dumper user input 
SEGY to Ascii 
Smoothing with convolution
SPS File Generator
Text to SEGY header
XPS File Generator

Miscellaneous
Animated GIF
AWK 1
AWK 2
AWK 3
BP Velocity Benchmark
Data Marine download
GNU Plot 
Promax 1
Promax 2
Promax 3
Promax 4
SEGY
Unix for geoscientists
VI

Friday, January 30, 2015

Bit Reverse Perl



#!/usr/bin/perl
$n=8;
$m=log($n)/log(2);
for ($i=0; $i< $n; $i++)
{
    $b= dec2bin( $i );
    $b1=substr($b, 32-$m,32 );
    $b2= reverse(substr($b, 32-$m,32 ));
    $br=bin2dec($b2);
    print $i, "\t";
    print $b1, "\t";
    print $b2, "\t";   
    print $br, "\n";
}

sub dec2bin { my $str = unpack("B32", pack("N", shift));return $str;}
sub bin2dec { return unpack("N", pack("B32", substr("0" x 32 . shift, -32)));}

Sunday, January 25, 2015

XPS File Generator Perl

#!/usr/bin/perl
$SLNMIN=3142;
$SLNMAX=3518;
$SPNMIN=7187;
$SPNMAX=7778;
$noofSLN=377;
#$noofSPN=592;
$noofSPN=148; ##592/number of source per patch
$norec=200;  ### no of receiver per cable
$nocable=6;  ### no of cable per patch
$noshot=4;   ### no of source per patch

for $n (0..$noofSLN-1)
{
for $m (0..$noofSPN-1)
{
$SLN=$SLNMIN+$n;
$SPN=$SPNMIN+$m*$noshot;
$RD1=$SLN-99;
for $j (0..$noshot-1)
{
$SPNn=$SPN-12;
for $i (0..$nocable-1)
{
print  $SLN;
$SPNnew=$SPN+$j;
print  $SPNnew, "\t";
print  "1";
printf  "%4d",$i*$norec+1;
printf  "%4d",$i*$norec+$norec;
print  "1", "\t";
$SPNn=$SPNn+4;
print  $SPNn;
print  $RD1;
print  $SPNn;
print  $RD1+$norec-1, "\n";
}
}
}
}