#! /bin/csh -f #Copyright (c) University of California, San Diego. 1995. #All rights reserved. # quickly check the completeness of a rinex file in perdecimal # by pfang@ucsd.edu June 95 if ($#argv < 1) goto help set cvrg = 24 foreach a ($argv) switch($a) case -r: set rnx = $argv[2] breaksw case [0-9]*: set cvrg = $argv[1] breaksw endsw shift argv end switch($rnx) case *o: set cmd = ("cat $rnx") breaksw case -: set cmd = ("cat") breaksw case *.Z: set cmd = ("gunzip -c $rnx") breaksw case *.gz: set cmd = ("gunzip -c $rnx") breaksw default: echo "C $rnx in Unknown format" exit 1 breakw endsw (echo $cvrg; $cmd) | awk 'NR == 1 {rng = $1; maxs = 3600; ml = 1; intv = 1} \ /TYPES OF O/ {ml = int($1/5 + .999)} /TIME OF FIRST/ {go = NR + 2} \ NR == go {cnt++; go = NR+substr($0,31,2)*ml+1; new = $5*60+$6; \ gap[(new-old) % maxs]++; old = new} \ END {for (i=1;i<=maxs;i++) if (maxi < gap[i]) {maxi = gap[i]; intv = i} \ print int(cnt*intv/360/rng+0.5)}' | sed -e "s/10/X/" if ($status) echo C exit help: sed -e "1,/#help#/ d" $0; exit qkrnxqc -r rinex file name [nn] qkrnxqc counts the number of observation records and exams the sampling interval, then computes per-decimal of data coverage according to expected coverage. Upon return, per-decimal is given through standard output. (e.g. 5 for 45-55%, 8 for 75-85%, and X for 95-100% C for corrupted) -r rinex file (in either compressed or uncompress form, must follow the rinex naming convention, ie. ssssddds.yyo or ssssddds.yyo.Z) nn expected coverage in hour (e.g. 30) default = 24 Note: sampling interval must be within 1 sec to 1 hour