DOCUMENTATION
SYNOPSIS
PROGRAM NAME: update.pm
AUTHOR: Juan Lorenzo
DATE: September 4 2021 V 0.1
DESCRIPTION: minor changes to
program_config.pm
program_spec.pm
and program.pm files
USE
NOTES
Examples
NOTES
Program group array and the directory names:
$developer_sunix_categories[0] = 'data'; $developer_sunix_categories[1] = 'datum'; $developer_sunix_categories[2] = 'plot'; $developer_sunix_categories[3] = 'filter'; $developer_sunix_categories[4] = 'header'; $developer_sunix_categories[5] = 'inversion'; $developer_sunix_categories[6] = 'migration'; $developer_sunix_categories[7] = 'model'; $developer_sunix_categories[8] = 'NMO_Vel_Stk'; $developer_sunix_categories[9] = 'par'; $developer_sunix_categories[10] = 'picks'; $developer_sunix_categories[11] = 'shapeNcut'; $developer_sunix_categories[12] = 'shell'; $developer_sunix_categories[13] = 'statsMath'; $developer_sunix_categories[14] = 'transform'; $developer_sunix_categories[15] = 'well'; $developer_sunix_categories[16] = '';
QUESTION 1:
Which group number do you want to use to update
for *.pm, *.config, and *_spec.pm files ?
e.g., for transforms use: $group_number = 15
QUESTION 2: Which program do you want to work on?
For example= 'sugetgthr'; 'sugain'; 'suputgthr'; 'suifft'; 'sufctanismod' 'vel2stiff 'unif2aniso' 'transp' 'suflip'
my $program_name = 'suhistogram';
CHANGES and their DATES Feb. 2022 V0.2 read a file with spec-file modifications: label_number numbers and suffix_types
private hash
Import packages
clean memory private hash
sub _get_spec_changes
label_number values, directory types suffix types
instantiation of packages
variables
sub set_program
QUESTIONS: Which group number do you want ? What program do you want?
sub set_spec_changes
label_number values, directory types suffix types
define
search lines
import
from program_spec_changes.txt file
Q. What range of lines remain to change in the spec file?
Step A: Start by reading in package file (
"program"_spec.pm)
STEP B: Follow by finding the following
ranges of lines:
3)There are lines for prefixes
4)There are lines for suffixes
1)There are lines where there are interactive label_numbers
2) There are lines for data types
my $line_range4data_type = my $line_range4prefix = my $line_range4suffix = my $line_range4index =
my change4data_standard = my change4prefix_standard = my change4suffix_standard =
my $additional_data_change = my $additional_prefix_change = my $additional_suffix_change =
sub set_spec_changes_base_file_name
file name where the following changes can be found: label_number values directory types suffix types
private values
path definitions
QUESTION 1:
What max_index value do you want to insert? 1. Read number of lines in the program_config.pm file
slurp config file to get the line number where "max_index" line" is found
name definitions for locating lines, word replacements, and "max_index" substitution
Updating spec_files
Read in package file ( "program"_spec.pm)
Updating sunix.pm files
Read in package file ( "program".pm)
update L_SU_global_constants
Read in file ( L_SU_global_constants.pm )
Read in
label_number values, directory types suffix types
Reading in package file ( "program"_spec.pm)
include additional lines that will allow user to interactively click on the gui and open the appropraate directory in which to find a file. These parameters are written into the program_spec.pm file
In case new lines are added, keep track of these lines.
add to
suffix_aref lines in *_spec.pm file
save latter portion for addendum
to suffix_aref
overwrite or add new lines
to suffix_aref
Add saved text lines
to suffix_aref if we have more than 3 input/output interactions
Add lines to
prefix_aref lines in *_spec.pm file Intentionally start from the end of the *.spec file
save latter portion for addendum
to prefix_aref
If suffix does not have more than 3 entries the line_bump_* = 0
Add saved text lines
to prefix_aref if we have more than 3 input/output interactions
add to
sub file_dialog_type_aref lines in *_spec.pm file
Add lines to
file_dialog_type_aref lines in *_spec.pm file Intentionally start from the end of the *.spec file
save latter portion for addendum
to file_dialog_type_aref
If file_dialog_type does not have more than 3 entries the line_bump_* = 0
Add saved text lines
to file_dialog_type_aref if we have more than 3 input/output interactions
add to
sub binding_index_aref lines in *_spec.pm file
Add lines to
binding_index_aref lines in *_spec.pm file Intentionally start from the end of the *.spec file
save latter portion for addendum
to binding_index_aref
If file_dialog_type does not have more than 3 entries the line_bump_* = 0
Add saved text lines
to binding_index_aref if we have more than 4 input/output interactions
write out
updated spec file
2 POD Errors
The following errors were encountered while parsing the POD:
- Around line 175:
Unknown directive: =head21
- Around line 694:
=cut found outside a pod block. Skipping to next block.