#!/bin/csh -bf # # Check number of arguments # ------------------------- echo " " if ($#argv != 1) then echo Usage: gp.delete_points edit_point_limit echo " edit_point_limit is in centimeters" echo " " exit 2 endif # SEARCH FOR QM FILES # ------------------ set numfiles = `ls *.qm | wc -l ` if ($numfiles == 0) then echo " " echo "No QM observation files found in this directory." echo "Check file names for proper format" echo " " exit 1 else set filesearch="" set filesearch=($filesearch *.qm) shift filesearch endif # Create a directory for clean qm files # ------------------------------------- if (! -e clean_qmfiles) mkdir clean_qmfiles foreach file ($filesearch) set base = `basename $file` set code = `echo $base | awk '{print substr($1,8,4) }'` echo Now processing: $base cp $base qmfile rm postbreak.nml qregres.nml wash.nml >& /dev/null gp.solve >& /dev/null mv postbreak.log $code.postbreak.log mv postfit.nio $code.postfit.nio cp /goa/local/templates/postfit.nml . replace "WINDOW = 5.D-3, 2.5D-5, 5.0d-3, 2.5d-5" "WINDOW = 5.D-3, $1D-5, 5.0d-3, $1d-5" postfit.nml replace "xxxx" "$code" postfit.nml # RUN POSTFIT # ----------- echo " " echo " --------------------------" echo "gp.postfit: Running POSTFIT" rm postfit.nio point.txt >& /dev/null nice postfit postfit.nml rgfile \ smsol.nio uinv.nio \ postfit.nio point.txt \ >& postfit.log # Remove outliers from qmfile # (This cleans up qmfile for later runs) # -------------------------------------- echo "gp.edit: Now running gp.qmDeletePts" gp.outliers_list > OutlierList set noutliers = `cat OutlierList | wc -l` if ($noutliers <= 20) then gp.qmDeletePts $file if ($status != 0) then echo gp.edit: gp.qmDeletePts returned non-zero status. echo gp.edit: Terminated. exit 2 endif else echo WARNING: Number of outliers exceeds limit echo Number of outliers = $noutliers echo Limit = 20 endif mv qmfile $base rm qmfile.new end