App-SeismicUnixGui
view release on metacpan or search on metacpan
lib/App/SeismicUnixGui/sunix/NMO_Vel_Stk/sunmo.pm view on Meta::CPAN
package App::SeismicUnixGui::sunix::NMO_Vel_Stk::sunmo;
=head1 DOCUMENTATION
=head2 SYNOPSIS
PROGRAM NAME: sunmo
AUTHOR: Juan Lorenzo (Perl module only)
DATE: Dec 1 2013
DESCRIPTION:
Version: 0.0.1
0.0.2 July 15, 2015 (JML)
0.0.3 Jan 14, 2020 (DLL)
0.0.4 Feb 06, 2020 (DLL)
=head2 USE
=head3 NOTES
=head4
Examples
=head3 SEISMIC UNIX NOTES
SUNMO - NMO for an arbitrary velocity function of time and CDP
sunmo <stdin >stdout [optional parameters]
Optional Parameters:
tnmo=0,... NMO times corresponding to velocities in vnmo
vnmo=1500,... NMO velocities corresponding to times in tnmo
cdp= CDPs for which vnmo & tnmo are specified (see Notes)
smute=1.5 samples with NMO stretch exceeding smute are zeroed
lmute=25 length (in samples) of linear ramp for stretch mute
sscale=1 =1 to divide output samples by NMO stretch factor
invert=0 =1 to perform (approximate) inverse NMO
upward=0 =1 to scan upward to find first sample to kill
voutfile= if set, interplolated velocity function v[cdp][t] is
output to named file.
Notes:
For constant-velocity NMO, specify only one vnmo=constant and omit tnmo.
NMO interpolation error is less than 1 percent for frequencies less than
60 percent of the Nyquist frequency.
Exact inverse NMO is impossible, particularly for early times at large
offsets and for frequencies near Nyquist with large interpolation errors.
The "offset" header field must be set.
Use suazimuth to set offset header field when sx,sy,gx,gy are all
nonzero.
For NMO with a velocity function of time only, specify the arrays
vnmo=v1,v2,... tnmo=t1,t2,...
where v1 is the velocity at time t1, v2 is the velocity at time t2, ...
The times specified in the tnmo array must be monotonically increasing.
Linear interpolation and constant extrapolation of the specified velocities
is used to compute the velocities at times not specified.
The same holds for the anisotropy coefficients as a function of time only.
For NMO with a velocity function of time and CDP, specify the array
cdp=cdp1,cdp2,...
and, for each CDP specified, specify the vnmo and tnmo arrays as described
above. The first (vnmo,tnmo) pair corresponds to the first cdp, and so on.
Linear interpolation and constant extrapolation of 1/velocity^2 is used
to compute velocities at CDPs not specified.
The format of the output interpolated velocity file is unformatted C floats
with vout[cdp][t], with time as the fast dimension and may be used as an
input velocity file for further processing.
Note that this version of sunmo does not attempt to deal with anisotropy.
The version of sunmo with experimental anisotropy support is "sunmo_a
Credits:
SEP: Shuki Ronen, Chuck Sword
CWP: Shuki Ronen, Jack, Dave Hale, Bjoern Rommel
Modified: 08/08/98 - Carlos E. Theodoro - option for lateral offset
Modified: 07/11/02 - Sang-yong Suh -
added "upward" option to handle decreasing velocity function.
CWP: Sept 2010: John Stockwell
1. replaced Carlos Theodoro's fix
2. added the instruction in the selfdoc to use suazimuth to set
offset so that it accounts for lateral offset.
3. removed Bjoren Rommel's anisotropy stuff. sunmo_a is the
version with the anisotropy parameters left in.
4. note that scalel does not scale the offset field in
the segy standard.
Technical Reference:
The Common Depth Point Stack
William A. Schneider
Proc. IEEE, v. 72, n. 10, p. 1238-1254
1984
Trace header fields accessed: ns, dt, delrt, offset, cdp, scalel
=head4 CHANGES and their DATES
Juan Lorenzo July 15 2015
introduced "par" subroutine
V0.0.3 Jan 14 2020 automatic use of scalel
( run in 2.780 seconds using v1.01-cache-2.11-cpan-75ffa21a3d4 )