DOCUMENTATION

SYNOPSIS

PROGRAM NAME: iSpectralAnalysis.pm
Purpose: Simple viewing of an su file 
         extract waveforms an analysze in the spectral domain  
AUTHOR:  Juan M. Lorenzo
DEPENDS: Seismic Unix modules from CSM 
DATE:    Aigust 1 2016 V1.
DESCRIPTION:  based upon non-oop Xtract.pl  

NOTES

We are using Moose 
Moose already declares that you need debuggers turned on
so you don't need a line like the following:

use warnings;

USES

(for subroutines) 
    System_Variables (for subroutines)

    (for variable definitions)
    SeismicUnix (Seismic Unix modules)

STEPS IN THE PROGRAM

REQUIRES

 /usr/local/pl/iSpectralAnalysis.pl to bring configuration values (TODO)
configuration file is local (~/iSpectralAnalysis.config)

USED by

/usr/local/pl/iSA (Tk control) to interact with user (TODO)

1. Instantiate classes 
     Create a new version of the package
     Personalize to give it a new name if you wish

   Use classes:
   flow
   log
   message
   readfiles 
   su_xtract_waveform
   su_select_waveform
   su_spectral_analysis
   

3. Declare local variables 

Get configuration information

Declare

file names 

sub SELECT

waveform

Set

filtering parameters 

View waveform in suxwimage

then pick in suxwigb   

DEFINE FLOW(S)

RUN FLOW(S)
flow 3 should not run until flow 
is completed

LOG FLOW(S)TO SCREEN AND FILE

sub xtract

waveform to a file and QC the waveform
flow 3 saves a copy of the file to disk

Prepare

to Extract waveform

LOG FLOW(S)

TO SCREEN AND FILE

Spectral Analysis of Waveform

do not start flow 4 until 
flow 3 is complete

flow 4 plots the extracted waveform 
flow 5 plots the frequency analysis
flow 6 plots the phase analysis 

We placed a cmd line
prompt that requires user to press
return on keyboard.

Prepare

to Analyze extracted waveform

LOG FLOW(S)

TO SCREEN AND FILE