DOCUMENTATION

SYNOPSIS

 PERL PERL PROGRAM NAME: files_LSU
 AUTHOR: 	Juan Lorenzo
 DATE: 		May 6 2018

 DESCRIPTION 
     

 BASED ON:
 Version 0.0.2 May 6 2018   
 changed _private_* to _*
      
	V 0.0.3 July 24 2018 include data_in, exclude data_out
	V 0.0.4 7.14.21 sets the flow color

USE

NOTES

Examples

CHANGES and their DATES

sub _close

_get_superflow_config_file_format_aref

sub _get_prog_name_config

 needs $L_SU->{_prog_name_sref}

sub _get_PL_SEISMIC

_open2write

suffix_type_set_suffix_suffix_type TODO: suffix_type out may not be always type=$su in the case that the program in the list starts with $su At that point it will be necessary to investigate the program_spec.pm module suffix_type sub _set_suffix_type_out { my ($type) = @_; _set_datas files_les_LSU->{_suffix_type_out} = $suffix_types_LSU->{_is_suffix_type} = $true;

return();
}

sub _set_PL_SEISMIC

_set_data_direction_in

_set_data_direction_out

sub _set_data

sub _set_data_out

sub _set_prog_name_config

 needs $L_SU->{_prog_name_sref}

sub _set_prog_names_aref

sub _set_prog_version_aref

sub _set_outbound2pl

print("files_LSU,_set_outbound2pl,program_name $files_LSU->{_program_name}\n");
print("files_LSU,_set_outbound2pl,program_name_config $files_LSU->{_program_name_config}\n");

_set_suffix_type_in

_set_suffix_type_out

sub check2write

files_LSU,check2write for pre-built or superflows except Project.config, which uses sub write2

sub copy_default_config

files_LSU,copy_default_config for pre-built/superflows/Tools (except Project.config, uses sub write2)

sub outbound

needs prog_name_sref and is_Project_config or or _is_config

Why use App::SeismicUnixGui::misc::name module?; To modify input names-- adapt them to infer which spec and parameter files to read

Program names in GUI
and configuration file names
in the local (!!) directory
may be different.

sub outbound2

needs prog_name_sref
      is_Project_config or _is_config
      TODO: make exclusive for cases that are NOT Project_config

sub set_PL_SEISMIC

set_Project_config turn file type definitions on and off

set_config

set_superflow_config_file_format

set_data

detects and attempts to rectify program order error
$oop_text->set_bin_out();
Expects suprograms that start with "su" or "uni"

sub set_flow_color

set_message

relay messages via the main message widget in GUI

set2pl

saved files are local perl flows

sub set_outbound

print("files_LSU,set_outbound,program_name $files_LSU->{_program_name}\n"); print("files_LSU,set_outbound,program_name_config $files_LSU->{_program_name_config}\n");

sub set_outbound2

sub set_items_versions_aref

sub set_prog_param_values_aref2

sub set_prog_param_labels_aref2

	my $num_progs4flow = scalar @{$files_LSU->{_prog_param_labels_aref2}};
         	print("\nfiles_LSU,set_prog_param_labels_aref2, num_progs4flow: $num_progs4flow\n");
				for (my $i=0; $i < $num_progs4flow; $i++ ) {
				print("files_LSU,set_prog_param_labels_aref2,
				@{@{$files_LSU->{_prog_param_labels_aref2}}[$i]}\n");
					}

	my $num_progs4flow = scalar @{$files_LSU->{_prog_param_values_aref2}};
         	print("\nfiles_LSU,set_prog_param_values_aref2, num_progs4flow: $num_progs4flow\n");
				for (my $i=0; $i < $num_progs4flow; $i++ ) {
				print("files_LSU,set_prog_param_values_aref2,
				@{@{$files_LSU->{_prog_param_values_aref2}}[$i]}\n");
}
					

sub set_prog_names_aref

sub set_prog_names_aref

sub set_superflow_specs

Output parameters for superflows
A Tool is a superflow
i/p $hash_ref to obtain entry labels and
values and parameters from widgets to build @CFG 

DB print("prog name $program_name\n"); print(" save_button,save,configure,write_LSU,tool_specs $files_LSU->{_program_name_config}\n"); print("save,superflow,write_LSU, key/value pairs:$CFG[$i], $CFG[$j]\n"); #use Config::Simple; #my $cfg = Config::Simple(syntax=>'ini'); #$cfg->write($files_LSU->{_program_name_config}); # print "@CFGpa\n"; #$cfg->ram($CFG[$i] ,$CFG[$j]); #print "@CFG\n"; # print("write_LSU,tool_specs \nprog_name:${$files_LSU->{_program_name}}\n"); # print("\n prog_name_config: $files_LSU->{_program_name_config}\n"); # print(" labels: @{$hash_ref->{_ref_labels}}\n"); # print(" values: @{$hash_ref->{_ref_values}}\n");

# no. of variables comes from specs file directly
$length = scalar @{$hash_ref->{_ref_labels}};-- old version

sub sizes

sub _write

Write out configuration files to script

sub write

all files if outbound includes the existing
file path as well

sub write2

used for dealing with ONLY Project.config

sub write_config

sub save

	write out user-built *.pl flow files

	for (my $i=0, my $j=0;  $i<$length; $i++, $j=$j+2){
    	printf  $OUT "                                                        \n",$CFG[$j],"= ",$CFG[($j+1)];
    }