App-SeismicUnixGui

 view release on metacpan or  search on metacpan

lib/App/SeismicUnixGui/sunix/inversion/suinvco3d.pm  view on Meta::CPAN

 dyv=50.0		y sampling interval of velocity				

 fyv=0.0		first y sample of velocity				

 dzv=50.0		z sampling interval of velocity				

 fzv=0.0		first z sample of velocity				

 nxb=nx/2		band centered at midpoints (see note)			

 fxo=0.0		x-coordinate of first output trace 			

 dxo=15.0		horizontal spacing of output trace 			

 nxo=101		number of output traces 				",	

 fyo=0.0		y-coordinate of first output trace			

 dyo=15.0		y-coordinate spacing of output trace			

 nyo=101		number of output traces in y-direction			

 fzo=0.0		z-coordinate of first point in output trace 		

 dzo=15.0		vertical spacing of output trace 			

 nzo=101		number of points in output trace			",	

 dxt=100.0		x-coordinate spacing of input tables(traveltime, etc)	

 dyt=100.0		y-coordinate spacing of input tables(traveltime, etc)	

 dzt=100.0		z-coordinate spacing of input tables(traveltime, etc)	

 xt0=0.0		x-coordinate of first input tables			

 xt1=0.0		x-coordinate of last input tables			

 yt0=0.0		y-coordinate of first input tables		 	

 yt1=0.0		y-coordinate of last input tables			

 fmax=0.25/dt		Maximum frequency set for operator antialiasing		

 ang=180		Maximum dip angle allowed in the image			

 apet=45		aperture open angle for summation			

 alias=0		=1 to set the anti-aliasing filter			

 verbose=1		=1 to print some useful information			



 Notes:									



 The information needed in the computation of the weighting factor		

 in Kirchhoff inversion formula includes traveltime, amplitude, 		

 and Beylkin determinant at each grid point for each source/receiver		

 point. For a 3-D nonzero common-offset inversion, the Beylkin			

 determinant is computed from a 3x3 matrix with each element 			

 containing a sum of quantities from the source and the receiver.		

 The nine elements in the Beylkin matrix for each source/receiver		

 can be determined by eight quantities. These quantities can be		

 computed by the dynamic ray tracer. Tables of traveltime, amplitude,		

 and Beylkin matrix elements from each source and receiver are			

 pre-computed and stored in files.						



 For each trace, tables of traveltime, amplitude and Beylkin matrix		

 at the source and receiver location are input or interpolated from		

 neighboring tables. For the computation of weighting factor, linear		

 interpolation is used to determine the weighting factor at each		

 output grid point, and weighted diffraction summation is then 		

 applied. For each midpoint, the traveltimes and weight factors are		

 calculated in the horizontal range of (xm-nxb*dx-z*tan(apet),			

 xm+nxb*dx+z*tan(apet)).							



 Offsets are signed - may be positive or negative. 				", 







 This algorithm is based on the inversion formulas in chaper 5 of

 _Mathematics of Multimensional Seismic Migration, Imaging and Inversion_ 

 (Springer-Verlag, 2000), by Bleistein, N., Cohen, J.K.

 and Stockwell, Jr., J. W.



=head2 User's notes (Juan Lorenzo)
untested

=cut


=head2 CHANGES and their DATES

=cut

use Moose;
our $VERSION = '0.0.1';


=head2 Import packages

=cut

use aliased 'App::SeismicUnixGui::misc::L_SU_global_constants';

use App::SeismicUnixGui::misc::SeismicUnix qw($go $in $off $on $out $ps $to $suffix_ascii $suffix_bin $suffix_ps $suffix_segy $suffix_su);
use aliased 'App::SeismicUnixGui::configs::big_streams::Project_config';


=head2 instantiation of packages

=cut

my $get					= L_SU_global_constants->new();
my $Project				= Project_config->new();
my $DATA_SEISMIC_SU		= $Project->DATA_SEISMIC_SU();
my $DATA_SEISMIC_BIN	= $Project->DATA_SEISMIC_BIN();
my $DATA_SEISMIC_TXT	= $Project->DATA_SEISMIC_TXT();

my $PS_SEISMIC      	= $Project->PS_SEISMIC();

my $var				= $get->var();
my $on				= $var->{_on};
my $off				= $var->{_off};
my $true			= $var->{_true};
my $false			= $var->{_false};
my $empty_string	= $var->{_empty_string};

=head2 Encapsulated
hash of private variables

=cut

my $suinvco3d			= {
	_a1file					=> '',
	_alias					=> '',



( run in 0.714 second using v1.01-cache-2.11-cpan-39bf76dae61 )