checkgrad added to ctest
[unres.git] / ctest / prota_unres_energy_check.sh
index 88ded4b..c6e52b3 100755 (executable)
@@ -65,13 +65,17 @@ elif [ "$1" == "1l2y_micro" ]; then
  if [ `echo "a=${array[0]}-${refe};if(0>a)a*=-1;a>5.0"|bc -l` != "0" ]; then
   echo 'difference ' `echo "a=${array[0]}-${refe};if(0>a)a*=-1;a"|bc -l` "from reference ave etot ${refe} greater than 5.0"
   exit 1
- elif [ `echo "a=${array[1]};a>0.1"|bc -l` != "0" ]; then
-  echo 'standard deviation greater than 0.1'
+ elif [ `echo "a=${array[1]};a>0.15"|bc -l` != "0" ]; then
+  echo 'standard deviation greater than 0.15'
   exit 1
  else
   exit 0
  fi
 elif [ "$1" == "1L2Y_L" ] || [ "$1" == "1L2Y_NH" ]; then
+ if [ ! -s $file_stat ]; then
+  echo 'FATAL error - stat file empty'
+  exit 2
+ fi
  chi2=`./matplotlib_fit_hist.py $file_stat 111`
  echo 'Chi2 for fitting theoretical temperature distribution ' ${chi2}
  echo  "<DartMeasurementFile name=\"Temperature distribution $1\" type=\"image/png\">`pwd`/${file_stat}.png</DartMeasurementFile>"
@@ -83,6 +87,10 @@ elif [ "$1" == "1L2Y_L" ] || [ "$1" == "1L2Y_NH" ]; then
     exit 0
  fi
 elif [ "$1" == "1L2Y_B" ]; then
+ if [ ! -s $file_stat ]; then
+  echo 'FATAL error - stat file empty'
+  exit 2
+ fi
  chi2=`./matplotlib_fit_hist.py $file_stat 111`
  echo 'Chi2 for fitting theoretical temperature distribution ' ${chi2}
  echo  "<DartMeasurementFile name=\"Temperature distribution $1\" type=\"image/png\">`pwd`/${file_stat}.png</DartMeasurementFile>"
@@ -98,6 +106,10 @@ elif [ "$1" == "1L2Y_B" ]; then
 elif [ "$1" == "1L2Y_remd" ]; then
  rm -rf remd_all.stat
  tail -q -n +1000 1L2Y_remd*.stat >remd_all.stat
+ if [ ! -s remd_all.stat ]; then
+  echo 'FATAL error - stat files empty'
+  exit 2
+ fi
  ./matplotlib_hist.py
 
  echo  "<DartMeasurementFile name=\"Histograms $1\" type=\"image/png\">`pwd`/1L2Y_remd_ene_hist.png</DartMeasurementFile>"
@@ -173,7 +185,7 @@ elif [ "$1" == "1DKZcut-micro" ]; then
 elif [ "$1" == "1ei0_min" ]; then
  extremediff="10.0"                    # extreme energy difference, comething went terribly wrong
  expectenergy="151.3218"               # - expected total energy
- cutoffdiff="5.0"                      # energy cutoff variation - more then this rises warning  
+ cutoffdiff="6.0"                      # energy cutoff variation - more then this rises warning  
  
  refe="134.8382"
  startene=`grep ETOT $file|head -1| awk '{print $2*1.0}'`
@@ -191,6 +203,18 @@ elif [ "$1" == "1ei0_min" ]; then
 #   exit 1
  fi
 
+elif [ "$1" == "prota_CHECKGRAD" ]; then
+ diff=`awk -f checkgrad.awk $file |grep 'Largest abs(numerical/analytical)='|awk '{printf "%15.10f",$3}'`
+ awk -f checkgrad.awk $file 
+ if [ `echo "a=${diff};a>0.0001"|bc -l` != "0" ]; then
+    echo 'ERROR largest abs(numerical/analytical)' ${diff}
+    echo ' greater than 0.0001'
+    exit 1
+ else
+    exit 0
+ fi
+
                
 else
  exit 1