-
-
Notifications
You must be signed in to change notification settings - Fork 0
user
Zero offset CRS parameter inversion of RN, RNIP, BETA with Very Fast Simulated Aneeling (VFSA) Global Optimization. This program uses the Non-Hyperbolic CRS approximation to fit data cube and get the parameters (Fomel, 2013).
sfvfsacrsnh < in.rsf > out.rsf om0=0.0 dm0=0.1 nm0=1 v0=1.5 ot0=0.0 dt0=0.1 nt0=1 c0=0.5 temp0=10 repeat=1 verb=0
The program receives a seismic data cube organized in the following coordinates: n1 is the time, n2 is the offset, n3 is the CMP. There is an example of a seismic data cube accepted by this program bellow.
sfin <dataCube.rsf
in:
in="/home/dirack/rsfdata/doc/usage/fullParametersOptimization/dataCube.rsf@"
esize=4 type=float form=native
n1=1001 d1=0.004 o1=0 label1="Time" unit1="s"
n2=161 d2=0.0125 o2=0 label2="Offset" unit2="Km"
n3=401 d3=0.025 o3=0 label3="CMP" unit3="Km"
64625561 elements 258502244 bytes
The output of the program is a parameters file organized in: n1 is the 8 parameters (RN, RNIP, BETA, Semblance, C0, Temp0, t0, m0, respectively) and n2 is the parameters index for each (t0, m0) pair in the order and sampling determined by parameters om0, dm0, nm0 and ot0, dt0, nt0 passed through command line.
There is an example of parameters file bellow generated using om0=3, dm0=1, nm0=3, ot0=1.1, dt0=0.1, nt0=2, ot0=1.1:
<crsParameters.rsf sfin
in:
in="/home/dirack/rsfdata/doc/usage/fullParametersOptimization/crsParameters.rsf@"
esize=4 type=float form=native
n1=8 d1=1 o1=0 label1="parameters" unit1="RN, RNIP, BETA, Semblance, C0, Temp0, t0, m0"
n2=6 d2=1 o2=0 label2="(t0,m0)" unit2="index"
n3=1 d3=1 o3=0 label3="" unit3=""
48 elements 192 byte
So, it will be 6 (t0, m0) pairs organized by index 0 to 5 in the n2 axis (because nt0 x nm0 = 6). These pairs are: (1.1,3), (1.2,3), (1.1,4), (1.2,4), (1.1,5) and (1.2,5) as determined by the command line parameters above.
The v0 parameter is the near surface velocity of the model (used in CRS method) and input parameters temp0 (VFSA initial temperature) and C0 (VFSA damping factor) are control parameters to tune the VFSA algorithm for specific problems chosen arbitrarily. The repeat parameter is used to run VFSA more than once and to get the best parameters value from those attempts and verb is the verbose parameter.
The following is an example of calling sfvfsacrsnh in a SConstruct:
# Very Fast Simulated Aneelling Global Optimization (VFSA)
Flow('crsParameters','dataCube',
'''
vfsacrsnh om0=%g dm0=%g nm0=%d ot0=%g dt0=%g nt0=%d v0=%g verb=y repeat=%d
''' % (om0,dm0,nm0,ot0,dt0,nt0,v0,repeat))
For more details, please check out our usage examples.
Build Non-Hyperbolic CRS approximation surface for RN, RNIP and BETA parameters given.
sfnhcrssurf < in.rsf param=par.rsf > out.rsf m0=0 v0=1.5 t0=1.5 verb=0
This program receives a surface template and generates the output with the same dimensions. The param file is the parameters file generated with sfvfsacrsnh. The output is the non-hyperbolic CRS surface centered in (m0,t0) for a near surface model equal to v0. There is an example bellow of how to call this program in a SConstruct:
Flow('crsAppSurface',['dataReflectionSurface','crsParameters'],
'''
nhcrssurf param=${SOURCES[1]} m0=%g v0=%g t0=%g verb=y
''' % (m0,v0,t0))
For more details, please check out our usage examples.
Rodolfo Dirack - @dirack – rodolfo_profissional@hotmail.com
All rights reserved - Distributed above GPL3 license. See LICENSE
to more information.