Name: nirpsec_setup
Directory: /kroot/kss/nirspec/ui/run_ui
Purpose: Define user-specific keyword values; cache results to nirspec_reset.


#!/usr/local/bin/tcsh
#
# nirspec_setup TAB 1dec99	Adapted from hires_init (author GDW)
#
# Purpose:
#   Reset NIRSPEC options for a new observer. Actions include:
#	- define OBSERVER keyword
#	- define OUTDIR keyword and validate
#	- allow optional initialization of motors
#	- verify available disk space on OUTDIR disk
#	- cache obsever, outdir, and outdir2 to ~nirspec/bin/setup_cache
#
# Type:
#	shell script
#
# Modification history:
#   1998-Dec-02  GDW  original version
#   1998-Dec-21  TAB  replaced home_hires with hires_reset
#   1999-Jan-27  GDW  added code to define output directory automatically
#                     based on scratch disk, user name, and UT date
#   1999-Dec-01  TAB  adapted for NIRSPEC
#-----------------------------------------------------------------------
alias beep /usr/5bin/echo "\\007\\c"

# Define the observer.  Note the use of parens and quotes to deal with 
# multiple-word values, and of "noglob" to allow special
# characters in names... 
set noglob
set default = ( `show -terse -service nirspec observer` )
echo ""
echo -n "Enter names of observing team members [$default]: "
set observer = ( $< )
if ( "$observer" != "" ) then
  modify -service nirspec observer="$observer"
else
  modify -s nirspec observer="$default"
  set observer = "$default"
endif

# define the data disk...
set_datadisk:
echo -n "Enter the 3-digit number of your assigned data disk: "
set datadisk = $<
set datadisk = /sdata${datadisk}
if( ! -e $datadisk ) then
  beep
  echo "  There is no disk ${datadisk} --- please try again."
  goto set_datadisk
endif

# define the output directory...
set_outdir:
set buf = ( `date` )
set default = ${datadisk}/${USER}/$buf[3]$buf[2]$buf[6]
echo -n "Enter data directory name [$default]: "
set outdir = $<
if ( $outdir == "" ) set outdir = $default
if ( ! -e $outdir ) then
mkdir $outdir
  if ( $status > 0 ) then
    beep
    echo "  Attempt to create that directory failed --- please try again."
    goto set_outdir
  else
    echo "  Directory $outdir has been created for you."
  endif
endif
if ( ! -d $outdir ) then
  beep
  echo "  That file exists, but is not a directory --- please try again."
  goto set_outdir
endif
if ( ! -w $outdir ) then
  beep
  echo "  You do not have write access to that directory --- please try again."
  goto set_outdir
endif

set spec = \/spec\/
set scam = \/scam\/
mkdir $outdir$spec
mkdir $outdir$scam
modify -service nirspec outdir=$outdir$spec
modify -service nirspec outdir2=$outdir$scam

# Show SPEC root file name (rootname).
set default = `show -terse -service nirspec rootname`
echo -n "Enter SPEC root file name [$default]: "
set rootname = $<
if ( $rootname != "" ) modify -service nirspec rootname="$rootname"
set rootname = `show -terse -service nirspec rootname`

# Show SCAM root file name (rootname2).
set default = `show -terse -service nirspec rootname2`
echo -n "Enter SCAM root file name [$default]: "
set rootname2 = $<
if ( $rootname2 != "" ) modify -service nirspec rootname2="$rootname2"
set rootname2 = `show -terse -service nirspec rootname2`

# define the frame number...
# set default = `show -terse -service nirspec frameno`
# echo -n "Enter starting image number [$default]: "
# set frameno = $<
# if ( $frameno != "" ) modify -service nirspec frameno="$frameno"

# reset other keywords...
# echo "Resetting other keywords to fiducial values..."
modify -service nirspec object=""

# verify the available disk space on the selected disk...
echo ""
echo " Checking available disk space..."
set min_space = 1000000
set buf = (`df $outdir`)
set space = $buf[11]
if ( $space < $min_space ) then
  echo "  --------------------------------------------------------------------------"
  echo "  Disk $outdir has only $space bytes available!"
  echo "  The recommended minimum amount is $min_space."
  echo "  Please contact your Instrument Specialist immediately if you'll need more."
  echo "  --------------------------------------------------------------------------"
  beep ; sleep 1 ; beep ; sleep 1 ; beep 
  echo ""
  echo -n "Press  to continue..."
  set response = $<
endif

# Cache values to file ~nirspec/bin/setup_cache.

unalias rm
rm /home/waimea/nirspec/bin/nirspec_reset
set string = "modify -s nirspec observer = "
set quote = \"
echo $string$quote$observer$quote | cat > /home/waimea/nirspec/bin/nirspec_reset
set string = "modify -s nirspec outdir = "
echo $string$outdir$spec | cat >> /home/waimea/nirspec/bin/nirspec_reset
set string = "modify -s nirspec outdir2 = "
echo $string$outdir$scam | cat >> /home/waimea/nirspec/bin/nirspec_reset
set string = "modify -s nirspec rootname = "
echo $string$rootname | cat >> /home/waimea/nirspec/bin/nirspec_reset
set string = "modify -s nirspec rootname2 = "
echo $string$rootname2 | cat >> /home/waimea/nirspec/bin/nirspec_reset
set string = "sleep 1 "
echo $string | cat >> /home/waimea/nirspec/bin/nirspec_reset
chmod +x /home/waimea/nirspec/bin/nirspec_reset

echo ""
echo "NIRSPEC observer setup completed."
echo ""
sleep 1

exit