#!/usr/local/bin/perl # gp.qmDeletePts # # JLS WHP 950829 # Usage: gp.qmDeletePts # # Program assumes that a qmfile named "qmfile" # and an outlier file named "OutlierList". # # Modifications: # 1995/10/17 whp Adapted from DeleteBadPoints # 2001/05/31 jls Changed call to fix_qm to # call deletept $qmfile = "qmfile"; $OutlierList = "OutlierList"; # Check for input file with observation date info # ----------------------------------------- if ( ! -e "qmfile" ) { print ("gp.qmDeletePts: No qmfile found\n"); exit 1; } if ( ! -e "OutlierList" ) { print ("gp.qmDeletePts: No OutlierList found\n"); exit 2; } # Check for file with observation date info # ----------------------------------------- if ( ! -e "SaveObsDate" ) { print ("gp.qmDeletePts-101: No date info found\n"); print ("gp.qmDeletePts-102: Terminating\n"); print ("gp.qmDeletePts-103: Run CreateObsDateFile)\n"); exit 3; } # Store SaveObsDate in associative array # -------------------------------------- open (DateHdl, "SaveObsDate"); while () { ($abbrev,$value) = split(" ",$_); $Dates{$abbrev} .= $value; } close (DateHdl); $Date = $Dates{"dmyobs"}; system ("cp qmfile qmfile.in.$$ "); # Read through outlier list # deleting pts from qm file # ------------------------- open(OLHdl, $OutlierList); while () { ($Type,$Time,$Satellite,$Station,$Size) = split(' ',$_); # Round minutes up to account for # difference between UTC and GPS time # ----------------------------------- ($hh,$mm,$ss) = split(":", $Time); ++$mm; if ($mm == 60) {$mm = "00"; ++$hh;} # $Time = "$hh:$mm:00.0000"; $Time = "$hh:$mm"; # Call deletept to delete the point # --------------------------------- $test = $ARGV[0]; $Argument[0] = "-i qmfile.in.$$ -o qmfile.out.$$ -delpt"; $Argument[1] = "$Station $Satellite"; $Argument[2] = "\042$Date $Time\042"; $Arguments = join(" ",@Argument); system ("deletept $test $Satellite $Time"); system ("cp $test qmfile"); } close(OLHdl); exit;