diff --git a/Makefile b/Makefile index ebce8175a55a82205d6f42cbfefad78c3c684530..209ae99238d9182765b9d1f670ba5d9ee330ba72 100644 --- a/Makefile +++ b/Makefile @@ -3,8 +3,10 @@ all: mkdirs cd FFTlib ; $(MAKE) cd fdelmodc ; $(MAKE) install + cd fdelmodc3D ; $(MAKE) install cd utils ; $(MAKE) install cd marchenko ; $(MAKE) install + cd marchenko3D ; $(MAKE) install cd corrvir ; $(MAKE) install cd raytime ; $(MAKE) install cd MDD ; $(MAKE) install @@ -17,8 +19,10 @@ mkdirs: clean: cd FFTlib ; $(MAKE) $@ cd fdelmodc ; $(MAKE) $@ + cd fdelmodc3D ; $(MAKE) $@ cd utils ; $(MAKE) $@ cd marchenko ; $(MAKE) $@ + cd marchenko3D ; $(MAKE) $@ cd corrvir ; $(MAKE) $@ cd raytime ; $(MAKE) $@ cd MDD ; $(MAKE) $@ @@ -26,8 +30,10 @@ clean: realclean: cd FFTlib ; $(MAKE) $@ cd fdelmodc ; $(MAKE) $@ + cd fdelmodc3D ; $(MAKE) $@ cd utils ; $(MAKE) $@ cd marchenko ; $(MAKE) $@ + cd marchenko3D ; $(MAKE) $@ cd corrvir ; $(MAKE) $@ cd raytime ; $(MAKE) $@ cd MDD ; $(MAKE) $@ diff --git a/fdelmodc3D/fdelmodc3D b/fdelmodc3D/fdelmodc3D index 7fd32fbba9bd29bbbedf15be688a851a8c6c8fee..cdfa636fc5c87c6ed8961e34db637db53fb08adb 100755 Binary files a/fdelmodc3D/fdelmodc3D and b/fdelmodc3D/fdelmodc3D differ diff --git a/marchenko/demo/WS15/README.5 b/marchenko/demo/WS15/README.5 new file mode 100644 index 0000000000000000000000000000000000000000..cec5287d390ef6817ebc5dc5c5cd75920c86cd48 --- /dev/null +++ b/marchenko/demo/WS15/README.5 @@ -0,0 +1,19 @@ +To generate the raytimes and the estimated amplitudes for the virtual source and receivers, run: + +rayvsp.scr + +After the raytimes have been determined you can create the source function of the homogeneous Green's function by running: + +marchenko_ray.scr + +A reference Green's function can be modeled by running + +homg_reference.scr + +To view the retrieved and reference Green's function, run: + +homgview.scr + +Or to convert the data to eps and png, run: + +homgpng.scr diff --git a/marchenko/demo/twoD/homg_reference.scr b/marchenko/demo/twoD/homg_reference.scr new file mode 100755 index 0000000000000000000000000000000000000000..6c00a6c9954680bf908518e615f724e65dcb916d --- /dev/null +++ b/marchenko/demo/twoD/homg_reference.scr @@ -0,0 +1,43 @@ +#!/bin/bash + +export PATH=$HOME/src/OpenSource/bin:$PATH: + +dx=2.5 +dt=0.0005 + +makewave fp=20 dt=$dt file_out=wave.su nt=4096 t0=0.1 scale=1 + + +export KMP_AFFINITY=disabled +export OMP_NUM_THREADS=16 + + + +fdelmodc \ + file_cp=syncl_cp.su ischeme=1 iorder=4 \ + file_den=syncl_ro.su \ + file_src=wave.su \ + file_rcv=homg_ref.su \ + src_type=1 \ + src_orient=1 \ + src_injectionrate=1 \ + rec_type_vz=0 \ + rec_type_p=1 \ + rec_int_vz=2 \ + rec_delay=0.1 \ + dtrcv=0.004 \ + verbose=2 \ + tmod=2.2 \ + dxrcv=10.0 \ + xrcv1=-3000 xrcv2=3000 \ + zrcv1=0 zrcv2=0 \ + xsrc=0 zsrc=1000 \ + file_snap=homg_ref.su \ + xsnap1=0 xsnap2=0 dxsnap=10 \ + zsnap1=100 zsnap2=1900 dzsnap=10 \ + tsnap=0.1 tsnap2=2.148 dtsnap=0.004 \ + ntaper=200 npml=100 \ + left=2 right=2 top=2 bottom=2 + +sushw < homg_ref_sp.su key=ntr a=0 > tmp.su +mv tmp.su homg_ref_sp.su diff --git a/marchenko/demo/twoD/homgpng.scr b/marchenko/demo/twoD/homgpng.scr new file mode 100755 index 0000000000000000000000000000000000000000..dfd55d07e3021830ef73b8083acb56445ac37ff8 --- /dev/null +++ b/marchenko/demo/twoD/homgpng.scr @@ -0,0 +1,6 @@ +#!/bin/bash -x + +suwind < homg_rayz.su key=fldr min=513 | supsimage title='Retrieved' perc=99 > homg_retrieved.eps +/usr/bin/convert -quality 90 -antialias homg_retrieved.eps homg_retrieved.png +supsimage < homg_ref_sp.su title='Reference' perc=99 > homg_reference.eps +/usr/bin/convert -quality 90 -antialias homg_reference.eps homg_reference.png diff --git a/marchenko/demo/twoD/homgview.scr b/marchenko/demo/twoD/homgview.scr new file mode 100755 index 0000000000000000000000000000000000000000..d5efb5982a5fb8782492d28074942388454705db --- /dev/null +++ b/marchenko/demo/twoD/homgview.scr @@ -0,0 +1,4 @@ +#!/bin/bash -x + +suwind < homg_rayz.su key=fldr min=513 | suximage title='Retrieved' perc=99 & +suximage < homg_ref_sp.su title='Reference' perc=99 & diff --git a/marchenko/demo/twoD/marchenko_ray.scr b/marchenko/demo/twoD/marchenko_ray.scr new file mode 100755 index 0000000000000000000000000000000000000000..ad12049c69250e60e813f0a1d04d0ff78b5b7c38 --- /dev/null +++ b/marchenko/demo/twoD/marchenko_ray.scr @@ -0,0 +1,22 @@ +#!/bin/bash -x + +export PATH=$HOME/src/OpenSource/bin:$PATH: + +makewave w=fw fmin=0 flef=5 frig=80 fmax=100 nt=1024 dt=0.004 t0=0.0 scale=0 scfft=1 file_out=wavesrc.su +makewave w=g2 fp=25 nt=1024 dt=0.004 t0=0.0 scale=1 scfft=0 file_out=wavefp.su + +export OMP_NUM_THREADS=40 + +#apply the Marchenko algorithm +marchenko3D file_shot=shots/refl_rp.su verbose=1 \ + tap=0 niter=6 hw=8 shift=7 smooth=3 geomspread=1 ampest=1 \ + file_ray=raysrc_time.su file_amp=raysrc_amp.su file_wav=wavesrc.su \ + file_green=greensrc.su + +marchenko3D file_shot=shots/refl_rp.su verbose=1 file_inp=greensrc.su \ + tap=0 niter=6 hw=8 shift=7 smooth=3 geomspread=1 ampest=1 \ + file_ray=rayz_time.su file_amp=rayz_amp.su file_wav=wavefp.su \ + file_homg=homg_rayz.su file_green=green_rayz.su + +sushw < homg_rayz.su key=ntr a=0 > tmp.su +mv tmp.su homg_rayz.su diff --git a/marchenko/demo/twoD/rayvsp.scr b/marchenko/demo/twoD/rayvsp.scr new file mode 100755 index 0000000000000000000000000000000000000000..f822d5fec0f8d710ee579be5920ccb38808db089 --- /dev/null +++ b/marchenko/demo/twoD/rayvsp.scr @@ -0,0 +1,13 @@ +#!/bin/bash + +export PATH=$HOME/src/OpenSource/bin:$PATH: + +Raytime \ + verbose=1 useT2=1 geomspread=1 file_rcv=raysrc.su \ + zsrc=1000 xrcv1=-3000 xrcv2=3000 dxrcv=10 file_cp=syncl_cp.su zrcv1=0 zrcv2=0 \ + xsrc=0 nxshot=1 nzshot=1 dxshot=10 dzshot=10 nraystep=25 method=fd + +Raytime \ + verbose=1 useT2=1 geomspread=1 file_rcv=rayz.su \ + zsrc=100 xrcv1=-3000 xrcv2=3000 dxrcv=10 file_cp=syncl_cp.su zrcv1=0 zrcv2=0 \ + xsrc=0 nxshot=1 nzshot=181 dxshot=10 dzshot=10 nraystep=25 method=fd