App-SeismicUnixGui

 view release on metacpan or  search on metacpan

lib/App/SeismicUnixGui/doc/FAQ_SeismicUnixGui  view on Meta::CPAN

      run sudoc2pm_updates.pl
      
      Confirm that the max_index value in *_spec.pm file is OK and format
      Confirm that the max_index value in *.pm file is OK and format
      Confirm that the program appears under the  menus within L_SU gui

Q: (NOW DEPRECATED and AUTOMATED-- See immediately above) 
How do we add another seismic unix module or seismic unix program to L_SU?
10.06.21 This method is deprecated by using sudoc2pm.pl and sudoc2pm_update.pl
What follows below has been automated largely.

=head2 Instructions

=cut 

=head3  In order to create an su module, from this directory,

 you will need access to the self-instructions of the
 seismic unix module, which I find in:
  /usr/local/cwp_su_all_48/src/doc/Stripped

 1. modify the following:

  sudoc2pm.pl

  by adding a line, such as the following:
 	$file_in[0] 				= 'xgraph.Xtcwp.main';

 2. run the following:

  perl sudoc2pm.pl ( under ~L_SU)

=cut

1. modify the following file: sudoc2pm.pl  
		Add the name of a file and its path, that conatain the help instructions 
		e.g., $file_in[0] 			= 'supef.su.main.decon_shaping';
		
1. Run sudoc2pm.pl
2. Check that sunix notes match the new variables in supef.pm
3. Introduce new variable names at this moment
4. Check supef.config
5. Check supef_spec.pm
6. check supef.pm
7. Move items in 4,5,6 to ~/big_streams/config ~/specs and ~/sunix/ respectively
8. add an appropriate new line in: L_SU_global_constants.pm

For example,

  # for seismic unix program options
  my @names = ("data_in", 
            "data_out", 
            "suximage", 
            "suxgraph", 
            "suxwigb",
            "sugain",
            "suwind",
            "supef",
            );
            
9. verify by adding to flow in L_SU

10. when the new module has an internal call for a data set, modify the *_spec.pm file

e.g., for segyread_spec.pm

sub binding_index_aref {

	my $self 	= @_;

	my @index;

	$index[0]	= 8;

	$segyread_spec ->{_binding_index_aref} = \@index;
	return();

 }


sub file_dialog_type_aref {

	my $self 	= @_;

	my @type;

	$type[0]	= $file_dialog_type->{_Data};

	$segyread_spec ->{_file_dialog_type_aref} = \@type;
	return();

 }
 
 11. also modify segyread_.pm by adding a Data Path explicitly
 involving a couple of steps:
 e.g. 	
 	include this call to a library near the start (line 174)  of the program
 	use App::SeismicUnixGui::configs::big_streams::Project_config;   AND
 	
 	my $Project				= Project_config->new();
 	
 	modify a subroutine called file or tape:
 		
 		use App::SeismicUnixGui::misc::SeismicUnix qw($suffix_segy);
		use File::Basename;
		my ($DATA_SEISMIC_SEGY) = $Project->DATA_SEISMIC_SEGY();
		my $new_file_name = $file;
	
		# deprecated on 10.06.21
		# force correct suffix
	    $new_file_name = basename($file).$suffix_segy;
	    # print("1. segyread,file, new_file_name= $new_file_name\n");

		$segyread->{_tape}		= $DATA_SEISMIC_SEGY.'/'.$new_file_name;
		
		$segyread->{_note}		= $segyread->{_note}.' tape='.$segyread->{_tape};
		$segyread->{_Step}		= $segyread->{_Step}.' tape='.$segyread->{_tape};
 	
 
 Q. How do I add a unix program with switches to the module, e.g., evince
 



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