#!/bin/sh
# Xsuwaveform1 - Demo shell script for program SUWAVEFORM
# Author: Nils Maercklin, 2006
#
# This demo shell script shows the generation of AKB or Ricker wavelets
# with different maximum or peak frequencies (X window plots).


# X window sizes and positions:
WIDTH=500
HEIGHT=700
WIDTHOFF1=50
WIDTHOFF2=600
HEIGHTOFF=50


# Create empty wavelet output files:
> akb_wavelet.su
> ricker_wavelet.su

# Generate AKB and zero-phase Ricker wavelets with different
# maximum or peak frequency fpeak, normalize by maximum amplitude,
# and store fpeak in header otrav for plotting:

for fpeak in 5 10 15 20 25 30
do
    # AKB wavelet:
    suwaveform type=akb fpeak=$fpeak ns=201 \
    | sushw key=otrav a=$fpeak \
    | sugain qbal=1 >> akb_wavelet.su
    
    # Ricker wavelet:
    suwaveform type=ricker1 fpeak=$fpeak ns=201 \
    | sushw key=otrav a=$fpeak \
    | sugain qbal=1 >> ricker_wavelet.su

done

# X window plot of AKB wavelets (key otrav = fpeak):
suxwigb <akb_wavelet.su key=otrav windowtitle="AKB wavelets" \
    title="wavelet type=akb" grid1=dot xcur=0.75 \
    label1=" time (s)" label2="maximum frequency fpeak (Hz)" \
    wbox=$WIDTH hbox=$HEIGHT xbox=$WIDTHOFF1 ybox=$HEIGHTOFF &

# X window plot of Ricker wavelets
# (key otrav = fpeak; maximum amplitude at t=0.0 seconds):
sushift <ricker_wavelet.su \
| suxwigb key=otrav windowtitle="Ricker wavelets" \
    title="wavelet type=ricker1" grid1=dot xcur=0.75 \
    label1=" time (s)" label2="peak frequency fpeak (Hz)" \
    wbox=$WIDTH hbox=$HEIGHT xbox=$WIDTHOFF2 ybox=$HEIGHTOFF &


# User info:
cat <<EOF >> /dev/stderr
 Files created by demo Xsuwaveform1:

 akb_wavelet.su        data file 1, AKB wavelets with different fpeak
 ricker_wavelet.su     data file 2, Ricker wavelets with different fpeak

EOF

exit 0
