#!/bin/csh -f
#
# mtzdmp script
#
if ($#argv == 0) then
#
#---- no filename given, read it
#
	echo -n "Input file name: "
	set File_Name = $<
else
	set File_Name = $argv[1]
endif
#
#
if ($#argv == 1) then
	#
	#--- test for help
	#
	if ($argv[1] == "-h") then
		echo " "
		echo "mtzdmp -n Number  : number of hkl to dump (def 10) "
		echo "mtzdmp -e         : print HEADER only"
		echo "mtzdmp -b         : dump BATCH headers"
		echo "mtzdmp -s         : dump SYMMETRY info"
		echo "mtzdmp -bs (-sb)  : dump both SYMM and BATCH"
		echo "mtzdmp -r Rmax (Rmin) : resolution limits"
		echo "mtzdmp -i         : Interactive"
		echo " "
		exit
	endif

	set File_Name = $argv[1]
endif

#---- test if $1 is a file name

if (! -e $File_Name) then
	#--- well then test if $1.mtz is a file
	set File_Name=$File_Name".mtz"
	if (! -e $File_Name) then
		echo "mtzdmp: no file: `basename $File_Name .mtz`[.mtz]"
		exit 1
	endif
endif

if ($#argv == 1) then
	mtzdump hklin $File_Name < /dev/null
	exit $status
endif

#
shift

set XHEAD=" "
set XBATCH=" "
set XSYMM=" "
set XNREF=" "
set XRESO=" "

while ($#argv)

switch ( "$1" ) 

  case '-n':
# check there is another arg
if ($#argv >= 2) then
        shift
        set XNREF="NREF $1"
else
        set XNREF="NREF 10"
endif
        breaksw

  case '-e':
        set XHEAD="HEAD"
	breaksw

  case '-b':
        set XBATCH="BATCH"
	breaksw

  case '-s':
        set XSYMM="SYMMETRY"
	breaksw
   
  case '-r':
if ($#argv >= 2) then
        shift
        set XRESO="RESOLUTION  $1"
		if ($#argv >= 2) then
		        shift
		        set XRESO="${XRESO} "$1
		endif
else
        set XRESO=" "
endif
	breaksw

  case '-sb':
        set XSYMM="SYMMETRY"
        set XBATCH="BATCH"
	breaksw

  case '-bs':
        set XSYMM="SYMMETRY"
        set XBATCH="BATCH"
	breaksw

  case '-h':
		echo " "
		echo "mtzdmp -n Number  : number of hkl to dump (def 10) "
		echo "mtzdmp -e         : print HEADER only"
		echo "mtzdmp -b         : dump BATCH headers"
		echo "mtzdmp -s         : dump SYMMETRY info"
		echo "mtzdmp -bs (-sb)  : dump both SYMM and BATCH"
		echo "mtzdmp -r Rmax (Rmin) : resolution limits"
		echo "mtzdmp -i         : Interactive"
		echo " "
		exit
	breaksw

  case '-i':
#
#---- interactive
#
        goto INTERACTIVE
	breaksw

  default:
#
#--- assume number for number of reflections
#
        set XNREF="NREF "$1
            breaksw            
endsw
shift
end



mtzdump hklin $File_Name <<EOF
$XHEAD
$XBATCH
$XSYMM
$XNREF
$XRESO
EOF
#
exit $status


INTERACTIVE:

mtzdump hklin $File_Name

