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