#!/bin/ksh
##########
# This script creates output from the VAFTAD model.
# It creates:
#	- VG files for all forecast times and for all ash reductions
#	  for the composite grids.
#	- 4-panel PostScript files for all forecast times and levels.
#	- a metafile for NTRANS with all times and levels.
#
# S. Jacobs/CDB		11/00
##########

# Go to the working directory.
cd $DATA

set -x

# Get the GEMPAK grid file name.
#     The file name format is /directory/vaftad_date_volcano
grdfil=`cat gempak_file.vaftad`

# Get the directory name for the output files for use in DBnet.
COMOUT=`dirname ${grdfil}`

# Create the output file name templates.
vgfile=`basename ${grdfil} | cut -d_ -f3- | tr "[a-z]" "[A-Z]"`_`basename ${grdfil} | cut -d_ -f2`
psfile=`basename ${grdfil} | cut -d_ -f3- | tr "[a-z]" "[A-Z]"`_`basename ${grdfil} | cut -d_ -f2`
ncfile=`basename ${grdfil} | cut -d_ -f3- | tr "[a-z]" "[A-Z]"`_`basename ${grdfil} | cut -d_ -f2`

# Get the scale factor for this data set.
scale=`grep medium VISUAL_ASH_TABLE | cut -d- -f2`

# Loop over forecast hours.
for time in 006 012 018
do

vgout=${vgfile}f${time}

# Create the VG file for reduction == NONE.
gdplot2_vg << EOF3a
GDFILE   = ${grdfil}
GDATTIM  = f${time}
GLEVEL   = 16700:0
GVCORD   = hght
PANEL    = 0
SKIP     = 0
SCALE    = ${scale}
GDPFUN   = vash
TYPE     = C
CONTUR   = 0
CINT     = .01/.01/.01
LINE     = 5/1/3/0
FINT     =  
FLINE    =  
HILO     =  
HLSYM    =  
CLRBAR   = 
WIND     = BM1
REFVEC   =  
TITLE    = 0
TEXT     = 1/21/hw
CLEAR    = yes
GAREA    = grid
PROJ     =
MAP      = 0
LATLON   = 0
DEVICE   = vg|${vgout}_none.vgf
STNPLT   = 0
SATFIL   =  
RADFIL   =  
LUTFIL   =  
STREAM   =  
POSN     = 0
COLORS   = 1
MARKER   = 0
GRDLBL   = 0
FILTER   = YES
r

ex
EOF3a

# Create the VG file for reduction == SMALL.
gdplot2_vg << EOF3b
GDFILE   = ${grdfil}
GDATTIM  = f${time}
GLEVEL   = 16700:0
GVCORD   = hght
PANEL    = 0
SKIP     = 0
SCALE    = ${scale}
GDPFUN   = vash
TYPE     = C
CONTUR   = 0
CINT     = .1/.1/.1
LINE     = 5/1/3/0
FINT     =  
FLINE    =  
HILO     =  
HLSYM    =  
CLRBAR   = 
WIND     = BM1
REFVEC   =  
TITLE    = 0
TEXT     = 1/21/hw
CLEAR    = yes
GAREA    = grid
PROJ     =
MAP      = 0
LATLON   = 0
DEVICE   = vg|${vgout}_small.vgf
STNPLT   = 0
SATFIL   =  
RADFIL   =  
LUTFIL   =  
STREAM   =  
POSN     = 0
COLORS   = 1
MARKER   = 0
GRDLBL   = 0
FILTER   = YES
r

ex
EOF3b

# Create the VG file for reduction == MEDIUM.
gdplot2_vg << EOF3c
GDFILE   = ${grdfil}
GDATTIM  = f${time}
GLEVEL   = 16700:0
GVCORD   = hght
PANEL    = 0
SKIP     = 0
SCALE    = ${scale}
GDPFUN   = vash
TYPE     = C
CONTUR   = 0
CINT     = 1/1/1
LINE     = 5/1/3/0
FINT     =  
FLINE    =  
HILO     =  
HLSYM    =  
CLRBAR   = 
WIND     = BM1
REFVEC   =  
TITLE    = 0
TEXT     = 1/21/hw
CLEAR    = yes
GAREA    = grid
PROJ     =
MAP      = 0
LATLON   = 0
DEVICE   = vg|${vgout}_medium.vgf
STNPLT   = 0
SATFIL   =  
RADFIL   =  
LUTFIL   =  
STREAM   =  
POSN     = 0
COLORS   = 1
MARKER   = 0
GRDLBL   = 0
FILTER   = YES
r

ex
EOF3c

# Create the VG file for reduction == LARGE.
gdplot2_vg << EOF3d
GDFILE   = ${grdfil}
GDATTIM  = f${time}
GLEVEL   = 16700:0
GVCORD   = hght
PANEL    = 0
SKIP     = 0
SCALE    = ${scale}
GDPFUN   = vash
TYPE     = C
CONTUR   = 0
CINT     = 10/10/10
LINE     = 5/1/3/0
FINT     =  
FLINE    =  
HILO     =  
HLSYM    =  
CLRBAR   = 
WIND     = BM1
REFVEC   =  
TITLE    = 0
TEXT     = 1/21/hw
CLEAR    = yes
GAREA    = grid
PROJ     =
MAP      = 0
LATLON   = 0
DEVICE   = vg|${vgout}_large.vgf
STNPLT   = 0
SATFIL   =  
RADFIL   =  
LUTFIL   =  
STREAM   =  
POSN     = 0
COLORS   = 1
MARKER   = 0
GRDLBL   = 0
FILTER   = YES
r

ex
EOF3d

# Send the alerts to transfer the VG files using DBnet.
if  [ $SENDCOM = "YES" ] ; then
    cp ${vgout}_none.vgf   ${COMOUT}/${vgout}_none.vgf
    cp ${vgout}_small.vgf  ${COMOUT}/${vgout}_small.vgf
    cp ${vgout}_medium.vgf ${COMOUT}/${vgout}_medium.vgf
    cp ${vgout}_large.vgf  ${COMOUT}/${vgout}_large.vgf
    if  [ $SENDDBN = "YES" ] ; then
    	$DBNROOT/bin/dbn_alert MODEL VAFTAD_VGF vaftad \
				${COMOUT}/${vgout}_none.vgf
    	$DBNROOT/bin/dbn_alert MODEL VAFTAD_VGF vaftad \
				${COMOUT}/${vgout}_small.vgf
    	$DBNROOT/bin/dbn_alert MODEL VAFTAD_VGF vaftad \
				${COMOUT}/${vgout}_medium.vgf
    	$DBNROOT/bin/dbn_alert MODEL VAFTAD_VGF vaftad \
				${COMOUT}/${vgout}_large.vgf
    fi
fi

# Create the PostScript files.
gdplot2_ps << EOF4
GDFILE   = ${grdfil}
GDATTIM  = f${time}
GLEVEL   = 16700:0
GVCORD   = hght
PANEL    = ul
SKIP     = 0
SCALE    = ${scale}
GDPFUN   = vash
TYPE     = f
CONTUR   = 0
CINT     = 
LINE     = 
FINT     = .01;.1;1;10;100
FLINE    = 0;18;15;12;9;6
HILO     =  
HLSYM    =  
CLRBAR   = 1
WIND     = BM1
REFVEC   =  
TITLE    = 1/-2/~  Composite  Volc Ash Concen (1.0==Med)
TEXT     = 1/21/hw
CLEAR    = yes
GAREA    = grid
PROJ     =
MAP      = 1/1/2
LATLON   = 1/5/1/1/5;5
DEVICE   = ps|${psfile}f${time}.ps|17;11
STNPLT   = 1/s/22/hw|1/12/1.25/2|volcano.tbl
SATFIL   =  
RADFIL   =  
LUTFIL   =  
STREAM   =  
POSN     = 0
COLORS   = 1
MARKER   = 0
GRDLBL   = 0
FILTER   = YES
r

GLEVEL	 = 6000:0
TITLE	 = 31/-2/~  Low Lvl  Volc Ash Concen (1.0==Med)
PANEL    = ur
CLEAR    = no
r

GLEVEL	 = 10600:6000
TITLE	 = 31/-2/~  Mid Lvl  Volc Ash Concen (1.0==Med)
PANEL    = ll
r

GLEVEL	 = 16700:10600
TITLE	 = 31/-2/~  High Lvl  Volc Ash Concen (1.0==Med)
PANEL    = lr
r

ex
EOF4

# Print the PostScript file to the SDM printer.
if  [ $SENDCOM = "YES" ] ; then
    cp ${psfile}f${time}.ps ${COMOUT}/${psfile}f${time}.ps
    lpr -Php26_sdm ${COMOUT}/${psfile}f${time}.ps
fi

# End of time loop.
done

# Create the metafile.
gdplot2_nc << EOF2
GDFILE   = ${grdfil}
GDATTIM  = fall
GLEVEL   = 16700:0
GVCORD   = hght
PANEL    = 0
SKIP     = 0
SCALE    = ${scale}
GDPFUN   = vash
TYPE     = f
CONTUR   = 0
CINT     = 
LINE     = 
FINT     = .01;.1;1;10;100
FLINE    = 0;26;3;5;17;2
HILO     =  
HLSYM    =  
CLRBAR   = 31
WIND     = BM1
REFVEC   =  
TITLE    = 31/-2/~  Composite  Volc Ash Concen (1.0==Med)|~ Comp Volc Ash
TEXT     = 1/21/hw
CLEAR    = yes
GAREA    = grid
PROJ     =
MAP      = 1/1/2
LATLON   = 1/5/1/1/5;5
DEVICE   = nc|${ncfile}
STNPLT   = 31/s/22/hw|31/12/1.25/2|volcano.tbl
SATFIL   =  
RADFIL   =  
LUTFIL   =  
STREAM   =  
POSN     = 0
COLORS   = 1
MARKER   = 0
GRDLBL   = 0
FILTER   = YES
r

GLEVEL	 =  6000:0
TITLE	 =  31/-2/~  Low Lvl  Volc Ash Concen (1.0==Med)|~ Low Volc Ash
r

GLEVEL	 =  10600:6000
TITLE	 =  31/-2/~  Mid Lvl  Volc Ash Concen (1.0==Med)|~ Mid Volc Ash
r

GLEVEL	 =  16700:10600
TITLE	 =  31/-2/~  High Lvl  Volc Ash Concen (1.0==Med)|~ High Volc Ash
r

ex
EOF2

# Send the alert to transfer the metafile using DBnet.
if  [ $SENDCOM = "YES" ] ; then
    cp ${ncfile} ${COMOUT}/${ncfile}
    if  [ $SENDDBN = "YES" ] ; then
    	$DBNROOT/bin/dbn_alert MODEL VAFTAD_META vaftad \
				${COMOUT}/${ncfile}
    fi
fi
