#! /bin/csh


echo '======== test ONE (vibrations of H2O) ==========='
cd H2O
pwd
tetr < REF/check.inp >& 1
echo 'diff  1 REF/check.out'
diff  1 REF/check.out
rm -f 1

echo
echo '======== test TWO (vibrations of CO2) ==========='
cd ../CO2
pwd
tetr < REF/check.inp >& 1
echo 'diff  1 REF/check.out'
diff  1 REF/check.out
rm -f 1

echo
echo '======== test THREE (write BSSE files for CP2K) ==========='
cd ../BSSE_cp2k_2_benzene
pwd
if ( -e tmp ) rm -rf tmp
mkdir tmp
cd tmp
cp ../two.inp .
tetr < ../REF/check.inp >& 1
echo '====> diff 1 ../REF/check.out'
diff 1 ../REF/check.out
echo '====> diff BSSE_script.run ../.'
diff BSSE_script.run ../.

echo
echo '====> diff BSSE/1/cp2k.inp ../BSSE/1/.' 
diff -b BSSE/1/cp2k.inp ../BSSE/1/.
echo '====> diff BSSE/1-ghost/cp2k.inp ../BSSE/1-ghost/.'
diff -b BSSE/1-ghost/cp2k.inp ../BSSE/1-ghost/.
echo '====> diff BSSE/2/cp2k.inp ../BSSE/2/.' 
diff -b BSSE/2/cp2k.inp ../BSSE/2/.
echo '====> diff BSSE/2-ghost/cp2k.inp ../BSSE/2-ghost/.'
diff -b BSSE/2-ghost/cp2k.inp ../BSSE/2-ghost/.
cd ..
rm -rf tmp

echo
echo '======== test FOUR (vibrarions of MgO supercell) ==========='
cd ../MgO_bulk
pwd
tetr < REF/check.inp >& 1
echo 'diff 1 REF/check.out'
diff 1 REF/check.out
rm -f 1

echo
echo '======== test FIVE (MgO Vk vibrational option) ==========='
cd ../MgO_Vk/4kp
pwd
tetr < REF/check.inp >& 1
echo '===> diff  1 REF/check.out'
diff  1 REF/check.out
rm -f 1
echo '===> diff D_1.fcm REF/.'
diff D_1.fcm REF/.
echo '===> diff D_4.fcm REF/.'
diff D_4.fcm REF/.

echo
echo '======== test SIX (menu M test with VASP) ==========='
cd ../..
pwd
tetr < REF/check_M.inp >& 1
echo '===> diff  1 REF/check_M.out'
diff  1 REF/check_M.out
rm -f 1
echo '==> diff tetr.log REF/check_M.inp'
diff tetr.log REF/check_M.inp

echo
echo '======== test SEVEN (menu M test with VASP, Si(111) surface) ==========='
pwd
tetr < REF/check_M_111_surface.inp >& 1
echo '===> diff  1 REF/check_M_111_surface.out'
diff  1 REF/check_M_111_surface.out
rm -f 1
echo '==> diff tetr.log REF/check_M_111_surface.inp'
diff tetr.log REF/check_M_111_surface.inp

echo
echo '======== test EIGHT (menu M test with VASP, Si(001) 2x1 surface) ==========='
pwd
tetr < REF/check_M_001_2x1_surface.inp >& 1
echo '===> diff  1 REF/check_M_001_2x1_surface.out'
diff  1 REF/check_M_001_2x1_surface.out
rm -f 1
echo '==> diff tetr.log check_M_001_2x1_surface.inp'
diff tetr.log REF/check_M_001_2x1_surface.inp

echo
echo '======== test NINE (menu Cl: Si cluster, VASP) ==========='
pwd
tetr < REF/check_Si_cluster.inp >& 1
echo '===> diff  1 REF/check_Si_cluster.out'
diff  1 REF/check_Si_cluster.out
rm -f 1
echo '==> diff tetr.log check_Si_cluster.inp'
diff tetr.log REF/check_Si_cluster.inp
echo '===> diff Gerard REF/check_Si_cluster.vasp'
diff Gerard REF/check_Si_cluster.vasp
rm -f Gerard

echo
echo '======== test TEN (menu Pc: new crystal from space group, SIESTA) ==========='
pwd
tetr < REF/check_new_Pc.inp >& 1
echo '===> diff  1 REF/check_new_Pc.out '
diff  1 REF/check_new_Pc.out 
rm -f 1
echo '==> diff tetr.log check_new_Pc.inp '
diff tetr.log REF/check_new_Pc.inp
echo '===> diff input.fdf REF/check_new_Pc.siesta '
diff input.fdf REF/check_new_Pc.siesta
rm -f input.fdf

echo
echo '======== test ELEVEN (menu Vm: H2O vibrations, VASP) ==========='
mkdir tmp
cd tmp
pwd
cp ../H2O/POSCAR_relaxed .
tetr < ../REF/check_do_Vm_H2O.inp >& 1

echo '===> diff  1 ../REF/check_do_Vm_H2O.out'
diff  1 ../REF/check_do_Vm_H2O.out
echo '===> diff  tetr.log ../REF/check_do_Vm_H2O.inp'
diff  tetr.log ../REF/check_do_Vm_H2O.inp
echo '===> diff run_DFT_script ../H2O/.'
diff run_DFT_script ../H2O/.

echo '===> diff vibr_info.dat ../H2O/.'
diff vibr_info.dat ../H2O/.

foreach file ( `ls *.mat` )
  echo '===> diff ' $file '../H2O/.'
  diff $file ../H2O/.
end

echo '===> diff irrep_1/d=0.01000/1 ../H2O/irrep_1/d=0.01000/1'
diff irrep_1/d=0.01000/1 ../H2O/irrep_1/d=0.01000/1
echo '===> diff irrep_1/d=-0.01000/1 ../H2O/irrep_1/d=-0.01000/1'
diff irrep_1/d=0.01000/1 ../H2O/irrep_1/d=0.01000/1
echo '===> diff irrep_1/d=0.01000/2 ../H2O/irrep_1/d=0.01000/2'
diff irrep_1/d=0.01000/2 ../H2O/irrep_1/d=0.01000/2
echo '===> diff irrep_1/d=-0.01000/2 ../H2O/irrep_1/d=-0.01000/2'
diff irrep_1/d=-0.01000/2 ../H2O/irrep_1/d=-0.01000/2
echo '===> diff irrep_4/d=0.01000/1 ../H2O/irrep_4/d=0.01000/1'
diff irrep_4/d=0.01000/1 ../H2O/irrep_4/d=0.01000/1
echo '===> diff irrep_4/d=-0.01000/1 ../H2O/irrep_4/d=-0.01000/1'
diff irrep_4/d=-0.01000/1 ../H2O/irrep_4/d=-0.01000/1
cd ..
rm -rf tmp

echo
echo '======== test TWELVE (menu Vs: MgO crystal vibrations, VASP) ==========='

mkdir tmp
cd tmp
pwd
cp ../MgO_bulk/CONTCAR_MgO .
tetr < ../REF/check_do_Vs_MgO.inp >& 1

echo '===> diff  1 ../REF/check_do_Vs_MgO.out'
diff  1 ../REF/check_do_Vs_MgO.out
echo '===> diff  tetr.log ../REF/check_do_Vs_MgO.inp'
diff  tetr.log ../REF/check_do_Vs_MgO.inp
echo '===> diff run_DFT_script ../MgO_bulk/.'
diff run_DFT_script ../MgO_bulk/.

echo '===> diff vibr_info.dat ../MgO_bulk/.'
diff vibr_info.dat ../MgO_bulk/.

foreach file ( `ls *.mat` )
  echo '===> diff -b ' $file '../MgO_bulk/.'
  diff -b $file ../MgO_bulk/.
end


set dir=`ls irrep_1`
#echo $dir[1] $dir[2]

foreach ir (irrep_1 irrep_2 irrep_3 irrep_4 )
  foreach dd ( $dir[1] $dir[2] )
    foreach file ( 1 2 3 4 5 6 )
      echo '===> diff -b '$ir'/'$dd'/'$file '../MgO_bulk/'$ir'/'$dd'/'$file
      diff -b $ir/$dd/$file ../MgO_bulk/$ir/$dd/$file
    end
  end
end
cd ..
rm -rf tmp

echo
echo '======== test THIRTEEN (menu M: cp2k input/output and undo option) ==========='
pwd
tetr < REF/check_cp2k_M_undo.inp >& 1
echo '===> diff  1 REF/check_cp2k_M_undo.out'
diff  1 REF/check_cp2k_M_undo.out
rm -f 1
echo '==> diff tetr.log REF/check_cp2k_M_undo.inp'
diff tetr.log REF/check_cp2k_M_undo.inp
echo '===> diff test1.inp REF/test1.inp'
diff test1.inp REF/test1.inp
rm -f test1.inp

