#! /bin/csh -f
#
# This script is a part of USP - the UNIX Seismic Processing system.
# Unauthorized modifications are NOT allowed. Contact Joe Wade, Paul
# Garossino, or Paul Gutowski for change requests.
#
# give command line help if requested
if ( $#argv < 1 ) then
	echo " "
	echo " downsummer: generate a Low Frequency Determination Panel"
	echo " "
	echo " Input:"
	echo " "
	echo " -N              Input Data Filename"
	echo " -rs             Start Record"
	echo " -re             End Record"
	echo " -fmin           Starting f1 Frequency (default=0)"
	echo " -fmax           Ending f4 Frequency (default=95Hz)"
	echo " -finc           Frequency Increment (def=10Hz)"
	echo " -df             Separation between corner frequencies (def=5)"
	echo " "
	echo " Usage:"
	echo " "
	echo " downsummer -N -rs -re -fmin[] -fmax[] -finc[] -df[]"
	exit
endif

# parse command line paramters
set NM = `usparg -N " " $*`

if ( -e $NM ) then
else	
	echo $NM"  input file does not exist:"
        echo "rerun with correct file name"
        exit
endif

@ RS = `usparg -rs 1 $*`
@ RE = `usparg -re 0 $*`
@ F1 = `usparg -fmin 0 $*`
@ FMAX = `usparg -fmax 95 $*`
@ FINC = `usparg -finc 10 $*`
@ DF   = `usparg -df 5 $*`

# Initialize filter corner frequencies
@ F2 = $F1 + $DF
@ F3 = $F1 + $DF + $DF
@ F4 = $F1 + $DF + $DF + $DF
@ MDF = -$DF

# Downsum Bandpass Construction
@ F1in = $F1
@ F2in = $F2
@ F3in = $F3
@ F4in = $F4

while ( $F4in <= $FMAX  )

  echo "Bandpass:  F1= "$F1in"  F2= "$F2in"  F3= "$F3in"  F4= "$F4in
  editt -N$NM  -rs$RS -re$RE |\
  sctvf -R -db60 -f1$F1in -f2$F2in -f3$F3in -f4$F4in |\
  davc -M |\
  editt -t$F4in -U -O$NM$F3in$F4in

  @ F1in += $FINC
  @ F2in += $FINC
  @ F3in += $FINC
  @ F4in += $FINC

end

# Constant Bandpass Filters

@ F1in -= $FINC
@ F2in -= $FINC
@ F3in -= $FINC
@ F4in -= $FINC

while ( $F1in >= $F1  )

  apend -N$NM$F3in$F4in -OBandPass$NM

  @ F1in -= $FINC
  @ F2in -= $FINC
  @ F3in -= $FINC
  @ F4in -= $FINC

end


# Constant Bandpass Downsum Construction 
@ F1in = $FMAX + $MDF + $MDF + $MDF
@ F2in = $FMAX + $MDF + $MDF
@ F3in = $FMAX + $MDF
@ F4in = $FMAX
 echo "Sum Bandpass:  F1= "$F1in"  F2= "$F2in"  F3= "$F3in"  F4= "$F4in
@ count = 1

cp $NM$F3in$F4in BandPassDownsum$NM

@ F1in -= $FINC
@ F2in -= $FINC
@ F3in -= $FINC
@ F4in -= $FINC

while ( $F1in >= $F1 )

 echo "Sum Bandpass:  F1= "$F1in"  F2= "$F2in"  F3= "$F3in"  F4= "$F4in
 editt -NBandPassDownsum$NM -rs$count -re$count |\
 vstak -N2$NM$F3in$F4in  |\
 editt -t$F4in -U |\
 apend -OBandPassDownsum$NM

  @ count += 1
  @ F1in -= $FINC
  @ F2in -= $FINC
  @ F3in -= $FINC
  @ F4in -= $FINC

end

# make panel and run record constant median gasp
# put raw record at front of panel

davc -N$NM -M -rs$RS -re$RE -ODownsumPanel$NM

# number filter records with highest frequency

apend -NBandPass$NM -ODownsumPanel$NM

# number filter records with highest frequency

apend -NBandPassDownsum$NM -ODownsumPanel$NM

# put a few dead traces between records for plotting

embed -NDownsumPanel$NM -L3 |\
gasp -ODownsumPanelGasp$NM -rec -med
mv DownsumPanelGasp$NM  DownsumPanel$NM 

# delete all un-needed datasets

rmprint
\rm BandPassDownsum$NM
\rm BandPass$NM
\rm GaspCoef

@ F1in = $F1
@ F2in = $F2
@ F3in = $F3
@ F4in = $F4

while ( $F4in <= $FMAX  )

  \rm $NM$F3in$F4in 

  @ F1in += $FINC
  @ F2in += $FINC
  @ F3in += $FINC
  @ F4in += $FINC

end
