ctest wham checks energy differs
[unres.git] / ctest / wham_check.sh
1 #!/bin/bash
2
3 if [ "$1" == "1L2Y_wham" ]; then
4  file=1L2Y_wham.thermal
5 else
6  exit 1
7 fi
8
9 # Check if file exist
10 if [ ! -f $file ]; then
11     echo "CRITICAL: out $file do not exist"
12     exit 2
13 fi
14
15 error=0
16 max=`awk '{print $1,$7*1}' $file | sort -n -k 2 | awk 'END{print $1}'`
17 echo 'T of max Cv(T) ' $max
18 rms=`awk '{if ($1<260) {a=a+$5;n++}}END{print a/n}' $file`
19 echo 'average rms for T<260 ' $rms
20
21  if [ `grep differs 1L2Y_wham.out* |wc -l` != "0" ]; then
22   echo 'ERROR: energy differs remarkably from  the value read in'  
23   echo 'first 10 warnings'
24   grep differs 1L2Y_wham.out*|head -10
25   error=1
26  fi
27
28  if [ `echo "a=$max-316;if(0>a)a*=-1;a>10.0"|bc -l` != "0" ]; then
29   echo 'ERROR wrong T max of Cv(T) by more than 10 K'
30   error=1
31  fi
32
33  if [ `echo "a=$rms-3.0;if(0>a)a*=-1;a>0.2"|bc -l` != "0" ]; then
34   echo 'ERROR wrong average rms for T<260 by more than 0.2'
35   error=1
36  fi
37
38  if [ error != "0" ];then
39    exit 1
40  fi
41