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 )