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.