Index: trunk/MagicSoft/Mars/datacenter/scripts/runcallisto
===================================================================
--- trunk/MagicSoft/Mars/datacenter/scripts/runcallisto	(revision 7920)
+++ trunk/MagicSoft/Mars/datacenter/scripts/runcallisto	(revision 7927)
@@ -49,6 +49,4 @@
 #pno=500 # number of processes, i.e. number of todo-files
 
-lockfile=$lockpath/lock-getting-$program-list.txt
-
 scriptlogpath=$logpath/run/$program/`date +%Y/%m/%d`
 makedir $scriptlogpath
@@ -57,170 +55,138 @@
 date >> $scriptlog 2>&1
 
-# get todo file
-possibletodofiles=`ls -r $listpath/ToDo-*-$column-*.txt`  >> $scriptlog 2>&1
-if [ "$possibletodofiles" = "" ]
-then 
-   echo "ERROR: in $program no todofiles found => something went wrong in jobmanager"
-   finish >> $scriptlog 2>&1
-else
-   singleprocess="yes"
-   echo "todofiles: "${possibletodofiles[@]} >> $scriptlog 2>&1
-   for possibletodofile in ${possibletodofiles[@]}
-   do 
-      if ! ls $possibletodofile >> $scriptlog 2>&1
-      then 
-         echo "file is not on disk -> continue" >> $scriptlog 2>&1
-         continue
-      fi
-      lockfile=`echo $possibletodofile | sed -e 's/lists/locks/' -e 's/ToDo/lock/'`
-      checklock >> $scriptlog 2>&1
-      todofile=$possibletodofile
-   done
-fi
-if [ "$todofile" = "" ]
-then 
-   echo "no todofile found -> exit"  >> $scriptlog 2>&1
-   finish >> $scriptlog 2>&1
-fi
+# get sequence # 
+gettodo >> $scriptlog 2>&1
+sequence=$process
 
-# get sequence(s) from todo file
-sequences=(`cat $todofile`)
-if [ "$sequences" = "" ]
-then 
-   echo "nothing to do -> exit"  >> $scriptlog 2>&1
-   finish >> $scriptlog 2>&1
-fi
-echo "sequences: "${sequences[@]} >> $scriptlog 2>&1
-rm -v $todofile >> $scriptlog 2>&1
+# lock sequ
+lockfile=$lockpath/lock-$table-$column-$sequence.txt
+checklock >> $scriptlog 2>&1
 
 cd $mars
 
-# run calibration for sequence(s)
-for sequence in ${sequences[@]}
-do 
-  echo "run $program for sequence $sequence..." >> $scriptlog 2>&1
-  no=`printf %08d $sequence | cut -c 0-4`
-  no2=`printf %08d $sequence`
-  var1=$no
-  var2=$no2
-  outpath="$datapath/$program/$no/$no2"
-  makedir $outpath >> $scriptlog 2>&1
+# run calibration for sequence
+echo "run $program for sequence $sequence..." >> $scriptlog 2>&1
+no=`printf %08d $sequence | cut -c 0-4`
+no2=`printf %08d $sequence`
+var1=$no
+var2=$no2
+outpath="$datapath/$program/$no/$no2"
+makedir $outpath >> $scriptlog 2>&1
 
-  sequfile="$sequpath/$no/sequence$no2.txt"
-  
-  # find callisto.rc file
-  if [ -e $outpath/callisto.rc ]
-  then
-     echo "found $program.rc in $outpath -> using this " >> $scriptlog 2>&1
-     callistorcseq=$outpath/callisto.rc
-  else
-     echo "no $program.rc found in $outpath -> making link " >> $scriptlog 2>&1
-     if [ 49735 -lt $sequence ] && [ $sequence -lt 53516 ]
-     then 
-        ln -vs $callistorcmarapr05 $outpath/callisto.rc >> $scriptlog 2>&1
-     else
-        ln -vs $callistorcnew $outpath/callisto.rc >> $scriptlog 2>&1
-     fi
-     callistorcseq=$outpath/callisto.rc
-  fi
+sequfile="$sequpath/$no/sequence$no2.txt"
 
-  setstatus "start" >> $scriptlog 2>&1
+# find callisto.rc file
+if [ -e $outpath/callisto.rc ]
+then
+   echo "found $program.rc in $outpath -> using this " >> $scriptlog 2>&1
+   callistorcseq=$outpath/callisto.rc
+else
+   echo "no $program.rc found in $outpath -> making link " >> $scriptlog 2>&1
+   if [ 49735 -lt $sequence ] && [ $sequence -lt 53516 ]
+   then 
+      ln -vs $callistorcmarapr05 $outpath/callisto.rc >> $scriptlog 2>&1
+   else
+      ln -vs $callistorcnew $outpath/callisto.rc >> $scriptlog 2>&1
+   fi
+   callistorcseq=$outpath/callisto.rc
+fi
 
-  ./callisto -b -q -v4 -f -raw --log=$outpath/$program$no2.log --html=$outpath/$program$no2.html --out=$outpath --config=$callistorcseq $sequfile  2>> $scriptlog > /dev/null
-  check1=$?
+setstatus "start" >> $scriptlog 2>&1
 
-  case $check1 in
-     0)   echo " check1=$check1 -> everything ok -> doing update..." >> $scriptlog 2>&1
-          # running merpp update if calibration worked
-          # finding files, which have to be updated
-          echo "finding files to be updated..." >> $scriptlog 2>&1
-          calfiles=`find $outpath -name *_Y_* `
-          echo " files to be updated: "$calfiles >> $scriptlog 2>&1
-          if [ "$calfiles" = "" ]
-          then 
-             echo " no files found -> continue with next sequence" >> $scriptlog 2>&1
-             continue
-          fi
-          
-          merpplogpath=$outpath"/merpplogs"
-          makedir $merpplogpath >> $scriptlog 2>&1
-          
-          # updated calibrated data files with the information from the cc and caco files
-          for calfile in ${calfiles[@]}
-          do 
-             echo "calfile: "$calfile >> $scriptlog 2>&1
-             # find cc and caco file
-             # if file is missing continue with next sequence
-             runno=`echo $calfile | cut -d_ -f2 | sed -e 's/^0//' | sed -e 's/^0//' | sed -e 's/^0//' `
-             ccfile=`find /magic/subsystemdata/cc/ -name [2][0][0-2][0-9][0,1][0-9][0-3][0-9]_*${runno}_[P,D,C,S]_*_S.rep`
-             source=`echo $ccfile | cut -d_ -f4`
-             cacofile=`find /magic/subsystemdata/caco/ -name dc_[2][0][0-2][0-9]_[0,1][0-9]_[0-3][0-9]_*${runno}_${source}.txt`
-#             cacofile=`find /magic/subsystemdata/caco/ -name dc_[2][0][0-2][0-9]_[0,1][0-9]_[0-3][0-9]_*${runno}_*.txt`
-             if [ "$ccfile" = "" ]
-             then
-                echo "no ccfile found for run "$runno >> $scriptlog 2>&1
-                com=$Fnoccfile
-                comadd=$runno
-                check=0
-                break
-             fi
-             if [ "$cacofile" = "" ]
-             then 
-                echo "cacofile with no $runno not found" >> $scriptlog 2>&1
-                echo "finding cacofile..." >> $scriptlog 2>&1
-                for (( i = 0; i <= 10; i++ ))
-                do 
-                   newrun=`echo $runno - $i | bc`
-            #      echo "$missingcacorun + $i = $newrun"
-                   path=`dirname $ccfile`
-                   path=`echo $path | sed -e 's/cc/caco/'`
-                   echo "path: "$path >> $scriptlog 2>&1
-                   cacofile=`find $path -name *$newrun*`
-                   if [ "$cacofile" = "" ]
-                   then
-                      if [ $i -eq 9 ]
-                      then
-                         echo "no cacofile found" >> $scriptlog 2>&1
-                         com=$Fnocacofile
-                         comadd=$runno
-                         check=0
-                      fi   
-                      continue
-                   else
-                      echo "cacofile: "$cacofile >> $scriptlog 2>&1
-                      break
-                   fi
-                done
-             fi
-             ./merpp -u --log=$merpplogpath/merppccupdate$runno.log --html=$merpplogpath/merppccupdate$runno.html --auto-time-stop --runfile=$runno $ccfile $calfile 2>> $scriptlog> /dev/null
-             check2=$?
-             case $check2 in
-                     0)   echo " check2=$check2 -> everything ok, merppccupdate worked -> continue" >> $scriptlog 2>&1;;
-         	     *)   echo " check2=$check2 -> ERROR -> merppccupdate failed" >> $scriptlog 2>&1
-                          com=$Fmerppcc
-                          comadd=$runno
-                          check=$check2
-                          break ;;
-             esac
-             ./merpp -u --log=$merpplogpath/merppcacoupdate$runno.log --html=$merpplogpath/merppcacoupdate$runno.html --auto-time $cacofile $calfile 2>> $scriptlog> /dev/null
-             check3=$?
-             case $check3 in
-                     0)   echo " check3=$check3 -> everything ok, merppcacoupdate worked -> continue" >> $scriptlog 2>&1;;
-         	     *)   echo " check3=$check3 -> ERROR -> merppcacoupdate failed" >> $scriptlog 2>&1
-                          com=$Fmerppcaco
-                          comadd=$runno
-                          check=$check3
-                          break ;;
-             esac
-          done
-  	  ;;
-     *)   echo " check1=$check1 -> ERROR -> step has to be repeated" >> $scriptlog 2>&1
-          com=$Fcallisto
-          check=$check1
-          ;;
-  esac
-  
-  setstatus "stop"  >> $scriptlog 2>&1
-done
+./callisto -b -q -v4 -f -raw --log=$outpath/$program$no2.log --html=$outpath/$program$no2.html --out=$outpath --config=$callistorcseq $sequfile  2>> $scriptlog > /dev/null
+check1=$?
+
+case $check1 in
+   0)   echo " check1=$check1 -> everything ok -> doing update..." >> $scriptlog 2>&1
+        # running merpp update if calibration worked
+        # finding files, which have to be updated
+        echo "finding files to be updated..." >> $scriptlog 2>&1
+        calfiles=`find $outpath -name *_Y_* `
+        echo " files to be updated: "$calfiles >> $scriptlog 2>&1
+        if [ "$calfiles" = "" ]
+        then 
+           echo " no files found -> continue with next sequence" >> $scriptlog 2>&1
+           continue
+        fi
+        
+        merpplogpath=$outpath"/merpplogs"
+        makedir $merpplogpath >> $scriptlog 2>&1
+        
+        # updated calibrated data files with the information from the cc and caco files
+        for calfile in ${calfiles[@]}
+        do 
+           echo "calfile: "$calfile >> $scriptlog 2>&1
+           # find cc and caco file
+           # if file is missing continue with next sequence
+           runno=`echo $calfile | cut -d_ -f2 | sed -e 's/^0//' | sed -e 's/^0//' | sed -e 's/^0//' `
+           ccfile=`find /magic/subsystemdata/cc/ -name [2][0][0-2][0-9][0,1][0-9][0-3][0-9]_*${runno}_[P,D,C,S]_*_S.rep`
+           source=`echo $ccfile | cut -d_ -f4`
+           cacofile=`find /magic/subsystemdata/caco/ -name dc_[2][0][0-2][0-9]_[0,1][0-9]_[0-3][0-9]_*${runno}_${source}.txt`
+#            cacofile=`find /magic/subsystemdata/caco/ -name dc_[2][0][0-2][0-9]_[0,1][0-9]_[0-3][0-9]_*${runno}_*.txt`
+           if [ "$ccfile" = "" ]
+           then
+              echo "no ccfile found for run "$runno >> $scriptlog 2>&1
+              com=$Fnoccfile
+              comadd=$runno
+              check=0
+              break
+           fi
+           if [ "$cacofile" = "" ]
+           then 
+              echo "cacofile with no $runno not found" >> $scriptlog 2>&1
+              echo "finding cacofile..." >> $scriptlog 2>&1
+              for (( i = 0; i <= 10; i++ ))
+              do 
+                 newrun=`echo $runno - $i | bc`
+          #      echo "$missingcacorun + $i = $newrun"
+                 path=`dirname $ccfile`
+                 path=`echo $path | sed -e 's/cc/caco/'`
+                 echo "path: "$path >> $scriptlog 2>&1
+                 cacofile=`find $path -name *$newrun*`
+                 if [ "$cacofile" = "" ]
+                 then
+                    if [ $i -eq 9 ]
+                    then
+                       echo "no cacofile found" >> $scriptlog 2>&1
+                       com=$Fnocacofile
+                       comadd=$runno
+                       check=0
+                    fi   
+                    continue
+                 else
+                    echo "cacofile: "$cacofile >> $scriptlog 2>&1
+                    break
+                 fi
+              done
+           fi
+           ./merpp -u --log=$merpplogpath/merppccupdate$runno.log --html=$merpplogpath/merppccupdate$runno.html --auto-time-stop --runfile=$runno $ccfile $calfile 2>> $scriptlog> /dev/null
+           check2=$?
+           case $check2 in
+                   0)   echo " check2=$check2 -> everything ok, merppccupdate worked -> continue" >> $scriptlog 2>&1;;
+       	     *)   echo " check2=$check2 -> ERROR -> merppccupdate failed" >> $scriptlog 2>&1
+                        com=$Fmerppcc
+                        comadd=$runno
+                        check=$check2
+                        break ;;
+           esac
+           ./merpp -u --log=$merpplogpath/merppcacoupdate$runno.log --html=$merpplogpath/merppcacoupdate$runno.html --auto-time $cacofile $calfile 2>> $scriptlog> /dev/null
+           check3=$?
+           case $check3 in
+                   0)   echo " check3=$check3 -> everything ok, merppcacoupdate worked -> continue" >> $scriptlog 2>&1;;
+       	     *)   echo " check3=$check3 -> ERROR -> merppcacoupdate failed" >> $scriptlog 2>&1
+                        com=$Fmerppcaco
+                        comadd=$runno
+                        check=$check3
+                        break ;;
+           esac
+        done
+	  ;;
+   *)   echo " check1=$check1 -> ERROR -> step has to be repeated" >> $scriptlog 2>&1
+        com=$Fcallisto
+        check=$check1
+        ;;
+esac
+
+setstatus "stop"  >> $scriptlog 2>&1
 
 finish >> $scriptlog 2>&1
