2 D HIGH RESOLUTION MARINE SEISMIC DATA PROCESSING BY USING SEISMIC UNIX: PART- 3: GEOMETRY SETTING


DESCRIPTION:
Geometry setting is an updating trace identity, consists of shot coordinate, group (receiver) coordinate,  source-receiver offset, and also setting common depth point (CDP). The objective of geometry setting is to obtain valid trace header values from acqusition geometry, especially the information belonging to the same subsurface depth (CDP) for improving S/N ratio.

Geometry setting requires acquisition parameters and navigation data.  Either recorded navigation in an external file such as UKOOA P1/90 format (*.p190) or registered in the trace header is used to set geometry. Trace headers must already have the correct geometry values inserted. It is very important to define the source and receiver coordinate location. Acquisition parameters are also needed to calculate appropriate values for common depth point (CDP).

In this stage, we specify source coordinates from UKOOA P1/90 navigation file. Then group (receiver) coordinates will be computed as the function of source coordinates, offsets, streamer azimuth, and/or feathering angle (if occurred). CDP bin number will also be defined as function of number of shot, number of receiver, shot interval, and receiver interval.

Finally we can get corrected trace header values for geometry assignment. As the data QC, we need to view the range of new trace header values, create print out of initial stack, plot source (shot point)-receiver-cmp coordinate locations, stacking chart and fold coverage.

Author : Henry Mulana Nainggolan
Date    : May 18th, 2014


BASIC THEORY:
The most common geometry pattern and usually desired for 2D marine seismic acqusition is off-end spread. Sets of receiver groups (the spread) with 48, 96 or more hydrophones are “regularly” laid out behind source (shot point). All hydrophones are mounted in what is called streamer. More details, should be read on Gadallah and Fisher (2009), “Exploration Geophysics”.
Figure-1.Description of 2-D marine seismic acqusition using off-end spread pattern.

A 2-D marine geometry assignment was assigned by using navigation derived P1/90 files, including “regular” offset and CDP binning calculations. Normally for offshore 2-D survey, P1/90 navigation file stores navigation database, containing Centre of Source (S) or Receiver Group (G), or other defined location in H0800. More details, can be done on http://www.gdal.org/ogr/drv_segukooa.html.

Figure-2.Example of P1/90 header record & navigation record of 2-D offshore survey (credit: U.K.O.O.A. Exploration Committee)

Record identification is stored in column 1, that is ‘S’, and position is set in H0800, that is Centre of Air Gun Array. Point number is stored in column 20-25. Map grid easting is located in column 47-55, while map grid northing is in column 56-64. The coordinate projection system is detailed in H1800-H2509. The other mandatory data is water depth, which is located in column 65-70, with vertical datum is set in H1700.

Once we finish extracting the approriate geometry databases from P1/90 file, containing point number (FFID), source location (sx,sy), and water depth. We need to compute regular offset for all group channels as function of near offset (distance between source and first group channel), group channel interval (distance between group channel), and group channel number.
Figure-3.Description of source-receiver offset













The coordinate of the group channel (gx,gy) can be obtained from above formula, but it is not that simple. To remedy this, we try to vectorize the offsets (dxn and dyn). 

Ideally in marine 2-D, the streamer is straight, counter the vessel direction, and follows the vessel path along survey line. Therefore, the streamer azimuth will be equal to 1800 + vessel azimuth. However, sea currents may impose the streamer will be deviated from the survey line. It is possibly occurred, but can be tolerated if the feathering angle is not more than 100.
 
Then, we need to calculate exactly the streamer azimuth with feathering angle as a correction factor, this value will change to be equal 1800 + vessel azimuth ± feathering angle. If streamer is deviated clockwise of survey line thus feathering angle (αf) will be positive (+αf), and vice versa, negative (-αf) counter clockwise of survey line.

 

 Figure-4.Streamer direction and channel position.
Below is an example of group locations (gx,gy) computation for 2089 shots with 96 channels (200544 traces).Becareful that ns is set from 1 to total number of shots. This is may different with FFID. Each number is replicated for every channel number.
Table-1.Source locations (sx,sy), offsets, and group channel locations (gx,gy)

After obtaining source locations (sx,sy), offset, and group channel locations (gx,gy), the final steps of geometry setting is to set cdp bin number and fold coverage. 
Figure-5.(a) CDP bins chart, (b) geometry configuration, (c) fold graph, (d) CMP & CDP diagram.



















The following table is an example of cdp bin number computation for 2089 shots with 96 channels (200544 traces). 
Table-2.CDP bin number

Simply, fold coverage describes how many different shots and receivers (channel) have the same cdp bin number. This is a method to require the continuous subsurface coverage. Normally, a total number of active channels per spread provides half (1/2) spread of subsurface coverage. Therefore:










This means that each full fold CDP has a total 48 traces (folds) from 48 different shots with 48 different receivers. Full fold CDPs have approximately 6.93 of S/N, while low fold CDPs have S/N less than 6.93.

INPUT & OUTPUT DATA:
INDATA    :
* data in SU format  (e.g., data_edit.su )
* UKOOA P1/90 navigation file
 

OUTDATA    :
* data in SU format (e.g., data_edit_geomset.su)
* geometry header in binary format (e.g., geomheader.bin)
* geometry header in ASCII format (e.g., geomheader.txt)

* fold coverage (e.g., foldcoverage.txt)

COMMANDS & PARAMETERS:
The geometry steps are:
* Put data (e.g., data_edit.su) & P1/90 navigation file into a project directory.
* Open the source code 03.geomset.sh by using text editor in Red Hat Linux or Ubuntu.
* Set DATADIR for project directory (line-7), in where the seismic datasets are located.
* Define INDATA, OUTDATA, and HDR (line-10 & 12).
* Run a command in terminal: sh 03.geomset.
* The terminal will have two choices: 1. Continue to process the geometry setting and 2. Don't process the geometry setting. Type 1 to process geometry setting.
* The process will checks the data and displays the number of shots, number of receivers per shot, and number of traces in terminal.
* Then, insert shot interval in m.
* Insert receiver (group) interval in m.
* Insert near offset in m.
* Insert vessel azimuth in degree.
* Insert feathering angle in degree (not more than 10 or less than -10, positive (+) sign if streamer deviated clockwise of survey line,and vice versa).
* The process will load source coordinate locations from P1/90 navigation file.
* Then, regular offset, group (channel) coordinate locations, cmp coordinate locations will be computed.
* Finally, the cdp bin numbers and fold coverages will be calculated.

The mandatory shell scripts and SU commands with required parameters in source code 03.geomset.sh are as follow. 

* Load ffid, sx and sy database from P1/90 navigation file.

mv *.190 p190.190
gawk '{
FIELDWIDTHS="1 12 3 1 1 1 6 10 11 9 9 6 3 6 1"
while(getline<"p190.190"){
if($1=="S" || $1=="A" || $1=="Z"){
ep=$7
ffid[ep]=$7
sx[ep]=$10
sy[ep]=$11
wd[ep]=$12
print ffid[ep],sx[ep],sy[ep]}}}' p190.190 > nav.txt
  The uses of above shell script are as follow:- Loading and renaming a P1/90 file.
- Setting fieldwidths for 15 items. 
- Identifying the record ID (column-1) in file p190.190 whether the “S” or “A” or “Z” is available. (S=Centre of Source, A=Antenna Position, Z= Other, defined in H0800).
- If one of them is available, thus FFID, sx, sy, and water depth will be defined as 7th item, 10th item, 11st item, and 12nd item which are associated with fieldwidths 6, 9, 9, and 6.
- These databases will finally be exported into an ASCII file (e.g., nav.txt).  


* Replicate FFID, sx and sy for total number of traces, then sort the data normally based on FFID (ascending order). Combine them with vessel azimuth.
trace=`seq 1 1 $ntr`
>avessel.txt
for i in $trace
do
echo $vessel >>avessel.txt
done

>source.txt
while [ $rmin -le $rmax ]
do
awk '{printf"%.d\t %.1f\t %.1f\n",$1,$2,$3}' < nav.txt >>source.txt
rmin=`expr $rmin + 1`
done
sort -k 1n < source.txt > shotlocs.txt
paste shotlocs.txt avessel.txt > shot.txt
 
* The following command is used to compute streamer azimuth for number of traces per shot.
streamer=`bc -l <<END
    180 + $vessel + $feather
END`
rmin=1
>astreamer.txt
while [ $rmin -le $rmax ]
do
echo $streamer >>astreamer.txt
rmin=`expr $rmin + 1`
done

* Calculate regular offsets for number of traces per shot, combine these regular offsets with streamer azimuths, and compute the perpendicular offsets or vector components dx and dy. Combine them again, and replicate for total number of traces (the sequence seems like Table-1).


# Compute regular offsets
minoff=$near
maxoff=`bc -l
<<END     
    $near + $dr * ( $rmax - 1 )
END`
seq $minoff $dr $maxoff > offreg.txt

# Compute perpendicular offsets
paste offreg.txt astreamer.txt > offreg_astreamer.txt
awk '{printf"%.4f\n",$1*cos($2/57.2958)}'< offreg_astreamer.txt > dxn.txt
awk '{printf"%.4f\n",$1*sin($2/57.2958)}'< offreg_astreamer.txt > dyn.txt

seq 1 1 $rmax > chan.txt
paste chan.txt astreamer.txt offreg.txt dxn.txt dyn.txt > offset.txt
>group.txt
while [ $smin -le $smax ]
do
awk '{printf"%d\t %.1f\t %.1f\t %.4f\t %.4f\n",$1,$2,$3,$4,$5}' < offset.txt >>group.txt
smin=`expr $smin + 1`
done
 
* Combine shot.txt (ffid, sx, sy, vessel azimuth) with group.txt (channel number, streamer azimuth, offset, dx, dy) and calculate the group channel locations (gx=sx-dx; dy=sy-dy). Then, set cmp coordinate locations cmpx and cmpy as (sx+gx)/2 and (sy+gy)/2, respectively.
# Setup group locations
echo "Setup group locations..."
paste shot.txt group.txt > geom.txt
awk '{printf"%.1f\t %.1f\n",($2-$8),($3-$9)}'< geom.txt > reclocs.txt

paste geom.txt reclocs.txt > geomheader.txt
mv geomheader.txt geom.txt

# Setup cmp locations
echo "Setup cmp locations..."
awk '{printf"%.1f\t %.1f\n",($2+$10)/2,($3+$11)/2}'< geom.txt > cmplocs.txt
* The following script is used to set cdp bin number based on theory.
a=`bc -l <<END     
    ( $ds / $dr ) * 2
END`
b=`bc -l
<<END   
    $a - 1
END`

>cdp.txt
for i in `seq 1 $smax`
do
fcdp=`echo "$a * $i - $b" | bc -l`
   for j in `seq $rmax -1 1`
   do
   echo "$fcdp + $j - 1" | bc -l | awk '{printf"%.1d\n",$1}' >>cdp.txt
   done
done
* Extract sx, sy, gx, gy, offset, and cdp from combined file geomheader.txt into header.txt, make duplicate in binary format, then set up trace headers with those databases by using SU command “sushw”. It is also necessary to set up scalar coordinate, scalar elevation, and coordinate unit with value 1 into trace headers.
awk '{printf"%.1f\t %.1f\t %.1f\t %.1f\t %.1f\t %d\n",$2,$3,$10,$11,$7,$12}' < geomheader.txt > header.txt
a2b < header.txt n1=6 > $HDR
sushw < $INDATA infile=$HDR key=sx,sy,gx,gy,offset,cdp | sushw key=scalco,scalel,counit a=1,1,1 > $OUTDATA

Below are additional shell scripts and SU commands with required parameters in source code 03.geomset.sh. 
* Extract shot locations (sx,sy), group locations (gx,gy), and cmp locations (cmpx,cmpy) into binary files, combine them, then plot and export into post-script image format.
awk '{printf"%2.1f\t %2.1f\n",$2,$3}' < geom.txt | a2b > shotlocs.bin
awk '{printf"%2.1f\t %2.1f\n",$10,$11}' < geom.txt | a2b > reclocs.bin
awk '{printf"%2.1f\t %2.1f\n",$1,$2}' < cmplocs.txt | a2b > cmplocs.bin
cat shotlocs.bin reclocs.bin cmplocs.bin |
psgraph n=$ntr,$ntr,$ntr linecolor=red,blue,green linewidth=0,0,0\
labelsize=12 titlesize=12 grid1=solid grid2=solid gridcolor=gray \
marksize=10,5,1 mark=open square,open circle,open circle \
gridwidth=0 wbox=14 hbox=6 \
label1=mEasting label2=mNorthing title=Shot-Receiver-CMP Location > 03.Geometry-Shot_Receiver_CMP_Locs.eps
* Create a chart of cdps vs offsets by using SU command “suchart”, then export into post-script image format.
suchart < $OUTDATA key1=cdp key2=offset > plotdata outpar=par
psgraph < plotdata par=par linewidth=0 mark=0 marksize=1 labelsize=12 titlesize=12 linecolor=blue \
wbox=14 hbox=6 > 03.Geometry-Bin_Chart.eps title="CMP Bin Chart of $dcdp m Midpoint" &
* Sort the OUTDATA into cdp with offset and count how many folds or traces within each cdp into foldcoverage.txt by using SU command “sukeycount”. Create a chart of cdps vs nhs by using SU command “suchart”, then export into post-script image format.
susort < $OUTDATA cdp offset | sukeycount key=cdp > foldcoverage.txt
susort < $OUTDATA +cdp|sustack|suchart key1=cdp key2=nhs > plotdata2 outpar=par2
psgraph < plotdata2 par=par2 linewidth=0.5 mark=0 marksize=1 labelsize=12 titlesize=12 linecolor=red \
x2beg=0 x2end=70 wbox=14 hbox=6 > 03.Geometry-Fold_Coverage.eps title="Fold Coverage of $dcdp m Midpoint" &
* Sort the OUTDATA into cdp with offset, apply normal move out correction with initial velocity, stack then plot and export into post-script image format. This is used to create initial stacked data as QC of geometry setting.
susort < $OUTDATA cdp offset | sunmo vnmo=1600 | sustack | suximage perc=95 label1="Time (s)" label2="CDP No." \
windowtitle="QC Stack - After Geometry Setting" title="QC Stack - After Geometry Setting" &
susort < $OUTDATA cdp offset | sunmo vnmo=1600 | sustack | supsimage perc=95 label1="Time (s)" label2="CDP No." \
title="Geometry Setting-QC Stack" wbox=10 hbox=15 threecolor=1 wrgb=1.0,0,0 grgb=1.0,1.0,1.0 brgb=0,0,1.0 verbose=0 > 03.Geometry-QC_Stack.eps



PRINT OUT:
 

 Figure-6.Shots (red lines), Groups (blue lines), and CMPs (green lines) coordinate locations.

Figure-7.CMP bin charts (stacking charts).

Figure-8.Fold coverage graphs.
Figure-9.QC Stack-After Geometry Setting. 

The following is range of trace header values from output SU data format (OUTDATA).

200544 traces:
tracl        297 205016 (297 - 205016)
tracr    297 205016 (297 - 205016)
fldr         101 2189 (101 - 2189)
tracf        1 96 (1 - 96)
ep           101 2189 (101 - 2189)
cdp          1 4272 (96 - 4177)
cdpt         3 98 (3 - 98)
trid         1
nhs          1
offset       33 1220 (33 - 1220)
selev        -9990000
sdepth       30000
scalel       1
scalco       1
sx           xxx386 xxx281 (xxx281 - xxx386)
sy           xxx6987 xxx9081 (xxx6987 - xxx9081)
gx           xxx414 xxx313 (xxx309 - xxx418)
gy           xxx6334 xxx9063 (xxx6969 - xxx8429)
counit       1
ns           3201
dt           1000
gain         3
afilf        400
afils        370
lcf          5
hcf          400
lcs          12
hcs          370
year         2013
Source coordinates (sx & sy), group coordinates (gx & gy), coordinate scale (scalco), elevation scale (scalel), coordinate unit (counit), and cdp have been updated into trace headers. In the next stage, we need to update the source & receiver water depth, datum elevation, and also delay correction (Part4: Header Static & Delay Correction, *will be continued soon*). 


SOURCE CODE:
Bellow is complete shell script of 03.geomset.sh.
#!/bin/sh
# filename: 03.geomset.sh
# GEOMETRY SETTING OF 2D MARINE SEISMIC
# Created by geophenry124

# Set directory
DATADIR=/media/Data/data/marine

# Define input-output data
INDATA=$DATADIR/data_edit.su
OUTDATA=$DATADIR/data_edit_geom.su
HDR=$DATADIR/geomheader.bin

# PROCESS 3: GEOMETRY SETTING
echo "PROCESS 3: GEOMETRY SETTING"
echo ""
printf "Job started `todays_date` at `time_now` \n"
echo ""
echo "Please select: Continue to process or don't process the geometry setting"
option=
echo "Choose option:"
echo "1. Continue to process the geometry setting"
echo "2. Don't process the geometry setting"
echo "*press Enter to exit*"
echo -n "Insert the option (1 or 2):"
read option
case $option in
"1") echo "Your option is: Continue to process the geometry setting"
echo ""
#===============================================================================
# Get header info
#echo "Range of header values for $INDATA:"
#surange < $INDATA
echo ""
echo "Get total number of sampling time..."
nt=`sugethw < $INDATA key=ns | sed 1q | sed 's/ns=//' | awk '{print $1}'`
echo "Total number of sampling time = $nt sampling"
echo ""

# Checking first and last shot number
echo "Checking first and last shot number..."
minep=`sugethw < $INDATA output=geom key=ep | sort -n | head -1 | awk '{print $1}'`
echo "First shot number = $minep"
maxep=`sugethw < $INDATA output=geom key=ep | sort -n | tail -1 | awk '{print $1}'`
echo "Last shot number = $maxep"
nshot=`bc -l <<END
        $maxep - $minep + 1
END`
echo "Number of shot = $nshot"
echo ""

# Checking near and far trace
echo "Checking near and far trace..."
mintracf=`sugethw < $INDATA output=geom \
key=tracf | sort -n | head -1 | awk '{print $1}'`
echo "Near trace = $mintracf"
maxtracf=`sugethw < $INDATA output=geom \
key=tracf | sort -n | tail -1 | awk '{print $1}'`
echo "Far trace = $maxtracf"
nrec=`bc -l <<END
        $maxtracf - $mintracf + 1
END`
echo "Number of receiver = $nrec"
echo ""

# Compute total number of trace
echo "Get total number of trace..."
ntr=`bc -l <<END
        $nshot * $nrec
END`
echo "Total number of trace = $ntr traces"
echo ""

# Setup geometry parameters
echo "Insert Geomtery Parameters"
echo ""
smin=1
smax=$nshot
ds=
echo "Please insert shot interval in m"
echo -n "Insert shot interval in m:"
read ds
echo ""
echo "Shot interval is $ds m"
echo ""
rmin=1
rmax=$nrec
dr=
echo "Please insert receiver (group) interval in m"
echo -n "Insert receiver (group) interval in m:"
read dr
echo ""
echo "Receiver (group) interval is $dr m"
echo ""
near=
echo "Please insert near offset in m"
echo -n "Insert near offset in m:"
read near
echo ""
echo "Near offset is $near m"
echo ""
vessel=
echo "Please insert vessel azimuth in degree"
echo -n "Insert vessel azimuth in degree:"
read vessel
echo ""
echo "Vessel azimuth is $vessel degrees"
echo ""
feather=
echo "Please insert feathering angle in degree (not more than 10, \
or less than -10, positive (+) sign if streamer deviated clockwise \
of survey line,and vice versa"
echo -n "Insert feathering angle in degree:"
read feather
echo ""
echo "Feathering angle is $feather degree(s)"
echo ""
#===============================================================================
# STEP 1: SETUP GEOMETRY
echo "STEP 1: SETUP GEOMETRY"
echo ""

# Load p190 navigation file
echo "Load p190 navigation file..."
mv *.190 p190.190
gawk '{
FIELDWIDTHS="1 12 3 1 1 1 6 10 11 9 9 6 3 6 1"
while(getline<"p190.190"){
if($1=="S" || $1=="A" || $1=="Z"){
ep=$7
ffid[ep]=$7
sx[ep]=$10
sy[ep]=$11
wd[ep]=$12
print ffid[ep],sx[ep],sy[ep]}}}' p190.190 > nav.txt
mv *.190 nav.190

# Setup shot azimuth & locations
echo "Setup shot azimuth & locations..."
trace=`seq 1 1 $ntr`
>avessel.txt
for i in $trace
do
echo $vessel >>avessel.txt
done

>source.txt
while [ $rmin -le $rmax ]
do
awk '{printf"%.d\t %.1f\t %.1f\n",$1,$2,$3}' < nav.txt >>source.txt
rmin=`expr $rmin + 1`
done
sort -k 1n < source.txt > shotlocs.txt
paste shotlocs.txt avessel.txt > shot.txt

# Setup streamer azimuth
echo "Compute streamer azimuth..."
streamer=`bc -l <<END
        180 + $vessel + $feather
END`
rmin=1
>astreamer.txt
while [ $rmin -le $rmax ]
do
echo $streamer >>astreamer.txt
rmin=`expr $rmin + 1`
done

# Compute regular offsets
echo "Compute reqular offsets..."
minoff=$near
maxoff=`bc -l <<END
        $near + $dr * ( $rmax - 1 )
END`
seq $minoff $dr $maxoff > offreg.txt

# Compute perpendicular offsets
paste offreg.txt astreamer.txt > offreg_astreamer.txt
awk '{printf"%.4f\n",$1*cos($2/57.2958)}'< offreg_astreamer.txt > dxn.txt
awk '{printf"%.4f\n",$1*sin($2/57.2958)}'< offreg_astreamer.txt > dyn.txt

seq 1 1 $rmax > chan.txt
paste chan.txt astreamer.txt offreg.txt dxn.txt dyn.txt > offset.txt
>group.txt
while [ $smin -le $smax ]
do
awk '{printf"%d\t %.1f\t %.1f\t %.4f\t %.4f\n",$1,$2,$3,$4,$5}' < offset.txt >>group.txt
smin=`expr $smin + 1`
done

# Setup group locations
echo "Setup group locations..."
paste shot.txt group.txt > geom.txt
awk '{printf"%.1f\t %.1f\n",($2-$8),($3-$9)}'< geom.txt > reclocs.txt

paste geom.txt reclocs.txt > geomheader.txt
mv geomheader.txt geom.txt

# Setup cmp locations
echo "Setup cmp locations..."
awk '{printf"%.1f\t %.1f\n",($2+$10)/2,($3+$11)/2}'< geom.txt > cmplocs.txt

# Plot shot,group,and CMP locations
echo "Plot shot,group,and CMP locations..."
awk '{printf"%2.1f\t %2.1f\n",$2,$3}' < geom.txt | a2b > shotlocs.bin
awk '{printf"%2.1f\t %2.1f\n",$10,$11}' < geom.txt | a2b > reclocs.bin
awk '{printf"%2.1f\t %2.1f\n",$1,$2}' < cmplocs.txt | a2b > cmplocs.bin
cat shotlocs.bin reclocs.bin cmplocs.bin |
psgraph n=$ntr,$ntr,$ntr linecolor=red,blue,green linewidth=0,0,0 \
labelsize=12 titlesize=12 grid1=solid grid2=solid gridcolor=gray \
marksize=10,5,1 mark=open square,open circle,open circle \
gridwidth=0 wbox=14 hbox=6 \
label1=mEasting label2=mNorthing \
title=Shot-Receiver-CMP Location > 03.Geometry-Shot_Receiver_CMP_Locs.eps

# Housekeeping
rm nav.txt avessel.txt source.txt shotlocs.txt shot.txt chan.txt astreamer.txt offreg.txt
rm dxn.txt dyn.txt offset.txt group.txt reclocs.txt cmplocs.txt offreg_astreamer.txt
echo "Finish..."
#===============================================================================
echo ""
# STEP 2: CDP BINNING
echo "STEP 2: CDP BINNING"
echo ""

# Compute CDP bin number
echo "Compute CDP bin number, please wait..."
dcdp=`bc -l <<END
        $dr / 2
END`
a=`bc -l <<END
        ( $ds / $dr ) * 2
END`
b=`bc -l <<END
        $a - 1
END`

>cdp.txt
for i in `seq 1 $smax`
do
fcdp=`echo "$a * $i - $b" | bc -l`
   for j in `seq $rmax -1 1`
   do
   echo "$fcdp + $j - 1" | bc -l | awk '{printf"%.1d\n",$1}' >>cdp.txt
   done
done

# Setup geometry into header
echo "Setup geometry into header..."
paste geom.txt cdp.txt > geomheader.txt
awk '{printf"%.1f\t %.1f\t %.1f\t %.1f\t %.1f\t %d\n",$2,$3,$10,$11,$7,$12}' < geomheader.txt > header.txt
a2b < header.txt n1=6 > $HDR
sushw < $INDATA infile=$HDR key=sx,sy,gx,gy,offset,cdp | sushw \
key=scalco,scalel,counit a=1,1,1 > $OUTDATA

# Plot CMP bin chart
echo "Plot cmp bin chart..."
suchart < $OUTDATA key1=cdp key2=offset > plotdata outpar=par
psgraph < plotdata par=par linewidth=0 mark=0 marksize=1 labelsize=12 \
titlesize=12 linecolor=blue wbox=14 hbox=6 > 03.Geometry-Bin_Chart.eps \
title="CMP Bin Chart of $dcdp m Midpoint" &

# Extract and plot the fold coverage
echo "Extract and plot the fold coverage..."
susort < $OUTDATA cdp offset | sukeycount key=cdp > foldcoverage.txt
susort < $OUTDATA +cdp|sustack|suchart key1=cdp \
key2=nhs > plotdata2 outpar=par2
psgraph < plotdata2 par=par2 linewidth=0.5 mark=0 marksize=1 \
labelsize=12 titlesize=12 linecolor=red x2beg=0 x2end=70 wbox=14 \
hbox=6 > 03.Geometry-Fold_Coverage.eps title="Fold Coverage of $dcdp m Midpoint" &

# Display QC stack after setting geometry
echo "Display QC stack after setting geometry..."
susort < $OUTDATA cdp offset | sunmo vnmo=1600 | sustack | suximage \
perc=95 label1="Time (s)" label2="CDP No." \
windowtitle="QC Stack - After Geometry Setting" \
title="QC Stack - After Geometry Setting" &
susort < $OUTDATA cdp offset | sunmo vnmo=1600 | sustack | supsimage \
perc=95 label1="Time (s)" label2="CDP No." \
title="Geometry Setting-QC Stack" wbox=10 hbox=15 threecolor=1 \
wrgb=1.0,0,0 grgb=1.0,1.0,1.0 brgb=0,0,1.0 verbose=0 > 03.Geometry-QC_Stack.eps

# View a new range of header values
echo "Range of header values for $OUTDATA :"
surange < $OUTDATA
echo ""

rm geom.txt cdp.txt header.txt par par2 plotdata plotdata2
;;
"2") echo "Your option is: Don't process the geometry setting"
OUTDATA=$INDATA
;; 
                *)   exit 1 ;;
esac
echo ""
printf "Job finished `todays_date` at `time_now` \n"
echo "Finish..."
#===============================================================================
echo ""
echo "NEXT PROCESS: HEADER STATIC AND DELAY CORRECTION"
exit








3 comments:

Agan Jibrut yang terhormat,

Bang Jibrut, tolong angkat telponnya dong mas dari kami yaa hehehe
Urgent! :)]
DTC

Gan,

Ente sibuk ga besok gan? Besok kita kopi darat di kantor ente ya gan. Ada hal penting yang perlu di bicarain ya gan.

Regards,
aganwati dtc

This below site is for Geophysics solution, please check it

https://gpsurya.blogspot.com/

Post a Comment

Jokes

Review

Election Polling

Who are the president and vice president of Indonesia Republic of your choice?
  
 

Orang yang bersemangat dapat menanggung penderitaannya, tetapi siapa yang akan memulihkan semangat yang patah?” Amsal 18:14.

Beragam persoalan bisa menimpa siapa saja. Entah orang kaya atau miskin, tua atau muda, setiap orang selama hidup di dunia ini selalu berhadapan dengan berbagai persoalan. Setiap orang, terlepas dari status sosial, pendidikan, profesinya, dan bahkan sebagai hamba Tuhanpun tidak terluput dari yang namanya pergumulan atau persoalan. Manusia harus berhadapan dengan masalah selama hidup di dunia ini. Setiap orang tentunya memiliki persoalan yang berbeda-beda.

Kita tidak boleh menyerah, walau badai apapun yang sedang menerpa. Sebab pencobaan yang kita alami tidak pernah melebihi kekuatan kita, seperti yang disebutkan dalam Firman Tuhan.

“Pencobaan-pencobaan yang kamu alami ialah pencobaan-pencobaan biasa, yang tidak melebihi kekuatan manusia. Sebab Allah setia dan karena itu Ia tidak akan membiarkan kamu dicobai melampaui kekuatanmu. Pada waktu kamu dicobai Ia akan memberikan kepadamu jalan keluar, sehingga kamu dapat menanggungnya.Amin.” 1 Kor 10:13.

 
About | Disclaimer | Sitemap | Contact | Copyright © 2011 TotalCorner
Valid XHTML and CSS