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 )