############################################################
# Building and running 'gpwave' on SGIs
############################################################
einstein% pwd
/usr2/people/phy329/fd/wave

einstein% ls
Makefile   gpin       gpwave.f   vswave.f

############################################################
# Three executables are generated by default (including
# 'gpwave').  'vswave' and 'fvswave' use a different 
# graphical interface which we *may* discuss later in the 
# course.
############################################################
einstein% make
        f77 -g -n32 -c gpwave.f
        f77 -g -n32 -L/usr/localn32/lib gpwave.o \
            -lp329f -o gpwave
        f77 -g -n32 -c vswave.f
        f77 -g -n32 -L/usr/localn32/lib vswave.o \
            -lp329f -lvs -o vswave
        f77 -g -n32 -L/usr/localn32/lib vswave.o \
            -lp329f -lfvs -lutilio -o fvswave

############################################################
# 'gpwave' expects a single argument, 'n'.  It then 
# generates data which can be plotted as a two-dimensional
# surface (z(x,y)) using 'gnuplot'.
############################################################
einstein% gpwave
 usage: gpwave <n>

############################################################
# Generate data on a 51 x 51 mesh and save to file 'output'.
############################################################
einstein% gpwave 51 > output

einstein% more gpin
############################################################
# Sample gnuplot commands to read data in file 'output' 
# and plot as 'parametric' surface plot with hidden lines 
# removed.
############################################################
set terminal postscript landscape
set output "output.ps"
set parametric
set hidden
splot "output" with lines
quit


############################################################
# Make the plot.
############################################################
einstein% gnuplot < gpin

einstein% ls
Makefile    gpin        gpwave.f    output      vswave*     vswave.o
fvswave*    gpwave*     gpwave.o    output.ps   vswave.f