App-SeismicUnixGui
view release on metacpan or search on metacpan
lib/App/SeismicUnixGui/sunix/transform/suphasevel.pm view on Meta::CPAN
=head1 DOCUMENTATION
=head2 SYNOPSIS
PERL PROGRAM NAME: SUPHASEVEL - Multi-mode PHASE VELocity dispersion map computed
AUTHOR: Juan Lorenzo, Derek Goff (Perl module only)
DATE: OCT 24 2013
DESCRIPTION: A package that makes using and understanding suphasevel easier
Version:
=head2 USE
=head3 NOTES
This Program derives from suphasevel in Seismic Unix
'_note' keeps track of actions for use in graphics
'_Step' keeps track of actions for execution in the system
=head4 Examples
=head3 SEISMIC UNIX NOTES
SUPHASEVEL - Multi-mode PHASE VELocity dispersion map computed
from shot record(s)
suphasevel <infile >outfile [optional parameters]
Optional parameters:
fv=330 minimum phase velocity (m/s)
nv=100 number of phase velocities
dv=25 phase velocity step (m/s)
fmax=50 maximum frequency to process (Hz)
=0 process to nyquist
norm=0 do not normalize by amplitude spectrum
=1 normalize by amplitude spectrum
verbose=0 verbose = 1 echoes information
Notes: Offsets read from headers.
1. output is complex frequency data
2. offset header word must be set (signed offset is ok)
3. norm=1 tends to blow up aliasing and other artifacts
4. For correct suifft later, use fmax=0
5. For later processing outtrace.dt=domega
6. works for 2D or 3D shots in any offset order
Using this program:
First: use
suspecfx < shotrecord.su | suximage
to see what the maximum bandwidth is in your data. This will
give you an idea about the possible value for fmax.
Second: Plot your data or some subset of your data via:
suxwigb < shotrecord.su key=offset
You can then estimate the range of phase velocities by looking
at the maximum and minimum slopes of arrivals in your data.
This will allow you do set first velocity fv and the increment
in velocity dv, that make sense for your data.
You can pick values of offset and time by placing the cursor
on the desired location on the plot and pressing the \'s\' key
The picks will appear in your terminal window.
When displaying, don't forget to use suamp to compute the
modulus of the complex values that this program puts out.
suphasevel < shotrecord.su [parameters] | suamp | suximage
Credits:
UHouston: Chris Liner June2008 (cloned from suspecfk)
This code implements the following integral transform
_
/
u(w,v) = / k(w,x,v) u(w,x) dx
_/
where
u(w,v) is the phase velocity dispersion image
k(w,x,v) is the transform kernel.... exp(-i w x / v)
u(w,x) = FT[u(t,x)] is the input shot record(s)
_/
Reference: Park, Miller, and Xia (1998, SEG Abstracts)
Trace header fields accessed: dt, offset, ns
Trace header fields modified: nx,dt,trid,d1,f1,d2,f2,tracl
Before this can be run, the trace offset must be set
This is done by using the command 'sushw' to adjust
# the headers
=head2 User's notes
In the following case where shotpoint lies inthe middle of the data set
Change from:
sx=100
offset= -100 to 99
Change to
gx=-100 to 99
sx=0
offset=-100 to 99
=head2 CHANGES and their DATES
=cut
use Moose;
our $VERSION = '0.0.1';
use aliased 'App::SeismicUnixGui::misc::L_SU_global_constants';
my $get = L_SU_global_constants->new();
my $var = $get->var();
my $empty_string = $var->{_empty_string};
my $suphasevel = {
_dv => '',
( run in 0.619 second using v1.01-cache-2.11-cpan-39bf76dae61 )