Skip to content
Snippets Groups Projects
Commit 56e1ddef authored by janthorbecke@gmail.com's avatar janthorbecke@gmail.com
Browse files

working on Marchenko planewave demo

parent 9175fb45
No related branches found
No related tags found
No related merge requests found
--------------------------
Code to reproduce the example in section `Plane-Wave Marchenko algorithm` of the manual. Code to reproduce the example in section `Plane-Wave Marchenko algorithm` of the manual.
--------------------------
Description of files: Description of files:
...@@ -14,18 +16,20 @@ Description of files: ...@@ -14,18 +16,20 @@ Description of files:
./epsModel.scr model ./epsModel.scr model
5) IniFocus.scr compute plane wave responses at 600 m depth with angles -5 0 and 5 degrees. 5) IniFocus.scr compute plane wave responses at 600 m depth with angles -5 0 and 5 degrees.
To compute the plane wave respone with the sources all startin at t=0 on a slanted line in the model run To compute the plane wave respone with the sources all starting at t=0 on a slanted line in the model run
./IniFocus.scr
./Ini2Focus.scr ./Ini2Focus.scr
To generate the 12 snapshot figures To generate the 12 snapshot figures
./epsModel.scr snapshots ./epsModel.scr snapshots
*** Steps to generate the Marchenko plane wave results.
6) To generate the Marchenko results for plane wave with angle=0 (horizontal) 6) To generate the Marchenko results for plane wave with angle=0 (horizontal)
./marchenkoPlaneIter.scr plane0 ./marchenkoPlaneIter.scr plane0
./epsModel.scr plane0 ./epsModel.scr plane0
[ 7) Marchenko with and without time-shifts in a one-D model: requires shift to build in again in marchenko code: does not generate [ 7) Marchenko with and without time-shifts in a one-D model: requires shift to build in again in marchenko code: does not generate correct results at the moment
correct results at the moment
cd shifts cd shifts
compute 1D model, f_d and marchenko with and without shift compute 1D model, f_d and marchenko with and without shift
./model.scr ./model.scr
...@@ -34,195 +38,19 @@ correct results at the moment ...@@ -34,195 +38,19 @@ correct results at the moment
./eps.scr ./eps.scr
] ]
8) 8) Generating the mute windows for angle 5 and -5 for odd and even iterations
./epsModel.scr mutewindow
9) Generating the Marchenko results for angle 5 and -5 for odd and even iterations
./marchenkoPlaneIter.scr plane5
./epsModel.scr.scr plane5
2) itertions.scr computes the intermediate results of the multiple attenutation scheme and produces all output files that are used in the manuscript.
- runtime on 4 cores is
3) epsPrimaries.scr selected output from step 2) are converted to .eps pictures that are used in the Figures to explain the method.
To reproduce the postscript files of the manuscript SU postscript plotting programs are required.
-3) epsModel.scr to generate the postscript files for the numerical model
optional scripts not needed to reproduce the figures: optional scripts not needed to reproduce the figures:
+) primaries.scr computes the internal multiple attenuated (middle) shot record.
- runtime on 4 cores is ~500 s.
+) primariesPlane.scr: computes the internal moval scheme for plane-waves (see Meles 2020)
+) clean: remove all produced files and start with a clean directory +) clean: remove all produced files and start with a clean directory
--------------------------
To reproduce the Figures in the Manuscript:
--------------------------
* Figure 2: Model + Initial wavefield
==> run model.scr to generate the data .su files: this will take 4-5 minutes. The files generate are:
- hom_cp.su, hom_ro.su
- model10_cp.su, model10_ro.su
- shot5_fd_rp.su
- shot5_hom_fd_rp.su
- shot5_rp.su
- wavefw.su
==> run './epsPrimaries.scr Figure2' to generate the postscript files of Figure 2
model_cp_line.eps => Figure 2a
model_ro_line.eps => Figure 2b
shotx0_rp.eps => Figure 2c
It also produces two extra pictures of the wavelet used in the FD modelling:
wavefw_freq.eps
wavefw.eps
--------------------------
* Figure 3: First Iteration
==> run './iterations.scr Figure34910' to compute the intermediate results of the first iterations of the Marchenko Primaries algorithm.
This will take 15 seconds. The generated files are:
- M0_276000.su
- Mi_2760##.su
- k1min_2760##.su
- v1plus_2760##.su
- iter_2760##.su (not used)
- pred_rr_276.su (not used)
- DDshot_450.su (not used): selected shot record convolved with file_src=wave.su
where ## ranges from 01 to 34
To generate the postscript files for Figure 3:
==> run './epsPrimaries.scr Figure3'
This will produce the following files:
shotx0_rp.eps => Figure 2c == Figure 3a
M0_276000_flip.eps => Figure 3b
fconvN0fulltime.eps => Figure 3c
fconvN0flip.eps => Figure 3d
Mi_276001.eps => Figure 3e
--------------------------
* Figure 4 second iteration
To generate the postscript files for Figure 4:
==> run './epsPrimaries.scr Figure4'
This will produce the following files:
fconvN1fulltime.eps => Figure 4c
fconvN1flip.eps => Figure 4d
Mi_276002.eps => Figure 4e
The window time function in Figure 5 is not reproduced.
--------------------------
* Figure 6 v1plus and convergence
==> run './iterations.scr Figure6' to compute the marchenko results with ii=200
To generate the postscript files for Figure 6:
==> run './epsPrimaries.scr Figure6'
This will produce the following files:
v1plus_200001.eps => Figure 6a
v1plus_max.eps => Figure 6b
k1min_200030.eps => Figure 6b
--------------------------
* Figure 8 To compute the convergence for a strong contrast medium:
cd strongContrast
==> run ./model.scr
==> run ./iterations.scr Figure8
To generate the postscript files for Figure 8:
==> run './epsPrimaries.scr Figure8'
This will produce the following files:
v1plusStrong_max.eps => Figure 8
Don't forget to go back to the main directory with the regular contrast results
cd ../
--------------------------
* Figure 9 iterations M_i
To generate the postscript files for Figure 9:
==> run './epsPrimaries.scr Figure9'
This will produce the following files:
Mi_276002.eps => Figure 9b
Mi_276004.eps => Figure 9d
Mi_276012.eps => Figure 9f
Mi_276020.eps => Figure 9h
Mi_276001.eps => Figure 9a
Mi_276003.eps => Figure 9c
Mi_276011.eps => Figure 9e
Mi_276019.eps => Figure 9g
--------------------------
* Figure 10 iterations M_i and k_1^-
To generate the postscript files for Figure 10:
==> run './epsPrimaries.scr Figure10'
This will produce the following files:
Mi_276002flip.eps => Figure 10a
k1min_276002.eps => Figure 10b
Mi_276004flip.eps => Figure 10c
k1min_276004.eps => Figure 10d
Mi_276010flip.eps => Figure 10e
k1min_276010.eps => Figure 10f
Mi_276020flip.eps => Figure 10g
k1min_276020.eps => Figure 10h
--------------------------
* Figure 11 iterations k_1^- for different ii 246:316:10
To generate the data
==> run ./iterations.scr Figure11
this will take ~2 minutes and generate a lot of files
To generate the postscript files for Figure 11:
==> run './epsPrimaries.scr Figure11'
This will produce the following files:
k1min_246032.eps => Figure 11a
k1min_256032.eps => Figure 11b
k1min_266032.eps => Figure 11c
k1min_276032.eps => Figure 11d
k1min_286032.eps => Figure 11e
k1min_296032.eps => Figure 11f
k1min_306032.eps => Figure 11g
k1min_316032.eps => Figure 11h
--------------------------
* Figure 13 iterations M_i and k_1^- for ii-276 T-MME scheme
To generate the data
==> run ./iterations.scr Figure13
this will take ~15 seconds
****NOTE this will overwrite the results of the MME-scheme !
To generate the postscript files for Figure 13:
==> run './epsPrimaries.scr Figure13'
This will produce the following files:
Mi_276002T.eps => Figure 13a
Mi_276004T.eps => Figure 13b
Mi_276001T.eps => Figure 13c
Mi_276003T.eps => Figure 13d
k1min_276002T.eps => Figure 13e
k1min_276004T.eps => Figure 13f
k1min_276010T.eps => Figure 13g
k1min_276020T.eps => Figure 13h
...@@ -8,6 +8,9 @@ ns=602 ...@@ -8,6 +8,9 @@ ns=602
nsd=351 #number of samples to display nsd=351 #number of samples to display
(( nstart = ns - nsd )) (( nstart = ns - nsd ))
sumax < ${srcname}0a120_rp.su mode=abs outpar=nep
clipS=`cat nep | awk '{print $1/7}'`
if [[ "$1" == "model" ]]; if [[ "$1" == "model" ]];
then then
supsimage hbox=4 wbox=6 labelsize=12 < ge_cp.su \ supsimage hbox=4 wbox=6 labelsize=12 < ge_cp.su \
...@@ -55,13 +58,21 @@ done ...@@ -55,13 +58,21 @@ done
exit exit
fi fi
sumax < ${srcname}0a120_rp.su mode=abs outpar=nep
clipS=`cat nep | awk '{print $1/7}'`
if [[ "$1" == "mutewindow" ]]; if [[ "$1" == "mutewindow" ]];
then then
for angle in 5 -5
do
inifile=SourceNew${angle}a120_rp.su
# even iterations
fmute file_shot=$inifile file_out=mute0${angle}_001.su above=0 shift=7 smooth=3 \
verbose=1 check=0 hw=2 returnmask=1 plane_wave=1 src_angle=$angle iter=0
# odd iterations
fmute file_shot=$inifile file_out=mute0${angle}_002.su above=0 shift=7 smooth=3 \
verbose=1 check=0 hw=2 returnmask=1 plane_wave=1 src_angle=$angle iter=1
done
#mute windows for angle=5 and angle=-5 #mute windows for angle=5 and angle=-5
for file in mute05_001.su mute05_002.su mute0-5_001.su mute0-5_002.su #mute0-5s_001.su mute0-5s_002.su for file in mute05_001.su mute05_002.su mute0-5_001.su mute0-5_002.su
do do
file_base=${file%.su} file_base=${file%.su}
supsimage < $file hbox=6 wbox=4 labelsize=8 linewidth=0.0 \ supsimage < $file hbox=6 wbox=4 labelsize=8 linewidth=0.0 \
...@@ -69,10 +80,10 @@ then ...@@ -69,10 +80,10 @@ then
label1="time [s]" label2="lateral distance [m]" \ label1="time [s]" label2="lateral distance [m]" \
f2=-3000 f2num=-3000 d2num=1500 wclip=0 bclip=1 > $file_base.eps f2=-3000 f2num=-3000 d2num=1500 wclip=0 bclip=1 > $file_base.eps
rotate file_in=$file file_out=nep.su rotate file_in=$file file_out=nep.su
supsimage < nep.su hbox=6 wbox=4 labelsize=8 linewidth=0.0 \ supsimage < nep.su hbox=6 wbox=4 labelsize=8 linewidth=0.0 \
n1tic=2 x1beg=-0.7 x1end=0.7 f1=-2.048 \ n1tic=2 x1beg=-0.7 x1end=0.7 f1=-1.024 \
label1="time [s]" label2="lateral distance [m]" \ label1="time [s]" label2="lateral distance [m]" \
f2=-3000 f2num=-3000 d2num=1500 wclip=0 bclip=1 > ${file_base}_shift0.eps f2=-3000 f2num=-3000 d2num=1500 wclip=0 bclip=1 > ${file_base}_shift0.eps
done done
...@@ -106,59 +117,61 @@ then ...@@ -106,59 +117,61 @@ then
exit exit
fi fi
for file in ${srcname}5a120_rp.su ${srcname}-5a120_rp.su ${srcname}0a120_rp.su fdplus${srcname}5a120.su fdplus${srcname}0a120.su fdplus${srcname}-5a120.su SourceDipa_rp.su fdplusSourceDipa.su #fdplus${srcname}-5a120S.su if [[ "$1" == "plane5" ]];
do then
#sumax < $file mode=abs outpar=nep for file in ${srcname}5a120_rp.su ${srcname}-5a120_rp.su fdplus${srcname}5a120.su fdplus${srcname}-5a120.su
#clipf1=`cat nep | awk '{print $1/7}'` do
file_base=${file%.su}
supsimage < $file hbox=6 wbox=4 labelsize=8 linewidth=0.0 \
n1tic=2 x1end=1.4 f1=0 \
label1="time [s]" label2="lateral distance [m]" \
f1=0 f2=-3000 f2num=-3000 d2num=1500 clip=$clipS > $file_base.eps
done
for file in Gplus${srcname}0a120.su Gplus${srcname}5a120.su Gplus${srcname}-5a120.su Gmin${srcname}0a120.su Gmin${srcname}5a120.su Gmin${srcname}-5a120.su GminSourceDipa.su GplusSourceDipa.su #Gplus${srcname}5a120_shifted.su Gmin${srcname}5a120_shifted.su
do
sumax < $file mode=abs outpar=nep
clipf1=`cat nep | awk '{print $1/7}'`
file_base=${file%.su}
supsimage < $file hbox=6 wbox=4 labelsize=8 linewidth=0.0 \
n1tic=2 x1end=1.4 f1=0 \
label1="time [s]" label2="lateral distance [m]" \
f2=-3000 f2num=-3000 d2num=1500 clip=$clipS > $file_base.eps
done
#iterrations and f1plus and f1min
for file in f1plus${srcname}5a120.su f1min${srcname}5a120.su
do
sumax < $file mode=abs outpar=nep
clipf1=`cat nep | awk '{print $1/9}'`
file_base=${file%.su}
supsimage < $file hbox=6 wbox=4 labelsize=8 linewidth=0.0 \
n1tic=2 x1beg=-0.7 x1end=0.7 \
label1="time [s]" label2="lateral distance [m]" \
f2=-3000 f2num=-3000 d2num=1500 clip=$clipS > $file_base.eps
done file_base=${file%.su}
supsimage < $file hbox=6 wbox=4 labelsize=8 linewidth=0.0 \
n1tic=2 x1end=1.4 f1=0 \
label1="time [s]" label2="lateral distance [m]" \
f1=0 f2=-3000 f2num=-3000 d2num=1500 clip=$clipS > $file_base.eps
done
for file in Gplus${srcname}5a120.su Gplus${srcname}-5a120.su Gmin${srcname}5a120.su Gmin${srcname}-5a120.su
do
sumax < $file mode=abs outpar=nep
clipf1=`cat nep | awk '{print $1/7}'`
file_base=${file%.su}
supsimage < $file hbox=6 wbox=4 labelsize=8 linewidth=0.0 \
n1tic=2 x1end=1.4 f1=0 \
label1="time [s]" label2="lateral distance [m]" \
f2=-3000 f2num=-3000 d2num=1500 clip=$clipS > $file_base.eps
done
for file in iter${srcname}5a120_002.su iter${srcname}5a120_001.su #iterations and f1plus and f1min
do
sumax < $file mode=abs outpar=nep
clipf1=`cat nep | awk '{print $1/9}'`
basop file_in=$file file_out=nep.su choice=shift shift=-2.048 for file in f1plus${srcname}5a120.su f1min${srcname}5a120.su
file_base=${file%.su} do
supsimage < nep.su hbox=6 wbox=4 labelsize=8 linewidth=0.0 \ sumax < $file mode=abs outpar=nep
n1tic=2 x1beg=-0.7 x1end=0.7 f1=-2.048 \ clipf1=`cat nep | awk '{print $1/9}'`
label1="time [s]" label2="lateral distance [m]" \
f2=-3000 f2num=-3000 d2num=1500 clip=$clipS > $file_base.eps file_base=${file%.su}
supsimage < $file hbox=6 wbox=4 labelsize=8 linewidth=0.0 \
n1tic=2 x1beg=-0.7 x1end=0.7 \
label1="time [s]" label2="lateral distance [m]" \
f2=-3000 f2num=-3000 d2num=1500 clip=$clipS > $file_base.eps
done
for file in iter${srcname}5a120_002.su iter${srcname}5a120_001.su
do
sumax < $file mode=abs outpar=nep
clipf1=`cat nep | awk '{print $1/9}'`
basop file_in=$file file_out=nep.su choice=shift shift=-2.048
file_base=${file%.su}
supsimage < nep.su hbox=6 wbox=4 labelsize=8 linewidth=0.0 \
n1tic=2 x1beg=-0.7 x1end=0.7 f1=-2.048 \
label1="time [s]" label2="lateral distance [m]" \
f2=-3000 f2num=-3000 d2num=1500 clip=$clipS > $file_base.eps
done
rm nep.su
done exit
fi
rm nep.su
...@@ -22,43 +22,30 @@ $exe file_shot=shots/refl_rp.su file_tinv=fdplus${base}.su nshots=601 verbose=2 ...@@ -22,43 +22,30 @@ $exe file_shot=shots/refl_rp.su file_tinv=fdplus${base}.su nshots=601 verbose=2
exit exit
fi fi
#5 degrees dip without (set src_angle=0) if [[ "$1" == "plane5" ]];
base=Source5a120old then
src_angle=5
src_angle=5 inifile=SourceNew${src_angle}a120_rp.su
#inifile=Source${src_angle}a120_rp.su base=${inifile%_rp.su}
inifile=SourceNew${src_angle}a120_rp.su fmute file_shot=$inifile file_out=fdplus${base}.su above=-1 shift=-6 verbose=1 check=0 hw=2
base=${inifile%_rp.su} #for testing mute window in manual (B/W figures)
$exe file_shot=shots/refl_rp.su file_tinv=fdplus${base}.su nshots=601 verbose=2 \
fmute file_shot=$inifile file_out=fdplus${base}.su above=-1 shift=-6 verbose=1 check=0 hw=2
#for testing mute window in manual (B/W figures)
$exe file_shot=shots/refl_rp.su file_tinv=fdplus${base}.su nshots=601 verbose=2 \
tap=3 niter=16 hw=2 shift=7 smooth=3 plane_wave=1 src_angle=5 rotate=1 \ tap=3 niter=16 hw=2 shift=7 smooth=3 plane_wave=1 src_angle=5 rotate=1 \
file_green=green${base}.su file_gplus=Gplus${base}.su file_gmin=Gmin${base}.su \ file_green=green${base}.su file_gplus=Gplus${base}.su file_gmin=Gmin${base}.su \
file_f1plus=f1plus${base}.su file_f1min=f1min${base}.su file_f2=f2${base}.su file_iter=iter${base}.su file_f1plus=f1plus${base}.su file_f1min=f1min${base}.su file_f2=f2${base}.su \
file_iter=iter${base}.su
#exit
src_angle=-5
for angle in 5 #10 inifile=SourceNew${src_angle}a120_rp.su
do base=${inifile%_rp.su}
for dip in "" - fmute file_shot=$inifile file_out=fdplus${base}.su above=-1 shift=-6 verbose=1 check=0 hw=2
do
src_angle=$dip$angle $exe file_shot=shots/refl_rp.su file_tinv=fdplus${base}.su nshots=601 verbose=2 \
tap=3 niter=16 hw=2 shift=7 plane_wave=1 src_angle=$src_angle \
#inifile=Source${src_angle}a120_rp.su file_green=green${base}.su file_gplus=Gplus${base}.su file_gmin=Gmin${base}.su \
inifile=SourceNew${src_angle}a120_rp.su file_f1plus=f1plus${base}.su file_f1min=f1min${base}.su file_f2=f2${base}.su
base=${inifile%_rp.su} exit
fmute file_shot=$inifile file_out=fdplus${base}.su above=-1 shift=-6 verbose=1 check=0 hw=2 fi
$exe file_shot=shots/refl_rp.su file_tinv=fdplus${base}.su nshots=601 verbose=2 \
tap=3 niter=16 hw=2 shift=7 plane_wave=1 src_angle=$src_angle \
file_green=green${base}.su file_gplus=Gplus${base}.su file_gmin=Gmin${base}.su \
file_f1plus=f1plus${base}.su file_f1min=f1min${base}.su file_f2=f2${base}.su
done
done
exit
#source at dipping line in model all fired at t=0 #source at dipping line in model all fired at t=0
inifile=SourceDipa_rp.su inifile=SourceDipa_rp.su
...@@ -70,72 +57,3 @@ $ROOT/OpenSource/marchenko/marchenko file_shot=shots/refl_rp.su file_tinv=fdplus ...@@ -70,72 +57,3 @@ $ROOT/OpenSource/marchenko/marchenko file_shot=shots/refl_rp.su file_tinv=fdplus
file_green=green${base}.su file_gplus=Gplus${base}.su file_gmin=Gmin${base}.su \ file_green=green${base}.su file_gplus=Gplus${base}.su file_gmin=Gmin${base}.su \
file_f1plus=f1plus${base}.su file_f1min=f1min${base}.su file_f2=f2${base}.su file_f1plus=f1plus${base}.su file_f1min=f1min${base}.su file_f2=f2${base}.su
exit
fmute file_shot=TCorrect_Source150_rp.su file_out=p0plus.su above=-1 shift=-6 verbose=1 check=0 hw=8
$ROOT/OpenSource/marchenko/marchenko file_shot=shots/refl_rp.su file_tinv=p0plus.su nshots=601 verbose=2 \
tap=3 niter=12 hw=8 shift=12 plane_wave=1 \
file_green=pgreenPl.su file_gplus=GplusPl.su file_gmin=TGmin150.su \
file_f1plus=f1plusPl.su file_f1min=f1minPl.su file_f2=f2Pl.su
fmute file_shot=TCorrect_Source180_rp.su file_out=p0plus.su above=-1 shift=-6 verbose=1 check=0 hw=8
$ROOT/OpenSource/marchenko/marchenko file_shot=shots/refl_rp.su file_tinv=p0plus.su nshots=601 verbose=2 \
tap=3 niter=12 hw=8 shift=12 plane_wave=1 \
file_green=pgreenPl.su file_gplus=GplusPl.su file_gmin=TGmin180.su \
file_f1plus=f1plusPl.su file_f1min=f1minPl.su file_f2=f2Pl.su
# HCorrect DATASETS: src_angle=10, src_velo=1500:
fmute file_shot=HCorrect_Source120_rp.su file_out=p0plus.su above=-1 shift=-6 verbose=1 check=0 hw=8
$ROOT/OpenSource/marchenko/marchenko file_shot=shots/refl_rp.su file_tinv=p0plus.su nshots=601 verbose=2 \
tap=3 niter=12 hw=8 shift=12 plane_wave=1 \
file_green=pgreenPl.su file_gplus=GplusPl.su file_gmin=HGmin120.su \
file_f1plus=f1plusPl.su file_f1min=f1minPl.su file_f2=f2Pl.su
fmute file_shot=HCorrect_Source150_rp.su file_out=p0plus.su above=-1 shift=-6 verbose=1 check=0 hw=8
$ROOT/OpenSource/marchenko/marchenko file_shot=shots/refl_rp.su file_tinv=p0plus.su nshots=601 verbose=2 \
tap=3 niter=12 hw=8 shift=12 plane_wave=1 \
file_green=pgreenPl.su file_gplus=GplusPl.su file_gmin=HGmin150.su \
file_f1plus=f1plusPl.su file_f1min=f1minPl.su file_f2=f2Pl.su
fmute file_shot=HCorrect_Source180_rp.su file_out=p0plus.su above=-1 shift=-6 verbose=1 check=0 hw=8
$ROOT/OpenSource/marchenko/marchenko file_shot=shots/refl_rp.su file_tinv=p0plus.su nshots=601 verbose=2 \
tap=3 niter=12 hw=8 shift=12 plane_wave=1 \
file_green=pgreenPl.su file_gplus=GplusPl.su file_gmin=HGmin180.su \
file_f1plus=f1plusPl.su file_f1min=f1minPl.su file_f2=f2Pl.su
#suximage< TGmin120.su x1end=1.4 perc=99& img dTCorrect_Source120_rp.su x1end=1.4 perc=99&
#suximage< TGmin150.su x1end=1.4 perc=99& img dTCorrect_Source150_rp.su x1end=1.4 perc=99&
#suximage< TGmin180.su x1end=1.4 perc=99& img dTCorrect_Source180_rp.su x1end=1.4 perc=99&
#suximage< TGmin120.su x1end=1.4 perc=99& img dHCorrect_Source120_rp.su x1end=1.4 perc=99&
#suximage< TGmin150.su x1end=1.4 perc=99& img dHCorrect_Source150_rp.su x1end=1.4 perc=99&
#suximage< TGmin180.su x1end=1.4 perc=99& img dHCorrect_Source180_rp.su x1end=1.4 perc=99&
supsimage < TGmin120.su title="Gmin: Depth=600, angle=5" label1="t(s)" label2="x(m)" x1beg=0 x1end=1.4 clip=4e5> TGmin120.eps
supsimage < TGmin150.su title="Gmin: Depth=750, angle=5" label1="t(s)" label2="x(m)" x1beg=0 x1end=1.4 clip=4e5> TGmin150.eps
supsimage < TGmin180.su title="Gmin: Depth=900, angle=5" label1="t(s)" label2="x(m)" x1beg=0 x1end=1.4 clip=4e5> TGmin180.eps
supsimage < HGmin120.su title="Gmin: Depth=600, angle=10" label1="t(s)" label2="x(m)" x1beg=0 x1end=1.4 clip=4e5> HGmin120.eps
supsimage < HGmin150.su title="Gmin: Depth=750, angle=10" label1="t(s)" label2="x(m)" x1beg=0 x1end=1.4 clip=4e5> HGmin150.eps
supsimage < HGmin180.su title="Gmin: Depth=900, angle=10" label1="t(s)" label2="x(m)" x1beg=0 x1end=1.4 clip=4e5> HGmin180.eps
supsimage < dTCorrect_Source120_rp.su title="Input: Depth=600, angle=5" label1="t(s)" label2="x(m)" x1beg=0 x1end=1.4 clip=4e5>
T120.eps
supsimage < dTCorrect_Source150_rp.su title="Input: Depth=750, angle=5" label1="t(s)" label2="x(m)" x1beg=0 x1end=1.4 clip=4e5>
T150.eps
supsimage < dTCorrect_Source180_rp.su title="Input: Depth=900, angle=5" label1="t(s)" label2="x(m)" x1beg=0 x1end=1.4 clip=4e5>
T180.eps
supsimage < dHCorrect_Source120_rp.su title="Input: Depth=600, angle=10" label1="t(s)" label2="x(m)" x1beg=0 x1end=1.4 clip=4e5>
H120.eps
supsimage < dHCorrect_Source150_rp.su title="Input: Depth=750, angle=10" label1="t(s)" label2="x(m)" x1beg=0 x1end=1.4 clip=4e5>
H150.eps
supsimage < dHCorrect_Source180_rp.su title="Input: Depth=900, angle=10" label1="t(s)" label2="x(m)" x1beg=0 x1end=1.4 clip=4e5>
H180.eps
...@@ -92,8 +92,9 @@ int main (int argc, char **argv) ...@@ -92,8 +92,9 @@ int main (int argc, char **argv)
if(!getparint("check", &check)) check = 0; if(!getparint("check", &check)) check = 0;
if(!getparint("scale", &scale)) scale = 0; if(!getparint("scale", &scale)) scale = 0;
if(!getparint("plane_wave", &plane_wave)) plane_wave = 0; if(!getparint("plane_wave", &plane_wave)) plane_wave = 0;
if (!getparfloat("src_angle",&src_angle)) src_angle=0.; if(!getparfloat("src_angle",&src_angle)) src_angle=0.;
if (!getparfloat("src_velo",&src_velo)) src_velo=1500.; if(!getparfloat("src_velo",&src_velo)) src_velo=1500.;
if(!getparint("iter",&iter)) iter=0;
if(!getparint("hw", &hw)) hw = 15; if(!getparint("hw", &hw)) hw = 15;
if(!getparint("smooth", &smooth)) smooth = 0; if(!getparint("smooth", &smooth)) smooth = 0;
if(!getparfloat("w1", &w1)) w1=1.0; if(!getparfloat("w1", &w1)) w1=1.0;
...@@ -122,7 +123,6 @@ int main (int argc, char **argv) ...@@ -122,7 +123,6 @@ int main (int argc, char **argv)
hdrs_in1 = (segy *) calloc(nxmax,sizeof(segy)); hdrs_in1 = (segy *) calloc(nxmax,sizeof(segy));
nx1 = readData(fp_in1, tmpdata, hdrs_in1, nt1); nx1 = readData(fp_in1, tmpdata, hdrs_in1, nt1);
dxs = d2;
if (nx1 == 0) { if (nx1 == 0) {
fclose(fp_in1); fclose(fp_in1);
if (verbose) vmess("end of file_mute data reached"); if (verbose) vmess("end of file_mute data reached");
...@@ -144,6 +144,7 @@ int main (int argc, char **argv) ...@@ -144,6 +144,7 @@ int main (int argc, char **argv)
size = ntmax * nxmax; size = ntmax * nxmax;
tmpdata2 = (float *)malloc(size*sizeof(float)); tmpdata2 = (float *)malloc(size*sizeof(float));
hdrs_in2 = (segy *) calloc(nxmax,sizeof(segy)); hdrs_in2 = (segy *) calloc(nxmax,sizeof(segy));
dxs = d2b;
if (file_shot != NULL) fp_in2 = fopen(file_shot, "r"); if (file_shot != NULL) fp_in2 = fopen(file_shot, "r");
else fp_in2=stdin; else fp_in2=stdin;
...@@ -175,7 +176,14 @@ int main (int argc, char **argv) ...@@ -175,7 +176,14 @@ int main (int argc, char **argv)
sclsxgx = sclshot; sclsxgx = sclshot;
} }
if (verbose) vmess("sampling file_mute=%d, file_shot=%d", nt1, nt2); if (verbose) {
vmess("sampling file_mute=%d, file_shot=%d", nt1, nt2);
if (plane_wave==1 ) {
vmess("src_angle = %e ", src_angle);
vmess("src_velo = %e ", src_velo);
vmess("iter = %e ", iter);
}
}
/*================ initializations ================*/ /*================ initializations ================*/
...@@ -327,7 +335,6 @@ int main (int argc, char **argv) ...@@ -327,7 +335,6 @@ int main (int argc, char **argv)
/*================ apply mute window ================*/ /*================ apply mute window ================*/
if (plane_wave) { if (plane_wave) {
iter = 0;
applyMute_tshift(tmpdata2, maxval, smooth, above, 1, nx2, nt2, xrcv, nx2, shift, iter, tsynW); applyMute_tshift(tmpdata2, maxval, smooth, above, 1, nx2, nt2, xrcv, nx2, shift, iter, tsynW);
} }
else { else {
......
...@@ -366,6 +366,10 @@ int main (int argc, char **argv) ...@@ -366,6 +366,10 @@ int main (int argc, char **argv)
vmess("direction of increasing traces = %d", di); vmess("direction of increasing traces = %d", di);
vmess("number of time samples (nt,nts) = %d (%d,%d)", ntfft, nt, nts); vmess("number of time samples (nt,nts) = %d (%d,%d)", ntfft, nt, nts);
vmess("time sampling = %e ", dt); vmess("time sampling = %e ", dt);
if (plane_wave ) {
vmess("src_angle = %e ", src_angle);
vmess("src_velo = %e ", src_velo);
}
if (file_green != NULL) vmess("Green output file = %s ", file_green); if (file_green != NULL) vmess("Green output file = %s ", file_green);
if (file_gmin != NULL) vmess("Gmin output file = %s ", file_gmin); if (file_gmin != NULL) vmess("Gmin output file = %s ", file_gmin);
if (file_gplus != NULL) vmess("Gplus output file = %s ", file_gplus); if (file_gplus != NULL) vmess("Gplus output file = %s ", file_gplus);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment