UNAVCO Teqc Tutorial

61
June 6, 2014        Teqc Tutorial    Basics of Teqc Use and Teqc Products        

description

teqc

Transcript of UNAVCO Teqc Tutorial

  • June6,2014

    TeqcTutorialBasicsofTeqcUseandTeqcProducts

  • Teqc Tutorial: Basics of Teqc Use and Teqc Products

    by Lou Estey and Stuart Wier

    June 6, 2014

    Cover illustration: UNAVCO

    Teqc is developed and supported by UNAVCO, and funded by NSF and NASA.

    Copyright 2012, 2013, 2014 UNAVCO Inc.

    UNAVCO6350 Nautilus Drive

    Boulder, Colorado U.S.A.www.unavco.org

  • TeqcTutorial 1

    TableofContents1Introduction..............................................................................................................................................3

    1.1IntroductiontoTeqcandtheTutorial...............................................................................................31.2TopicsinthisTeqcTutorial..............................................................................................................4

    2InstallingTeqc........................................................................................................................................5

    3QuickStart..............................................................................................................................................73.1CommonTeqcCommands...............................................................................................................7

    3.1.1Metadata....................................................................................................................................73.1.2QualityChecking.......................................................................................................................73.1.3DecimatingData........................................................................................................................93.1.4Splicing....................................................................................................................................103.1.5Translation...............................................................................................................................103.1.6TimebinningwithtbinOption...............................................................................................113.1.7Usingrealtimeinputdatastreams..........................................................................................13

    4WorkingwithTeqc................................................................................................................................154.1RunningTeqc.................................................................................................................................154.2RunningTeqconWindows............................................................................................................154.3TheTeqcCommandLine...............................................................................................................154.4Options...........................................................................................................................................164.5InputandOutput,Files,andRedirection.......................................................................................17

    5GettingStartedwithTeqcTranslation...................................................................................................195.1Basictranslationcommandline.....................................................................................................195.2Teqcinputfileformatspecificationandautoidentification.........................................................205.3Typicaltranslationoptionsandarguments...................................................................................215.4RINEXnavigationmessageandmeteorologicalfiles..................................................................235.5Translationexamples....................................................................................................................245.6Commonfailuresintranslation......................................................................................................26

    6GettingStartedwithTeqcEditing.........................................................................................................27

    7GettingStartedwithTeqcQC................................................................................................................297.1QCcommands................................................................................................................................297.2InterpretingQCresults...................................................................................................................33

    TheQCScreenOutput:theASCIITimePlotandtheShortSummary...........................................33TheQCSummaryReport.................................................................................................................38TheQCFullReport..........................................................................................................................42TheQCPlotFiles.............................................................................................................................42AzimuthandElevationPlotFiles..................................................................................................43

  • TeqcTutorial 2

    IonosphericDelayPlotFiles.........................................................................................................44MPPlotFiles.................................................................................................................................45SN1,SN2,andSN5PlotFiles.......................................................................................................45

    8FindingHelp..........................................................................................................................................47TheUNAVCOTeqcEmailForum.......................................................................................................47EmailtoUNAVCOteqcstaff...............................................................................................................47

    AppendixA:TeqcTranslationReceiverTypesandFormats....................................................................48AppendixB:TeqcQCASCIITimePlotSymbolsandtheSymbolHierarchy.........................................50AppendixC:TeqcQCFullReportDescription........................................................................................51AppendixD:SomeFrequentlyAskedQuestions......................................................................................56AppendixECOMPACTandCOMPACT2FileFormats..........................................................................58

  • TeqcTutorial 3

    1Introduction

    1.1IntroductiontoTeqcandtheTutorialTeqcisacomprehensivetoolkitforsolvingmanyproblemswhenpreprocessingGNSSdata:

    translation:readGNSSnativereceiverfilesandtranslatethedatatootherformats

    editing:metadataextraction,editing,and/orcorrectionofRINEXheadermetadataorBINEXmetadatarecords;aswellascutting/splicingofRINEXfilesorBINEXfiles

    qualitycheckingofGPSand/orGLONASSdata(nativebinary,BINEX,orRINEXobservationfiles,withorwithoutnavigationfileswithephemerides)

    Thethreefunctionsfromwhichteqcgetsitsname,translation,editing,andqualitychecking,canbeperformedseparately,inpairs,oralltogetherinasinglerun.

    Thistutorialisintendedtohelpyoulearntouseteqc,byshowingexamplesofteqcuseincommonsituations. Thistutorialdescribesbasicteqcprocessingandteqcoutput,emphasizingthebasicteqccommands, with complete details about the products generated. New teqc users should, at theminimum,reviewsections1through4,andothersectionswhichdescribetheparticularprocessingyouneed.ManypracticalandcommonusesofteqcaredescribedbythisTutorial.

    Youcanuseteqcto

    translate(convert)certainnativebinaryformats(e.g.,Trimble*.dat)toRINEXobsand/ornavfiles

    checkaRINEXfileorfilesforcompliancewiththeRINEXversion2specification;forexample,missingnonoptionalheaderfieldsareidentified.

    modify(edit)anyexistingRINEXheaderfieldsinaRINEXfileandoutputtheresultingeditedRINEXfile.

    qualitycheckavalidRINEXobsfileorfiles,butwithoutaRINEXnavfileorbinaryephemerides(thisisqclite;teqchasnosatellitepositioninformation).

    qualitycheckavalidRINEXobsfileorfilesusingephemeridesdatainavalidRINEXnavfileorfiles(thisisqcfull;teqchassatellitepositioninformation).

    window,cut(specifyasubwindowoftime),orsplicetwoormoreRINEXfiles. createanewRINEXfilewithalongersampleinterval,sayfrom1secondto30seconds.

    Thesemodesofoperationworkaloneor inconcertwithoneanother. Teqcusesacommandlineinterface,speedingexecutionofroutineorrepeatedprocessing,allowinguseofteqcinscripts,andavoidingtherepetitivemenuclickingrequiredbyagraphicaluserinterface.

    ThemostcommondataformatusedwithteqcisRINEX.ShortnamesforthethreebasickindsofRINEXformatsareusedthroughoutthisdocument:obsfileforaRINEXobservationdatafile,navfileforaRINEXnavigationmessagefile,andmetfileforaRINEXmeteorologicaldatafile.TeqccurrentlyhandlesRINEXversionsthroughversion2.11.Thecapabilitiesof teqc extendbeyondusingRINEXfiles,asyouwillseeinthistutorial.

  • TeqcTutorial 4

    Teqcdoesnotdoprecisepointpositioningandteqcshouldnotbeusedtofindpreciseantennapositions.Teqccomputesanapproximateantennapositiontoaiditsqccalculations,buthighprecisionpositionsarenotneededforteqcqc.Teqc'sapproximateantennapositionisonlyusedtodeterminetheskypositionsofsatellitesasseenbythereceiver.Theteqcantennapositionmaybeinerrorby10metersormore.Thiserrorisacceptableforteqc'sneeds;anantennapositionerrorof10metersdoesnotsignificantlychangethedirectiontosatellitesasseenfromthereceiver. Teqcdoesnotuse theantennapositionintheRINEXfileheaderforteqccomputations,ifoneispresent.

    TeqcisprovidedatnocostbyUNAVCO,asexecutablebinariesforall commonprocessors.Toinstallteqcyoudownloadonefile. Youdonotdownloador'build'anyotherfilesorsoftware. Teqcexecutablefilesforall platformsshouldgiveidenticalresults inall cases. UNAVCOprovidesusersupportforteqc.

    Teqcispronounced "tek"or "tech,"' likethefirst syllableof thewordtechnology,at leastbytheUNAVCOstaff.Teqcisalowercaseword,aswhenteqcisusedonacommandline,notcapitalizedlikeaconventionalacronym.

    1.2TopicsinthisTeqcTutorialTheinstallationprocedureisdescribedinsection2.

    Section3providesaquickstart,withcommonteqccommands.

    Section4showssomebasicsaboutworkingwithteqc.Thisdescribestheteqccommandlineinterface,teqc'soptionsorprocessingchoicesandcontrols,andredirectionofinputandoutput.

    Section5introducesuseofteqctodecodenativereceiverfilesandtranslatethedatatoRINEX2.11format.

    Section6isanintroductionto"editing"withteqc,includinghowtomodifyteqc'sprocessing.

    Section7isanintroductiontousingteqcforqualitycheckingGNSSinformationfromreceivers.

    Section8showswheretofindhelpaboutteqc.

    AppendixAliststeqctranslationreceivertypeoptionsanddataformattypenames(seesection5).

    AppendixBlistssymbolsusedintheteqcqcASCIItimeplot(relatedtosection7).

    AppendixCdescribestheteqcqcfullreport(relatedtosection7).

    AppendixDhassomefrequentlyaskedquestionsaboutteqc.

  • TeqcTutorial 5

    2InstallingTeqcTeqcissuppliedbyUNAVCOasreadytorunexecutablefilesforseveraloperatingsystemsand

    processors.Youdonotneedtofindordownloadanyotherfilesorsoftware,changeorcreatesystemconfigurationvalues,buildsoftware,orrunaninstallerprogram.Justdownloadoneteqcfileandrunit.

    On the UNAVCO teqc web site (www.unavco.org/software/dataprocessing/teqc/teqc.html), lookunder'Executables'.Youwillseealistoflinkstodownloadcompressedfilesofteqcexecutablesforanumberofoperatingsystems,includingvarietiesofWindows,Mac,Linux,andSolaris.Downloadtheexecutableforyoursystembyclinkingonitslink.Savethefileinthefolderordirectorywhereyouwanttokeeptheteqcexecutable.

    OnWindowsVista,youmayhavetroublerunningteqc if youput theteqcexecutablefile in theC:\ProgramsFilesfolderduetofilepermissionproblems,souseoneofyourpersonalfolderstoholdteqconVista.

    Unpackthedownloadedfile. ForWindows,thedownloadedteqcfilesarezipfilesandyouuseaWindows Zip utility such as Winzip, as from www.infozip.org. For Mac, Linux, and Solaris, thedownloadedteqctarfilecanbeunzippedanduntarredwithonetarcommandsuchas:

    & tar xzf teqc_Lx86_32d.tar.Z(Inthistutorial,commandsareinaboldmonospacefontlikeabove,with&representingyourcommandlineprompt.)

    Thezinxzfdoesgunzipbeforethetarextraction(tar xf)ofthefile.Ifyoursystemdoesnotprovidetarwiththezgunzipoption,firstrun & gunzip teqc_Lx86_32d.tar.Zandthenrun

    & tar xf teqc_Lx86_32d.tarUnpackingthedownloadedfileshouldmakeonenewfilenamedteqc,whichistheteqcexecutable

    foryoursystem.Itwillbebetween1and2megabytesinsize.

    SometimestheteqcfileisnotsettobeexecutableafterbeingdownloadedonUNIXbasedoperatingsystems.AUNIXbasedcommandtosetteqctobeexecutableforallusersis

    & chmod 755 teqcOnMac,Linux,orUNIX,ithelpstoputteqcinyourshell'sPATHvariable.Thenyoucanusetheone

    wordcommandteqctorunteqcinanydirectorysuchasPATH=$PATH:/home/user1/teqc/bininaloginfilesuchas.bashrc.OryoumaycreateanaliaswithaLinuxcommandsuchas

    & alias teqc='/home/wier/teqc/official-teqc/teqc'Usethecurrentversion

    Thecommandteqc +versionshowstheversion(dateofcreation)ofyourteqcprogram.Pleaseusethecurrentversionofteqc.Itwillhavenewfeatures,andfixesforrecentlydiscoveredproblems.UNAVCOdoesnotsupplyorsupportolderversions. Seetheteqcwebsitehomepage,executablessection,forthedateofthelatestversion.Youcansaveanolderversionasaprecautionifyouwish.

  • TeqcTutorial 6

  • TeqcTutorial 7

    3QuickStart

    3.1CommonTeqcCommands

    Thissectiondemonstratessomecommonteqccommands.Trythesewithyourdatafiles.Theinputfilenameintheseexamples,oftenareceiverfileoraRINEXobsfile, iscalled inputfile. Intheexamplesnofilepathsareshownsothedatafilesareinthecurrentworkingdirectory(folder),butyoucanusefullfilepathsinyourcommands.CommandsyntaxfortheseexamplesisLinuxbash.

    OnWindows,sinceteqcisacommandlinetool,itmustberunfromaterminal.TeqcexecutablesforWindowsarenamedteqc.exe. TeqcisnotaMSWindowsGUI;teqcisacommandlineprogram.Clickingonteqc.exewillonlyresultinawindowpoppingupforafractionofasecond.YoumustuseaDOSemulationwindowandrunteqc.exeonthecommandline. InWindowsXP,theterminalistheCommandPromptapplication.Forexample,onMS2000orXP,clickonStart,andthenRun,andintheRunwindowtypecmd,andclickonOKtobringupaDOSemulationwindowwhereyoucanentercommandlines.OnWindows7youcanreachthecommandpromptlinebypressingtheShiftkeyandarightclickoverafolder.Anewoptionappearsinamenu,"Openterminalwindow."Runteqcintheterminalwindow.

    3.1.1Metadata

    Toseemetadatainaninputfile,eitherRINEXorarawnativereceiverfile:

    & teqc +meta inputfileThisreturnsa20somelinemetadatasummaryabouttheinputfile.ThisteqccommandworksforeitherRINEXfilesorfornativereceiveroutputfiles,automaticallyrecognizedbyteqc;seesection5.

    TogetasummaryofhowmanyobservationsareinaRINEXfile:

    & teqc -O.sum . inputfile

    whichshowswhichSVsaretracked,thetypesofobservations(suchasL1andL2),andacountoftheobservablesforeachtypeforeachSV.Besuretoincludethesingle. period.

    3.1.2QualityChecking

    Todoqualitychecking(qc)ofaRINEXobservationinputfile,outputtheqcresultstothescreen,andtowritethe"qcplot"filesandthe"qcreport"file:

    & teqc +qc inputfileinputfileisaRINEXobsfile.TeqcwillalsofindanduseanyRINEXnavfilescorrespondingtotheinputobsfilewhichareinthesamedirectoryasthe inputfile.Thiscreatesoutputtoscreen,andanewfile,withnewfileextensionendinginS,suchasinputfile.10S Thefileinputfile.10S is

  • TeqcTutorial 8

    the'qcreportfile.'

    ToexcludeallGLONASSobsfromthequalitycheck,use:

    & teqc +qc -R inputfile > new_obs_without_glonassUsethe'R'optiontoremoveGLONASSwhiledoingtranslation,qcoperations,orevensomeotherfilteringofaRINEXfile.Similarlyuse'S'toremoveSBAS,'G'toremoveGPS,'E'toremoveGalileo,'C'toremoveBeidou/Compass,and'J'toremoveQZSS.Thesecanbeusedindividuallyoratthesametime.Justdon'tuseallsixatthesametime,i.e.'GRSECJ',asthiswillremovethedatafromallpossibleconstellations.

    Tomakesurethatsucceeded,do:

    & teqc -O.sum . new_obs_without_glonass

    IfyougetasummarywithonlyGPSSVs,youshouldbeOK.Donotomitthe"."period.

    ToexcludeobservationsfromspecificsatellitesbyPRN(GPSPRNs1,15,and22inthiscase):

    & teqc +qc -G1,15,22 inputfile

    IncludeacommabetweentheGPSnumbers.

    ToexcludeobsfromarangeofSVIDs,R1throughR15use,andalsothesingleSVG14:

    & teqc +qc -R1-15 -G14 inputfile

    Doteqcqc,butdonotuseanyGPSnavfiledata:

    & teqc +qc -no_orbit G inputfileDoteqcqc,butdonotuseanyGLONASSnavfiledata:

    & teqc +qc -no_orbit R inputfileTheqcreportfile,withafilenameendinginSlikeinputfile.12S,ismade.

    Do+qcqtodoteqcqcbutcreatingnoqcreportfile.Thisisqcquick:

    & teqc +qcq inputfileDofullqcandsendstandardoutput(normallyseenonscreen)toafile''outfile":

    & teqc +qc inputfile > outfile

    Dofullqcwithoutseeingorsavingerrormessages(whichalsootherwiseappearonthescreen):

  • TeqcTutorial 9

    & teqc +qc inputfile 2> /dev/null

    Thesymbols>and2>areLinuxandUNIXoutputredirectioncommands,sendingcommandoutput(stdoutandstderr)toafile,orto'null.'ForoutputredirectiononWindows,seesection4.5.

    Doqcquick(+qcq)withnoerrormessagesshownorsaved,andsendthenormalqcscreenoutputtooutfile.Noqcreportfileismade:

    & teqc +qcq inputfile > outfile 2> /dev/nullDoqcq,andappendateqcQCsymboltable(+sym)totheoutput:

    & teqc +qcq +sym inputfile 2> /dev/null > outfile Doqcq,andalsoaddanystandarderroroutputtothesingleoutputfile:

    & teqc +qcq +sym inputfile > outfile 2>&1

    3.1.3DecimatingData

    To'decimate'(subsample)observationsinaRINEXobsfile,whoseoriginalsamplingintervalisgreaterthan1second,useoption-O.dec .Forexampletodecimateto60secondsinterval,andsavetheresultsinthenewfileBCH164dec.12o:

    & teqc -O.dec 60 BCH164.12o > BCH164_decim60s.12oWhentheoriginalsampleintervalis1secondorless,youmustalsoincludetheoption-O.inttodefinetheoriginalsamplingintervalinseconds(inmostcases).Forexample,todecimate10Hz(0.1secondinterval)datato60seconds:

    & teqc -O.int 0.1 -O.dec 60 MKW164.12o > MKW164_decim60s.12o

    Sotodecimatedatato30seconddata:

    wheretheoriginalsamplingintervalis>1second,youjustneedusethe'-O.dec'option,sotodecimateto30secondoutputdata,use'-O.dec 30'.

    iftheoriginalsamplingis

  • TeqcTutorial 10

    Includingthethe'-O.int'optiondoesn'thurtineithercase.

    3.1.4Splicing

    TospliceseveralRINEXnavfilesfromonesitetogetherintoonenavfileWRHM234.11g: & teqc WRHM234[A-W].11g > WRHM234.11g

    oryoucando:

    & teqc WRHM234*.11g > WRHM234.11g

    3.1.5Translation

    Thecommandteqcwithoutanyoptions,onlyaninputfilename,doesteqctranslation.Theinputfilemustbeatypewhichteqcrecognizesautomatically;seesection5below.

    Thenormaloutput(tothescreen)fromteqctranslationisintheRINEX2.11format.Inthenextexamplecommand,theoutputisredirectedtothefiletmp.o.

    TotranslaterawreceiverdatatoaRINEXobsfilenamedtmp.o: & teqc inputfile > tmp.o

    TotranslaterawreceiverdataininputfiletoaRINEXobsfilenamedtmp.o,andtranslatethenavdataintheinputtoRINEXandputthenavdatainfiletmp.n: & teqc +nav tmp.n inputfile > tmp.o

    Againtheobsoutputisredirectedtothefiletmp.o.Thecommandoption+navnamesanewnavfile tmp.ntobemade.Theinputfilemustbeakindwhichteqctranslationrecognizesautomatically.

    Anotherwaytodothesamethingusestheteqccommandoption+obsnamingtheoutputobsfile: & teqc +nav tmp.n +obs tmp.o inputfile Totranslaterawreceiverdata,aTrimble.datfile,toRINEXmetdata:

    & teqc -tr d +met 79990360.DAT Youcantellteqctheformatoftheinputfiletotranslate,usingoptionslike-tr d.Seedetailsinsection5below.

  • TeqcTutorial 11

    3.1.6TimebinningwithtbinOption

    YoucanusetheteqctbinoptiontomakedailyRINEXmetfilesfromfile79990360.DAT:

    & teqc -tr d -tbin 1d outputfile +met + 79990360.DAT

    Youcanreplaceoutputfileafterthe1dwithanystring;thiswillbeatthebeginningofRINEXfiles'namescreatedwiththe-tbinoption.Thebare+signafter+metmeansmakeasequenceofmetfilesfor1daytimebinsmadewith -tbin 1d.

    Formakingdaily(1d)observationandnavigationRINEXfilesfromarawreceiverfile(whenthereceiverfiletypeisatypeautomaticallyrecognizedbyteqc):

    & teqc +obs + +nav +,+ -tbin 1d outputfile inputfile

    Thenewfileisoutputfile.Formakingonehour(1h)longobservationandnavigationfiles:

    & teqc +obs + +nav +,+ -tbin 1h outputfile inputfileThe+nav +,+makestwonavfiles,oneforGPSandoneforGLONASS,bothfilenamesbeginningwithprefix outputfile.The -tbincommandoptionanditsarguments,-tbin 1d outputfile,makedaylengthfilesfromoneinputfile.Iftheinputfileisseveraldayslong,severaloutputobsandnavfileswillbemade,oneofeachforeachday.

    Abare"+ "signafter+obsorafter+navmeanstomakeasequenceofobsandnavfileswhichmatchthe1daytimebinsmadewith -tbin 1d.Theoption+nav +,+meansmakeseparateGPSandGLONASSnavfilesforthetimebins.Thetbinoutputrepresentstherootnameforallthenewfilesmade.Youcanmakehourlyfilesbyusing-tbin 1hinplaceof-tbin 1d.

    TomakedailyRINEXmetfilesfromaRINEXfile89670360.DAT:

    & teqc -tr d -tbin 1d outputfile +met + 89670360.DAT

    Thenewfilenamebeginswithprefixoutputfile.YoucanreplaceoutputfilewithanynameforthebeginningoftheRINEXfilenamescreatedwiththe'tbin'option.

    FormakingdailytimebinnedobservationandnavigationRINEXfilesfrommanyreceiverfiles,youcaninputalistoffiles:

    & teqc +obs + +nav +,+ -tbin 1d tbinoutput input1 input2 input3

    Thelistisseparatedwithspaces.

    OnaLINUXtypeoperatingsystemyoucanusefilenameexpressionstostandinforalistoffile

  • TeqcTutorial 12

    names:

    & teqc +obs + +nav +,+ -tbin 1d tbinoutput SITE*.12oor

    & teqc +obs + +nav +,+ -tbin 1d tbinoutput SITE[0-120]0.12oor

    & teqc +obs + +nav +,+ -tbin 1d tbinoutput STA9120[A-X].12oNotethat-tbincansubdivideand/orcombineseveralinputfiles.Iftheinputfilesarelessthanadaylongtheywillbecombinedintooneormoredailyfilesasneeded.Iftheinputfilesaremorethanadaylong,thedatawillberecombinedintoseveraldailyfiles.Ifsomeinputfilesarelessthanadaylong,andsomemorethanadaylong,theyallwillberecombinedintoseveraldailyfilesasneeded.

    Todecimatehighratedatato30secondintervals,andmakedailyfiles:

    & teqc -O.dec 30 +obs + +nav +,+ -tbin 1d tbinoutput inputfiles

    ToalsosettheantennatypeasTRM59800.00intheRINEXfiles'headers(teqc"editing"output):

    & teqc -O.at TRM59800.00 +obs + +nav +,+ -tbin 1d tbinoutput inputfiles

    Makethedailyfiles,butexcludingGLONASS(R),GALILEO(E),andSBAS(S),butleavingallGPS(G):

    & teqc -R -E -S +obs + +nav +,+ -tbin 1d tbinoutput inputfilesThiscreatesfileswithnoobservabledatafromGLONASS,GALILEO,andSBAS,andnoephemeridesfromnavdataofthosesystems.ThisprocessingisusefulincaseyouaredoingGAMITprocessingorothermethodswhichdonotasyetuseGLONASS,GALILEO,andSBAS.

    Similarly,butexcludingobservationsfromspecificsatellitesbyPRN(GPSPRN1and15inthiscase):

    & teqc -G1,15 +obs + +nav +,+ -tbin 1d tbinoutput inputfiles

    ToignoreallSVSfromG1throughG15use:

    & teqc -G1-15 +obs + +nav +,+ -tbin 1d tbinoutput inputfiles

    EditingaRINEXfileheaderitem:tosettheantennatypetoTRM59800.00intheRINEXheader,andalsototbintodailyfiles:

    & teqc -O.at TRM59800.00 +obs + +nav +,+ -tbin 1d outputfile inputfiles

  • TeqcTutorial 13

    3.1.7Usingrealtimeinputdatastreams

    OnaLinuxsystem,whenyouhaveaNetRSreceiverwithaBINEXrealtimedatastreamsetup,goingtoIP69.44.87.177onport9999,tocatchtheBINEXstreamusingtheLinuxnetcat(nc)utility,pipeittoteqc,andoutputtherawmetandtiltdatatostdout:

    & nc 69.44.87.177 9999 | teqc -binex +eds

    TocatchtheBINEXstream,pipeittoteqc,andoutputtheobsdata(withnometdata)toRINEXfiletestRSfile,withthiscommand:

    & nc 69.44.87.177 9999 | teqc -binex +obs testRSfile

    TocatchtheBINEXstream,pipeittoteqc,andoutputthemetdatatoafile:

    & nc 69.44.87.177 9999 | teqc -binex +met temp.metTocatchtheBINEXstream,pipeittoteqc,bintheobsandmetdataintofilesof5minutetimecoverage,andoutputtheRINEXresultstofilesbeginningwithMKW: & nc 69.44.87.177 9999 | teqc -binex +obs + +met + -tbin 5m MKW

    TocatchtheBINEXstream,andoutputreceiverstatetostdout(thescreen)fromaBINEXstream:

    & nc 69.44.87.177 9999 | teqc -binex +rx_state

    TocatchaTrimbleRT17streamonport9927,pipeittoteqc,andoutputthemetdatatothefiletest.met:

    & nc 69.44.87.177 9927 | teqc -tr s +met test.met

    andatthesametime,inanotherwindow,do

    & tail -f test.mettoseethemetfileinrealtimeasitiscreated,whichisespeciallyvaluabletochecknewmetinstallationsinthefield.

    HereisasimpleLinuxkshscriptwhichdoesteqcqconallavailablefiles,thoseendingin.11ointhelocaldirectory,andusingacombinedGPSnavigation(brdc)datafile:

    #!/bin/kshfor file in *.13o do echo $file teqc -O.int 1 -nav brdc0280.13n +qc -mp_win 900

  • TeqcTutorial 14

    -ion_jump 8 -iod_jump 3e38 $file done# end of script

    Whenqc'inghighratedatausersshouldmodifytheslipdetectionparameterswiththeseteqcoptionsandexamplevalues:

    5Hz:-mp_win 4500 -ion_jump 8 -iod_jump 3e381Hz:-mp_win 900 -ion_jump 8 -iod_jump 3e38

  • TeqcTutorial 15

    4WorkingwithTeqc

    4.1RunningTeqcTeqcprovidesmanyprocessingchoices,eachperformingaspecifictaskandhavingdefinedinputs

    andoutputs. Teqc is acommand lineprogram(following theUNIXshell model). Command lineoperation allows several processing options in one command, speeds execution of routine andrepetitiveprocessing,allowsuseofteqcinscripts,andavoidstherepetitivemenuclickingrequiredbyagraphicaluserinterface.

    Oneteqccommandcanhaveoneormoreprocessingsteps.Asanexample,withasingleteqccommandyoucantranslateaTrimblebinarystreamtoRINEXobsandnavfiles,haveemptyheaderfieldsintheobsfile(suchasthemonumentname)filledin,anddoqc(qualitychecking).

    Eachprocessingchoiceiscontrolledbyspecificoptions,whicharewordsinthecommandline.Theexamples in this tutorial providean introduction tocommonoptions. Theexample command linesappearinafixed width font.Theseexamplescanbeusedwithsuitableinputfilesandwithfewornootherchanges.

    Fortheremainderofthisdocument,itwillbeassumedthattheuserisusingaUNIXlikeoperatingsystemandisfamiliarwithbasicUNIXlikecommands.Examplecommandlinesinthistutorialareforthebashshell,theBourneshell(sh),ortheKornshell(ksh). Commandsinthecshshell,andotheroperatingsystems(e.g.DOS),areusuallythesameorsimilar.

    4.2RunningTeqconWindows

    Sinceteqcisacommandlinetool,itmustberunfromaterminal. InWindows,theterminalistheCommandPromptor'cmd'application.OnWindowsXP,clickonStart,andthenclickRun,andintheRunwindow's"Open"entryboxtypecmd,andthenclickonOKtobringupaDOSemulationwindowwhereyoucanentercommandlines. OnWindows7youcanreachthecommandpromptlinebypressingtheShiftkeywitharightclickoverafolder.Anewoptionappearsinamenu,"Openterminalwindow."

    Try to run teqc with just teqc on the command line. If Windows returns "teqcisnotrecognizedasaninternalorexternalcommand,operableprogram,orbatchfile" thenrenamethefile teqc to teqc.exe, anduse teqc.exe fortheteqccommandwhenrunningteqc.Thistutorialusesteqcfortheteqccommandexamples,notteqc.exe.WindowsdoesnotprovidetheLinuxandUNIX>outputredirectionoption.ForWindowsfileredirection,seesection4.5.

    4.3TheTeqcCommandLine

    Atypicalteqccommandis

    & teqc +qcq jplv3000.12owhichdoesteqcqualitycheckingofaRINEXobsfilefromstationJPLVonday300of2012.Outputistothescreen.Teqcnevermodifies(overwrites)inputfiles.Useoutputredirection,Section4.5,tosee

  • TeqcTutorial 16

    howtocreatenewfiles.

    Thetypicalsyntaxforteqcis:

    & teqc {option} [the option's argument or value, if any] inputfileOneormoreoptionsmayappearafterteqc;eachmayhaveanargumentorvalue.Optionsusually

    beginwiththe+orcharacter.Optionsmaybefollowedwitharguments(values),informationusedbytheoption.

    The filenameornames listedat theendof thecommandline arethetargetsor input dataforprocessingbyteqc.Otherfilenamesmaybepresent,earlierinthecommandline.Anyfileslistedrightafter theoptions, and not the last itemat theendof thecommand line, areacommandoptionargumentandoftenarenottheprimaryinputforprocessing.

    Youcanusecompletefilepathsforallfilesinateqccommand(includingteqcitself),suchas

    & /aps/gnss/software/teqc +qc /data/gnss/2012/jplv/jplv3000.12oshowingwherefilesarelocated,usingthepathsyntaxforyourOS.CompletepathnamesarenotnecessarywhenteqcisfoundintheLinuxPATH,orifafilenamedinthecommandislocated,orcanbelocated,inthecurrentworkingdirectory.

    Thereareafewteqccommandswithnoinputdatasourcefileslistedinthecommand.Whenrunwithoutoptionsorinput

    & teqcreturnsteqc'svalueforthecurrentGPSweek,basedonyourlocalCPU'sclocksetting.HowgoodthisvalueisofcoursedependsontheCPU'stimebeingsetcorrectly.

    Thecommand

    & teqc +versionreturnstheteqcbuilddate(teqcversion),andtheoperatingsystemthiscopyofteqcwasbuiltfor.

    The+helpoption & teqc +helpshowsmorethan300linesaboutteqcoptions.Oneshouldgetinthehabitofrunning`teqc+help`togetalistingofteqc'scommandoptions.

    Sometimes,especiallywithnewfeatures(e.g.,newtranslators)astheyarebeingaddedanddebugged,youmaybeinundatedwithwarningmessagesgoingtostderr.Mostofthesecanusuallybesuppressedbyincludingthewarnoption: & teqc -warn {restofcommand}.

    4.4Options

    Teqc'soptions,usedafterteqcinthecommandline,controlwhatprocessingoccursandhowprocessingoccurs.InthefirstcommandinSection4.2theoptionis+qcqwhichdoesqualitycheckingofanobsfile.Youcanlearnoptionnamesinthistutorial,withthecommand teqc +help.Thereareitemsinthecommandlinewhichaidormodifyoptions;thesearecalledoptionarguments.

  • TeqcTutorial 17

    Datafilenamesmaybeargumentsforoptions;forexample,thenameofafilewhereyouwantsomeoftheresultsoftheprocessingtobewritten.

    Youcanlistmostofteqc'soptionswithteqc +help.OptionsusedforreadingvariousfileformatsandfortranslationtoRINEX,aredescribedinsection5here.OptionsforeditingRINEXheaderswithteqcaredescribedinsection6.

    Someoptionsareforparticularkindsofteqcprocessing,andsomehaveamoregeneralpurpose.OptionsaredescribedthroughoutthisTutorial.

    Inafewcases,anextralettermaybebeaddedtotheendofanoption,whichmodifiestheoptionprocessingandwhichmaybethoughtofasanotherkindofoptionargument (oranewoption). Forexamplethesecondqinthecommoncommandteqc+qcq modifiestheresultsfrom teqc+qc.Optionnamesusuallybeginwith+or-.Manyoptionshaveboth+andforms,andthetwoforms

    producedifferentresults.Whenyoulearnaboutanoption,the+or isalsoindicatedaspartoftheoptionname.Forexamplethelistfromteqc +helpshowsoptionsbeginningwith+and . Forafewoptions,bothand+dothesamething.Andafewoptionsbeginwith++.The ,+,or++ispartofthecompleteoptionname. Youdoneedtoworryabouta"meaning"foror+;justusetheoptionnamewhichdoeswhatyouneed.

    (Thereisamnemonicgoverningtheeffectoftheor+precedingeachoption:

    leading+:outputsomething(besidesstdoutand/orstderr),orturnonsomeoption.

    leading:inputsomething(besidesstdinoratargetfilelist),orturnoffsomeoption.)

    4.5InputandOutput,Files,andRedirection

    Teqcsendsprocessingresults(stdoutinUNIXterminology)anderrormessages(stderrinLinux)tothescreen,unlessotherwisedirected.Youcanredirectthoseteqcoutputstreamstofiles;thatishowtosaveteqcresultsinfiles.

    Stdoutisthe"standardoutput"stream,thenormalresultsfromteqc.Stderr("standarderror")isaseparate stream, reporting problems that may occur any time teqc encounters something whileprocessingafile(oranyinput)thatitdoesn'tlikeorunderstand. Normally(withoutredirection)bothstdoutandstderrstreamsgotothescreen,mixedtogether.

    Linux"csh"shellandWindows(DOS)donotseparatestdoutandstderr.WithcshorDOS(oranyshell), use teqc's options +out, ++out, +err and ++err to redirect teqcstdout and/or stderr tospecificfiles.

    Examples

    Redirectionofstandardoutput,stdout,toafileout.txt:

    onbash,sh,orkshLinuxshells:teqc{restofcommand}> out.txt

    oronanyshell:teqc +out out.txt{restofcommand}

    "stderr"stillgoestothescreen.

  • TeqcTutorial 18

    Redirectionofstandarderroroutput,stderr,toafileerr.txt:

    onbash,sh,orkshLinuxshells:teqc{restofcommand}2> err.txt

    orfromanyshell:teqc +err err.txt {restofcommand}

    "Stdout"goestothescreen.

    Redirectbothstdoutandstderrtoonefilenamedcombine.txt:onbash,sh,orkshLinuxshells:

    teqc {restofcommand}> combine.txt 2>&1 oronanyshell:

    teqc +out combine.txt +err combine.txt{restofcommand}

    Notethatstdoutgoestofilecombine.txt,and2>&1means"sendstderrtothesameplaceasstdout."

    Toappendtoanexistingfileofresults,onLinuxorUNIXuse>>inplaceof>inalltheredirectionexamples,oruse++outor++errinplaceof+out or+err.Generallyteqcisrunwithinputdatafromafile.Afilenameattheendoftheteqccommand

    indicatesthetarget(input)filetobeprocessed.Afilenamebeforetheendoftheteqccommandisnotinput.

    OnLinuxandotherUNIXbasedtypesystemsthetargetinput,insteadofafilename,mayberedirectedstandardinput(stdin)usingthe

  • TeqcTutorial 19

    5GettingStartedwithTeqcTranslationTeqc can translate many receivers' native binary data to RINEX (2.11), including both GNSS

    observation files andRINEXnavigation message files. TheGNSSdata can includesignals fromtrackingGPS,GLONASS,Galileo/GIOVE,SBAS,Beidou2/Compass,andQZSS.Inaddition,teqccantranslatethemeteorologicaldataofmanymetpackformatswhenthemetpack isattachedtotheGNSSreceiverandthereceiverisqueryingthemetpackformetobservations.SuchmetdatacanbetranslatedbyteqcintoameteorologicalRINEXfile.

    5.1Basictranslationcommandline

    ThebasictranslationcommandlinetoconvertnativebinarydatafiletoRINEXobservationformatissimple:

    & teqc raw_input_filename

    whichsendstheRINEXtranslation(ifsuccessful)tostdoutwhereitwillshowuponyourscreen.Notinthiscaseteqchasnocommandoption.

    Typically,youwillwanttocapturetheoutputasafile;redirecttheoutputtoafilewithanameofyourchoice:

    & teqc raw_input_filename > RINEX_observation_filename

    That'sit!

    Butforthistooccursuccessfully,severalthingsmustoccur.First,thebinaryformatoftherawfilebeingreadbyteqcmustbeoneofthemanyformatsthatteqcisabletodecode;foracompletelistofformatsthatteqcreads,seeAppendixA.Second,teqcmustbeabletoidentifytheformatbeingread;moreaboutthisinthenextsubsectionofthetutorial.Third,theremustbesomeGNSSdatainthebinaryfiletoactuallyconverttotheRINEXobservation,inarecordthatteqcunderstands.Andfourth,theGNSSdatarecordsofthebinaryfilecan'tbecorruptedinanyway.Ifalltheseconditionsaremet,teqcwillfindadefaultsetofobservables(dependingontheformatandotherfactors)tobeusedintheRINEX.Attheendofthissection,we'lltakeacloserlookatthesefourrequirementsanddiscusscommonfailuresituations.

    Themoregeneralteqccommandlinesyntax(likejustabouteveryteqctask)is:

    & teqc {options} binary_input_filename1 { binary_input_filename_2 { ... } }

    where(unlessyouareusingthe-tbin option)allthebinaryinputfilesarereadinorderandoutputtogetherintheresultantRINEX.Theinputfilenamesareseparatedbyspaces.

  • TeqcTutorial 20

    5.2Teqcinputfileformatspecificationandautoidentification

    Oneof theoptions that canbespecified is to tell teqc theexpected format of the input file. Forexample,normalTrimbledatathat teqccanreadcaneitherbe inTrimble'sRT17structurewithafilenamesuffixof.dat orinTrimble'sRT27structurewithafilenamesuffixof.tgd.Eitherofthesecanbespecifiedusingtheoption-tr d,forexample:

    & teqc-tr d cn40201210010000a.tgd

    Forallmanufacturerformats,thereisanoptiontospecifyboththethereceivermanufacturetype(e.g.-trforTrimble),andthereceiver'sbinaryformattype(e.g.dforTrimble's.dator.tgd)

    Forthesefivelargemanufacturers,youneedthefollowingreceiver/formatcombinationsforthisoption:

    -tr d TrimbleRT17/RT27downloadin.dat/.tgdformat-jav jps JavadJPSformat-top tps TopconTPSformat-lei mdb LeicaMDBformat-sep sbf SeptentrioBinaryFormat(SBF)

    SeeAppendixAforafulllistingoftheseoptions,forothermanufacturers(e.g.Ashtech,Navcom,Ublox)andforolderformatsthatthemanufacturerusedorstilluses(e.g.TrimbleRT17/RT27streamformat,orLeicaLB2).

    However,inmanycasesyouwillprobablynotneedtospecifytheformatinthiswaybecauseteqccanoften autoidentify the format by reading a small part of the beginning of the file. Try aTrimble.dat/.tgdfile.Thecommands

    & teqc -tr d cn40201210010000a.tgd & teqc cn40201210010000a.tgd

    shouldyieldthesameresult.Inthefirstcommand,youareexplicitlyspecifyingthereceiverandformatwith-tr d;inthesecondcommand,teqcisautoidentifyingtheformattype.

    Similarly,thereareasmallnumberofformatswhicharenotspecifictoanymanufacturer,andhereyouspecifyonlytheformattype:

    -binexBINEXformat-rtigsrealtimeIGSformat-socJPL'sSOCformat

    Sometimes,however,thebeginningofthefileisnotstructuredthewayteqcexpectsittobeandthenyoumustspecifytheeitherthecorrectreceiverandformatorformatoption.Becauseofthispossibility,whendevelopingautomateddatahandlingusingteqc,itisalwaysbesttospecifytheexpectedformatforeachdatafile.

    Aboutwhentoincludean'optional'translationformatoptionsuchas-lei mdb,ortheequivalentfor

  • TeqcTutorial 21

    someotherformat,ortorelyonteqc'sautomaticformatrecognition,myadviceistoalwaysincludeitwhenrunningbatchsoftware,sothatyouarenotrelyingonteqc'sautoidentificationincasethestartofthefileiscorruptedornotquitewhatthecodeisexpecting.ButusuallywhenI'musingteqcmanually,Ileavethisoff(unlessthefilehappenstobeoneofthefewformatsforwhichthereisnoreliableautoidentification):youwillgetsignificantcluesiftheautoidentificationisnotworking,suchasmessagesaboutsomeotherformatthanwhatyouthinkyouhave,andthenyoucanedityourcommandandincludetheformatoptionifneeded.

    5.3Typicaltranslationoptionsandarguments

    IfyouwanttheobservationsfromseveralfilesallputinoneRINEXfile,justlistthetwo(ormore)filesattheendofthecommandinsteadofjusttheoneinputfile.Theonlycaveat:makesureyourlistingistimeordered:thefirstfileshouldbefirstintime,thesecondfileshouldbesecondintime,andsoon.Thelistoffilenamesisseparatedbyspaces,notcommas.

    Besidestheformatspecificationoption,therearetypicaloptionsthatareoftenusedwhencreatingRINEX.Theseare:

    -weekspecifythestartingGPSweek(e.g.weekof6Jan2013is1722,orspecifythedaythedatastartsas::;e.g.-week 1722and-week 2013:01:06areidentical-stspecifythedateandtimeinGPStimethatyouwantteqctostartoutputtingepochs(i.e.noepochsshouldprecedethisdateandtime) -especifythedateandtimeinGPStimeatwhichyouwantteqctostopoutputtingepochs(i.e.noepochsshouldsucceedthisdateandtime)

    -GelimateallGPSSVsanddata*-RelimateallGLONASSSVsanddata*-EelimateallGalileo/GPSSVsanddata*-SelimateallSBASSVsanddata*-CelimateallBeidou2/CompassSVsanddata*-JelimateallQZSSSVsanddata*

    +C2includeRINEX'C2'intheoutputandincludeanyassociateddatathatisfound,e.g.codepseudorangefromGPSorQZSSL2C**

    +L5includeRINEX'L5','C5',and'S5'intheoutputandincludeanyassociateddatathatisfound,e.g.fromGPSorQZSSL5,orGalileo/GIOVEE5a**

    +L6includeRINEX'L6','C6',and'S6'intheoutputandincludeanyassociateddata,e.g.fromGalileo/GIOVEE6**

    +L7includeRINEX'L7','C7',and'S7'intheoutputandincludeanyassociateddata,e.g.fromGalileo/GIOVEE5b**

    +L8includeRINEX'L8','C8',and'S8'intheoutputandincludeanyassociateddata,e.g.fromGalileo/GIOVEE5a+b**

  • TeqcTutorial 22

    Thereisalsoanentiresetof'O.'metadataeditingoptionsforaRINEXobservationfile,mostlyfortheheaderfieldsandsomeforthedataportion.Rumteqc +helptoseealistofOoptions.Someareworthmentioning:

    -O.obsexplicitlylisttheobservablesdesiredandthedesiredorder(note:donotusethisoptionwith+C2,+L5,+L6,+L7,or+L8.

    -O.decgivethedesireddecimationintervalinseconds(note:iftheoriginaldatasamplingintervalis

  • TeqcTutorial 23

    | L1-SAIF 1575.42 C8 L8 D8 S8 | | L2C 1227.60 C2 L2 D2 S2 | | L5 I/Q 1176.45 C5 L5 D5 S5 | | LEX S/L 1278.75 C6 L6 D6 S6 | +---------------------------------------------------------------------------+

    5.4RINEXnavigationmessageandmeteorologicalfiles

    Asyouhaveseen,thedefaultbehaviorofteqcduringtranslationistotaketheinputandconvertittoaRINEXobservationfileatoutput,andthisoutputissenttotheshell'sstdout(standardoutput)whichgoestothescreenorcanberedirectedtoafile:

    & teqc raw_input_filename > RINEX_observation_filename

    ToalsocapturetheGNSSnavigationmessagesormeteorologicaldatainRINEXassumingthatthenecessaryinformationtocreatetheseisintheinput.Thecommandisonlyslightlymorecomplicated:

    & teqc+nav nav_filename(s) +met met_filename raw_input_filename > RINEX_obs_filename

    InRINEX2.xx,thevariousconstellations(GPS,GLONASS,andsoon)allhavetheirownindividualfileformats.ThustheteqcoptionandargumentfortheRINEXnavigationfilenameshasastructurelike:

    +nav GPS[,GLONASS[,SBAS[,Galileo[,-,QZSS]]]]

    whereyoumustspecifyafilenameora'-'toskipanamefromlefttoright.Thereforetheoption

    +nav tmp.gps

    wouldcreateafiletmp.gpswithGPSnavigationmessages,and

    +nav tmp.gps,tmp.glo

    wouldcreateafiletmp.gpswithGPSnavigationmessagesandafiletmp.glowithGLONASSnavigationmessages.Thus

    +nav -,tmp.glo

    wouldcreateafiletmp.glowithGLONASSnavigationmessages,butnoGPSfile,andsoon.(Note:in'+nav GPS[,GLONASS[,SBAS[,Galileo[,-,QZSS]]]]'thefifthfieldis'-'asaplaceholderforaBeidou2/Compass navigation filename, following the December 2012 publication of a Beidou2/Compass ICD which defines the decoding of its broadcast navigation messages.) (Note:Galileo/GIOVEnavigationRINEXisoutputis2.12format,andQZSSnavigationRINEXisoutputinaJAXAproposedextensionof2.13format.)

    Also,bycommandoptionsymmetry,youcanusethe +obs tohaveteqcexplicitlywritetheRINEXobservationfile,sothefulltranslationcommandwithoutshellredirectionis:

  • TeqcTutorial 24

    & teqc{other options} +obs RINEX_obs_filename +nav nav_filename(s) +met met_RINEX_filename raw_input_filename

    Theorderoftheoptions +obs, +nav,and/or +met andwhetherusingone,two,orthreeofthemisunimportant,butallthatareusedmustprecedetheinputfilename(s)andtheinputfilename(s)mustcomeattheendoftheteqccommandline(exceptforstdoutredirection,ifany).Also,theconstellationfilteringoptionsdiscussedabovealsoeffecttheresultsofwhatsatellitesarereportedintheRINEXnavigationfiles.Thus,say,using-RandrequestingaGLONASSRINEXnavigationfilewillresultinazerolengthfile.

    Ifyouspecifyfilenameswithoptions+obs,+nav,and/or+met,andteqcisunabletofindandtranslatethepertinentinformationforanyoption,thenyouwillbeleftwithanzerolengthfile,i.e.afilewithnocontents.And,comingfullcircle,ifyoueliminate+obs,+nav,+metandallotheroptions:

    & teqc binary_input_filename

    thenyouarebacktoteqcautoidentifyingtheinputformattypeandtryingtoconvertitintoRINEXobservationfileformatandsendingthattostdout.

    5.5Translationexamples

    Let'sreturntoouropeningexampleandnowassumethatwewanttoextractaGPSRINEXnavigationfile,ameteorologicalfile,andtheRINEXobservationfile.Youcandoeitherdo:

    & teqc+nav tmp.gps +met tmp.met cn40201210010000a.tgd > tmp.obs

    or

    & teqc+obs tmp.obs +nav tmp.gps +met tmp.met cn40201210010000a.tgd

    TheaboveTrimbleRT27.tgdfileforsiteCN40isfor1Oct2012,startingat00:00:00GPStime:

    & teqc +quiet +mds cn40201210010000a.tgd

    makes

    2012-10-01 00:00:00 2012-10-01 23:59:45 4783085 cn40201210010000a.tgd

    Ifyouonlywantthelast12hoursofdatafromthisfile,andwanttheoriginal15secondGNSSobservationepochsdecimatedto30secondobservations,thenincludeastarttimeanddecimation:

    & teqc-st 2012_10_01:12:00:00 -O.dec 30 +nav tmp.gps cn40201210010000a.tgd > tmp.obs

    & teqc+quiet +mds tmp.obs tmp.gpsmakes

  • TeqcTutorial 25

    2012-10-01 12:00:00 2012-10-01 23:59:30 1800178 tmp.obs 2012-10-01 12:00:00 2012-10-01 23:59:44 64408 tmp.gps

    NoticethattheGPSRINEXnavigationfiletmp.gpswasalsotimewindowedandstartswithbroadcastmessagesstartingat12:00:00GPStime.

    ThefollowingwilltranslateaTrimble.datfileintoaRINEXOBSfile(asredirectedstdout)andaRINEXNAVfile(specifiedbyname);thenamematching.mesfile,grnr2600.mes,isreadautomatically(thenamematching.eph and.i12files,grnr2600.ephandgrnr2600.i12,arenotusedeveniftheyarepresent):

    &teqctrd+navgrnr2600.navgrnr2600.dat>grnr2600.obs

    ThiswilltranslateaJavadJPSformatfile:

    &teqcjavjps

    ThiswilltranslateaTopconTPSformatfile:

    &teqctoptps

    ThiswilltranslateaLeicaMDBfileintoaRINEXOBSfile:

    &teqcleicamdbu1_30sec.mdb>u1_30sec.obs

    ThiswilltranslateaLeicamdbdownloadfileintoaRINEXOBSfileandaRINEXNAVfile(specifiedbyname):

    &teqcleicamdb+navu1_30sec.navu1_30sec.mdb>u1_30sec.obs

    ThiswilltranslateaLeicaMDBdownloadfileintoaRINEXOBSfile,withtheL1L2C1P2S1S2observables,inthatorder:

    &teqcleicamdbO.obsL1+l2+ca+p2+s1+s2u1_30sec.mdb>u1_30sec.w_snr.obs

    ThiswilltranslateaSeptentrioBinaryFormat(SBF)filetoRINEX:

    &teqcsepsbfsept1230.12.sbf>sept1230.12_.rinex

    ThiswilltranslateaSeptentrioBinaryFormatfiletoRINEX,andmaketheGPSandGLONASSnavfiles

    &teqc+navsept1230.12_nav.gps,sept1230.12_nav.glosept1230.12.sbf>sept1230.12_.rinex

  • TeqcTutorial 26

    5.6Commonfailuresintranslation 1."Thebinaryformatbeingreadbyteqcmustbeoneofthemanyformatsthatteqcisable todecode."Whileteqccanreadmanycommonformats,itcan'treadallofthem.Newusersoftendiscoverteqcandthenassumeitcanreadanybinaryformatandthisisnotthecase.CheckAppendixA.

    2."Teqcmustbeabletoidentifytheformatbeingread."Ifteqcisnotabletoautoidentifytheformatthenyou,theuser,musttellteqcwhichformattheinputfile(s)is.CheckAppendixA.Onewaytofindoutifteqciscorrectlyautoidentifyinganinputfileistorunthe"metadataformat"check:

    & teqc+mdf filename

    whichshouldreturnsomethinglike

    probable format of filename: format name

    Iftheformatbeingreturneddoesnotlooklikewhatyouexpected,thentheautoidentificationinteqcisnotworkingforthisparticularfile.Youmayneedtosupplyextrainformation;seethereceiveroptionanditsargumentsinthetableinAppendixA.

    3."TheremustbesomeGNSSdatainthebinaryfiletoactuallyconverttotheRINEXobservationformatinarecordthatteqcunderstands."Assumingthatteqcunderstandstheinputformatcorrectly,thereareatleastthreepossiblecasestonotgetanyGNSSobservationsinRINEX:

    a.TheinputmaysimplynothaveanyrecordswithGNSSdata,e.g.itmaycontainonlymetadatarecords,navigationmessages,and/orotherdatarecordssuchasmeteorologicaldata.

    b.Thedatafileyouareusingmaycontainthedatainanewdatarecordoramodifieddatarecordthathasbeenintroducedbythemanufacturerbutnotyetcodifiedinteqc.Ifyouareusinganewgenerationreceiverorthelatestfirmware,thisisalwaysadistinctpossibility.

    c.ThereceivermaynothavebeenabletotrackanyGNSSsatellites,butcreatedemptydatarecordsshowingzeroSVsbeingtrackedateachepoch.Thiscouldhavebeenduetoareceiverproblem(suchasaconfigurationorsetuperror),anantennaproblem,acableorconnectorproblembetweenthereceiverandtheantenna,oravisibilityproblem,justtolistthemoreobviouscauses.

    4."TheGNSSdatarecordsofthebinaryfilecan'tbecorruptedinanyway."Herearecommonwaysthatbinaryfilesbecomecorrupted:

    a.TheftptransferofthefileisincorrectlydoneinASCIImodeinsteadofbinarymode.Alwaysdoftptransferinbinarymode.

    b.ThereisanincorrectI/Oconnectiontothereceiverintheprocessofcollectingordownloadingthebinaryfilefromthereceiver.CommonerrorshereareinconsistentsettingsforserialI/O,ortryingtousetoohighofabaudrateforthedevicesortheenvironmentinvolved.

  • TeqcTutorial 27

    6GettingStartedwithTeqcEditingEditingwithteqccanalterinformationinaRINEXfileheader,oraddinformationtoaRINEXheader,

    asifyouusedatexteditoronthefile.UsingteqcforRINEXeditinghastheadvantageofbeingabletoprocessmanyfileswithonecommand,anduseofteqcavoidspossibletypingmistakesifyoutrytomodifyASCIIdatafilesbyhand.Teqceditingcandoalotmore;teqc"editing"alsoprovideswaystocontrolteqcprocessinganditsoutput.

    AtypicalteqccommandeditsaRINEXobsfiletochangethemonumentnameintheheader. Forexample,supposethemonument(marker)nameneedstobecorrectedtoreadValley site 3inthefilevs030010.12o.Thiscanbeaccomplishedbyexecuting & teqc -O.mo "Valley site 3" vs030010.12o > temp0010.12o The input is file vs030010.12o and the output file with the new monument name is

    temp0010.12o.The teqc -O.mooption(shortfor-O.monument,'setobsfilemonumentnameto')specifiesthattheoriginalmonumentnameinanobsfilebeingprocessedistobe replacedwiththestringValley site 3. Thedoublequotesusedafter -O.moencapsulateacharacterstringwhichcontainsblanks.Iftherearenoblanksinthecharacterstring,thedoublequotesareoptional.

    ThereisanoptiontochangeeachheaderfieldinaRINEXfile.ToseemostoftheavailableRINEXheaderoptionsforaparticularRINEXfile,dothiscommandwiththeRINEXtargetfile:

    & teqc ++config vs030010.12o Thisproduces,inpart,somethinglike

    -O.mo[nument] "VS03"-O.mn "31234M003"-O.rn "2332"-O.rt "JPS EGGDT"-O.rv "2.7.0"-O.an "CR6200324011"-O.at "ASH701954G_M NONE"-O.px[WGS84xyz,m] 4041274.8417 1816054.1204 -3997075.1216

    teqc ++config outputsthecurrentvaluesfortheheaderitemsoftheobsfile,aftereach-Ooption.Textinside[]isanoptionalpartoftheoptionname,notrequired.Thecommand teqc ++config

    usedwithanavormetfileshowsotherheaderitemsandoptionssuitablefornavandmetfiles.

    Optionsbeginningwith-O.modifyobsfiles,optionswith-N.modifynavfiles,andoptionswith-M.optionsmodifymetfiles. NotethatsomeeditingoptionsforRINEXfileheadersare notshownwithteqc ++config.YoucaneditseveralheaderlinesofaRINEXfileinasingleteqccommand:

    & teqc -O.mo "valley site 3" -O.rt "JPS EGGDT" -O.px 5041274.8417 1916054.1204 -3397075.1216 -O.at "ASH701945G_M NONE" vs030010.12o >+O.c teqc edit demo new comment temp0010.12o

    Inthisexampletheoriginalfileinput,vs030010.12o,isunchanged,andthenewfiletemp0010.12o shouldbethesame,exceptforthenewormodifieditemsgiveninthecommandline.

  • TeqcTutorial 28

    Thechangesaremadeintheordergiven.Generally,ifyouhappentorepeataneditingoptioninonecommand line, only the first optionvalue is used, andsubsequentchanges to thesame itemareignored.

    Teqceditingcannotalter thefirst headerrecord(line)ofaRINEXfile, andcannotalter RINEXheadercomments. Youcanappendmorecomments intheRINEXheaderusingoption +O.c. Theoption minus-O.cshowsoriginalheadercommentswhenusing ++config,sobesuretouseplus+O.ctoappendanewcomment.Useteqc ++configwithaRINEXfilename:

    forareminderaboutteqcRINEXheadereditingoptions

    toseewhat'sinthefileheader

    tomakeateqcconfigfiletocontrolfutureteqcprocessing(next)

    toseesomeofteqc'sotherprocessingoptionsandthevaluesinuse

    Youcanredirecttheresultsofteqc ++configtocreateanewfile,whichiscalledtheteqcconfigurationfileforthisparticularinputobsdatafile:

    & teqc ++config vs030010.12o > vs03_config Thisconfigurationfile, vs03_config, canbemodifiedwithatexteditortohaveneworrevised

    informationfortheRINEXfileheader.Thenyoucanusetheconfigfileasinputtoteqc,withoption-config,todoteqcediting.Ifyourevisedthefilevs03_configtohavethenewvaluesusedinthepreviouseditingcommandexample,andthenranthecommand

    & teqc -config vs03_config vs030010.12o > temp0010b.12otheresultwillbethesameaswiththeprevious(andlonger)commandline.Theoption-configtellsteqcthattheargument(file)comingnexthaseditingcommands.Teqcreadsthecontentsoftheconfigfile,treatseachlineasacommandoption(goingfromfirstlinetofinallineintheconfigfile),andmakesthechangesneededtomaketheteqcoutput. Teqclooksataconfigfileasasetofcommandlineoptionstoprocessfromtoptobottom(youchoosetheorder).Aconfigurationfileneednothavealltheteqcoptionspossible;keeponlyoptionsyouneed.

    YoucaneditRINEXnavandmetfileheaderswithconfigfiles,too.Firstmakeaconfigfilefromthenavormetfile;alterittohavetheoptionsyouneed,andrunteqc -config withthatnewconfigfile.OneofthestrengthsofteqcisthatyoucanmakeoneconfigurationfileforuseinroutineprocessingofmanyRINEXfiles.

    Teqceditingcanuseoptionsinthecommandline,orthecommandlinecanhave-configandthenameofaconfigfilecontainingoptionsandarguments.Whichwayisbestdependsonthesituation.Youdon'treallyneedtouse any configurationfiles, orperhapsusejustafewconfigurationoptionsusedascommandlineoptions).

    Alloftheoptionsshownbyteqc ++configcanbeusedinateqccommandtomodifytheoutput.Somechangehowteqcprocessesdataandmakesresults,unrelatedtoRINEXfileheaders. Theseareoptionswhichdonotbeginwith-O,-Nor-M.Forexample-st and-esetthestartandendtimesforprocessing,aswhendoingateqcqcrun.Seetheteqcoptionslistshownwithteqc +help.Oneshouldgetinthehabitofrunning`teqc+help`togetalistingofallthepossibleoptionsforteqc.

  • TeqcTutorial 29

    7GettingStartedwithTeqcQCTeqcqualitycheckingcomputesseveralmeasuresofqualityoftheinputdataandspecifiesproblems

    withGNSSobservablesstored inGNSSobservablefiles. TeqcqualitychecksGNSSsignalsandreceiverbehaviorusingdatafrom mostGNSS receivers. TeqccanreadtheRINEXformat,manynativebinaryformats,andBINEXfiles.TeqcqcmayoptionallyuseSVephemerisdatainnavfilesforimprovedQCresults.

    TeqcqcshowssignalqualitywithtimeforeachSVdetected,createsasummarytableofcommonlyusedstatisticsandmakesafilewithafullreport. TeqccancreatefileswithvaluesofSVskypaths(azimuthandelevation)asseenfromthereceiver,sitemultipathcombinations,receiversignaltonoiseratios,andionospheredelays.

    TheformatandcontentsofteqcqcprocessingresultsarenotguaranteedtoremainunchangedasUNAVCOimprovesteqc.Westrivetolimitchangestooneswhichwillhelp,andnotchangeanythingwithoutagoodreason.Ifwechangecontentsorformatofresults,thechangesaredetailedinreleasenotesandannouncementsbyemail.

    Section7.1showscommonteqcqccommands,andsection7.2describesdetailsaboutthecommandsandabouttheresultsreportedbyteqc.

    7.1QCcommands

    Qc'ingaRINEXobsfileisaseasyastyping

    & teqc +qc jplv1200.10oThebasicteqcoptionstodoqcare+qcand+qcq.Thetargetorinputfileonthecommandlineisastation'sobsfilename. Executingthecommandshouldproducesomethingif jplv1200.10o isavalidandcompleteRINEXobsfile.Exactlywhatqcdoesdependsonthedefaultqcsettingsinteqc,whichusuallyarethechoicesthatmanyuserswantfromroutineqcprocessing. Ifneeded,youcanchangetheteqcdefaultsoroverridethemwithcommandlineoptions.

    The teqc +qccommandmakesthisoutput:

    thescreenoutput(stdout),comprisingtheteqcASCIItimeplotandthesummaryreport

    theqcfullreport,inafilenamedjplv1200.10S inthiscase.NotethefinalcharacterS.

    andstandarderror(stderr)output,ifany.

    Thecontentsandformatsoftheseproductsaredescribedinsection7.2,next,andinAppendixC.

    Torunteqcqcanddiscardany'standarderror'outputonLinux(seesection4.5):

    & teqc +qc jplv1200.10o 2> /dev/null

  • TeqcTutorial 30

    Torunteqc +qc,discardanystandard'error'output,andsavescreenoutputtofileoutfile: & teqc +qc jplv1200.10o 2> /dev/null > outfileTheobsfileargumenttoteqcmayhaveacompletefilepath.Iftherearenavfilescorrespondingto

    thestation'sobsfile,inthesamefilepathastheinputobsfileintheteqcqccommand,thenteqcwillfindandusethenavfiles.Intheexample,teqcwilllookforandusethefilesjplv1200.10n(theGPSnavfile)andjplv1200.10g (theGLONASSnavfile)iftheyexistinthesamefilepathastheobsfilejplv1200.10o.Thecasesensitivealgorithmformatchingnavfilenamesfromobsfilenamesisasfollows,where

    YYrepresentstheyearwithtwodigits,e.g.YY==13,and *isthefilenamebeforetheextension:

    *.YYo looksfor *.YYn and *.YYg*.YYO looksfor *.YYN and *.YYG*.obs looksfor *.nav and *.glo*.OBS looksfor*.NAV and *.GLO

    Ifthenavfileiscorrectlynamedandinthesamelocationastheobsfile,teqcwillautomaticallyfinditandreaditanduseitsdata.Youmayuseacompletefilepathandnamefortheobsfileandthenavfiles.Thefilenamesshouldmatcheachotherinupper/lowercase:anobsfileendingin.12owillnotfindamatchingnavfileendingin.12N.Youcantellteqc +qctouseanavfileregardlessofitsfilename,withthe-nav optionandthenavfilenameasitsargument. Inthenextexample, thenavfileisaspecialnavfilebeginningwithbrdcwhichdoesnotmatchtheinputfilesjplv,sothebrdcfilewillnotbeautomaticallyfoundandreadbyteqcwithoutthe -navoption.

    & teqc +qc -nav brdc1200.10n jplv1200.10o

    Youcanusetwoormorenavfilesasinthiscommandwhichdoesteqcqcqusingthetwobrdccombinednavfiles,brdc0970.14nbrdc0970.14g,andwhichsendsalloutputtonewfilemal20970.14_qc.txt.Thelistofnavfilenamesmustbeseparatedwithacommaandnothingelse:

    & teqc +qcq -nav brdc0970.14n,brdc0970.14g mal20970.14o > mal20970.14_qc.txt 2>&1

    Ifnonavfilesareusedbyteqc+qc,theresultsare qclite (whichisnotqcquick). Teqc qcliteprocessinghasnosatellitepositioninformation.Teqcqccandoqcfull,whenyouhavenavfiles,ordoqclitewithoutnavfiles.Whichyougetdependsonhavinggoodnavfiles.

    IfyoudeliberatelydonotwanttousetheGPSephemeridesfromanavfileuseoption-no_orbit: & teqc +qcq -no_orbit G jplv1200.10o

    IfyoudeliberatelydonotwanttousetheGLONASSephemerides:

    & teqc +qcq -no_orbit R jplv1200.10o oruseoption-no_orbit G,Rtouseneithersetsofephemerides.GisforGPS,RforGLONASS,EforGalileo,andJforQZSS.Alternately,moveorrenamethenavfilessothatteqccan'tfindthem.

  • TeqcTutorial 31

    Teqcqcprocessingautomaticallyswitchesfromqclitetoqcfullwhenenoughsatelliteephemeridesareencounteredinthedatastream.

    InthecaseofGLONASSwithnonavfiles, thereisnoinformationtoconverttheGLONASSslotnumberstotheappropriatefrequencychannelnumbers,whichareneededtoconverttheGLONASSphaseobservablesfromunitsofcyclestometers.N isusedtoindicatethesemissingnumbersintheASCIItimeplot(seebelow)attimeswherethereisobsdata.Also,sincethere'snoGLONASSphasedata(inmeters),therearefewertotalobservationsbecausenowtherearenoGLONASSobservationsforteqcprocessingwhichrequiresbothdualfrequencyphaseandpseudoranges.

    Theresultsfromqclite,andfromteqc +qcwiththe-no_orbitoption,arethesamewhenthereisonlyGPSdata.ForqclitewithGLONASSobsdatabutwithoutanavfile,thereisnoinformationtoconverttheGLONASSslotnumberstotheappropriatefrequencychannelnumberswhichareneededtoconverttheGLONASSphaseobservablesfromunitsofcyclestometers,sointhatcaseGLONASSqcliteresultsarenotthesameasteqc +qc -no_orbit R. So,ifyouhaveanobsfilewithbothGPSandGLONASSvalues, qcliteisnotthesameasusingteqcwith+qc -no_orbit G,R sincetheGLONASSdataishandleddifferentlyinthetwocases,asdescribedabove.

    ForfullqcwithGLONASS,youneedtheGLONASSfrequencychannelnumbermapping,whichisusuallyprovidedinaGLONASSnavfile. However,ifaGLONASSRINEXnavfileisnotused,thenyouhavetocreateamappingfile;seejustbelowinthesection"GLONASSProcessingDifferences".

    Ifastationismissinganavfile,orifanavfileisincomplete,youcantryacombinedbroadcastnavfilessuchasbrdc1200.12g(forGLONASS)andbrdc1200.12n(forGPS).Youcandownloadbrdccombinedbroadcastnavigationfilesfrom,forexample,

    ftp://cddis.gsfc.nasa.gov/glonass/data/daily/2012/120/12gorfromftp://cddis.gsfc.nasa.gov/gps/data/daily/2012/120/12n(zippedasbrdc1200.12n.Z).

    Tousewithteqcqc,unzip,thenrenamethosefilestothenavfilenamewhichteqcexpectscorrespondingtotheobsfile.Ormakealink(onLinux)toservethesamepurpose,orusethe-navoption.NotethatthesebrdcfilesarenottheIGSfinalorbitfileswhichhaveSVpositionsintheITRF,notinGPS'sWGS84referenceframe.

    Ifyoudonotneedtheqcfullreport,usetheteqcoption+qcq forqcquick: & teqc +qcq jplv1200.10oOnlyscreenoutput(stdout)anderroroutput(stderr)iscreated. Qcquickisnot thesameasqclite.Qcquickusesnavfiledataifitisavailableandtheqcvaluescomputedareexactlythesameasthoseofqcfull,butsomeoutputfilesarenotgenerated;qclitedoesfewercomputations.

    Manyotherchoicesforteqcqcprocessingareprovidedwithoptionsandteqcconfigfiles.Toseehowtochooseoralter teqc'sqcoutputusing the teqcconfigfile, seethe TeqcUserGuide. Foroptions,lookattheoutputfromteqc +help.The90somelinesinthisoutput,aftertheline

    +qc quality checking (w/ following options)

  • TeqcTutorial 32

    showoptionstomodifyorspecifyteqcqcresults.Forexamplethecommand

    & teqc +qcq -set_mask 7.5 jplv1200.10osetstheelevationmaskto7.5degreesabovethehorizon.

    Teqc'sdefaultmaskelevationis10.00degreesabovethehorizon.Thehorizoninteqcisdeterminedbythelevelplaneparalleltotheellipsoid,throughthereceiver'santenna,notthelocaltopographicskyline.Tosettheelevationmaskuseteqcoption-set_mask md,forelevationmasksettothenumbermdindegrees.

    GLONASSProcessingDifferences

    GLONASSL1andL2(alsocalledG1andG2)frequencybandsarecurrentlyanFDMAsystem.Forteqc,acaveatisthatteqcmustknowwhattheslottofrequencychannelnumber(fcn)isforeachGLONASSSV(L1andL2,butnotL3)inordertoconvertthephaseinformationfromunitsofdistancetounitsofcycles,whichisneededfortheinternalphaseinteqcandforpossibleoutputoftheGLONASSdataasRINEX.GLONASSstorageofthephaseisinunitsofdistance,whereasRINEXusesunitsofcycles.

    IfaGLONASSnavigationmessageisencountered,thentheslottofcnisextractedfortheSVinquestionandstoredandthereafterusedforanyfollowingGLONASSdataforthatSV.Therefore,ifGLONASSnavmessagesforallSVsbeingtrackedalwaysprecedeGLONASSdata,thenallwillbewell.However,thismightnotoccur.Asupplementalmethodistosupplyteqcwithaseedlistofslottofcnconversionsinafile(forexample,filemys2fcn)containingforexample:

    1 12 43 54 65 16 47 58 6

    Usingsuchalistiseasy:

    & teqc -glonass_s2fcn mys2fcn -binex {other options} 0x7f-03.bnx

    AnotherproblemisthattheGLONASSgroundcontrolsometimeschangestheslottofcnmappingforoneormoreSVs,sothislistingisnotconstantovertime.

    Ifaslottofcnisnotknown,thenyouwillgetthefollowingtypeofwarningsforeachSV:

    ! Warning ! no slot-to-fcn conversion for GLONASS R06.

    ThenewL3(G3)frequencyonGLONASSKisCDMA.TheslottofcnmappingisonlyneededforthetraditionalL1andL2data.

  • TeqcTutorial 33

    7.2InterpretingQCresults

    Thissectiondescribestypicaloutputfromaqcfullrun,teqc +qc,fora"good"obsfilewith"good"navfilesforbothGPSandGLONASS.ThedataisforthecompletedayofApril30,2010,fromstationJPLV,with30secondobservationinterval.

    Thisisnotacompletedescriptionofallpossibleqcoutput,butofonefairlytypicalexamplewithgooddata.

    Theteqccommandforfullqcis

    & teqc +qc jplv1200.10oandthefilesjplv1200.10o,jplv1200.10n,andjplv1200.10gareinthecurrentworkingdirectory(folder).Youcanusefullfilepathsforfilesifyouwishto.

    TheQCScreenOutput:theASCIITimePlotandtheShortSummary

    Examplescreenoutputlinesarefollowedbyadescription.Screenoutputisstandardoutput(stdout)andmayberedirectedtoafileifyouwish(seesection4.5).

    Thefirstlineofscreenoutputisthereleasedateoftheteqcversion:

    version: teqc 2011Oct11

    Nextmaybesomestandarderroroutput(stderr)tothescreen:

    ! Notice ! GPS week in GPS week in RINEX nav = 1581; (default) GPS week = 1673! Notice ! ephemeris for SV G32 in nav file 'jplv1200.10n' @ ToC= 2010 Apr 30 17:59:28.000 (near line 1115) not being used! Notice ! ephemeris for SV G32 in nav file 'jplv1200.10n' @ ToC= 2010 Apr 30 19:59:28.000 (near line 1203) not being used

    Ifthissortofinformation(stderr)isofnousetoyou,add2> /dev/nulltotheendofthecommandline(Linux).

    Next,theqc >>>lineisaprogressindicator.qc-full >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    NexttheteqcqcASCIItimeplotgoestothescreen.Anexampleiscopiedbelow,anddescribedindetail.

    SV+---------|--------|--------|--------|--------|--------|--------|--------+ SV 3|oooooo-__ _^oooooooooooo++_ _++oooo| 3 4| _++oooooooooooooo+__ _^+oo+++_| 4 6|ooooo-_ __^ooooooooooooo++_ _++ooo| 6 7|oooooooooooooo+++ __-oooooo| 7

  • TeqcTutorial 34

    8|ooooooooooooooooooo+_ _+oo| 8 10|ooooooooo++_ _++ooooooooooo-__ _-a| 10 11| _++ooooooooo-__ __+oooooooooooo++_ | 11 13|ooooooooo++ _^+oooooooooo| 13 16|o-_ __-oooooooo++_ _++oooooooooooo| 16 19|oooooooooo-_ __-ooooooooooo+_ _++o| 19 20|o++_ _____ _++ooooooooooooooo| 20 23|oooooo++_ _+oooooooooooooo| 23 31| ___+++++_ ++ooooooooooooooo+__ | 31 32|+ _++ooooooooooooooooooo+| 32 28|+ooooooooooooooooooooo++ +| 28 5|__-oooooo++_ ++oooooooooooooo-_ | 5 17| _+oooooooooooooooooo+__ | 17 15| __-oooooooooo++_ _+oooooooooooo-_ | 15 27| __+oooooooooooooo++_ __++ooooo-__ | 27 26| _-oooooooo++_ _+ooooooooooooo-_ | 26 9| _^oooooooooooooo+_ _^+oooooo-__ | 9 2| ++ooooooooooooooooo++_ | 2 12| _++oooooooooooooooo++_ _ | 12 30| _+ooooooooooooooo++ __+++o+___ | 30 29| _++ooooooooooooooooooo++ | 29 21| ++ooooooooooooooooooooo+_ | 21 24| _++oooooooooooooooooooo++ | 24 18| _+oooooooooooooooooooo+_ | 18 22| _+ooooooooooooooooooooo+_ | 22 14| _++ooooooooooooooooo+__ | 14R 1|******11_ ++******2_ _-**********|R 1R20|**2**-_ _-*************++ |R20R21|2*2*******2-_ -************+_ ???|R21R 7|? ++2*****************++ |R 7R 8|***++ _++2***************+|R 8R10|***1+__ +2*************-_ |R10R11|*********2**+_ ++************|R11R 2|-*********+_ _++*********--_ --****|R 2R22| ++************- -********++ ?|R22R13| _++****************+_ ??|R13R 3| -****++_ _++*2**********- |R 3R23| +***************- _-****2++ |R23R24| ++***************1++_ |R24R14| _-*************+_ |R14R17| _+2******************++ |R17R15| --**********1+_ _^******2_ |R15R18| _++******************+_ |R18R 9| _2222222+ _+222*2222*2222_ |R 9R19| _++****************+_ |R19R 4| 2**************+_ |R 4R 5| ++****************++_ |R 5-dn|+ ++ ++ + + ++++ ++ ++ + +++++ + + + +++++++ ++++ + +|-dn+dn|111 11 11 1 1 11 2 1111 11 1 11 1 11 2 1 1 111 11 |+dn+10|iihihghhghebbdfeeefffedeggghgffffhhhfgggeffgijhghhhhhgfdddddcdddcdddedff|+10Pos|ooooo o o |PosClk| |Clk +---------|--------|--------|--------|--------|--------|--------|--------+00:00:00.000 23:59:30.0002010 Apr 30 2010 Apr 30

  • TeqcTutorial 35

    Thisresultistypicalofa24hourobsfilewith30secondobservations,nearcompletenavdata,andmostlygooddatainallfiles.ThetimeplotshowssignalqualityindicatorsbytimeforeachSVinthedatafile.

    Therearemanysymbolsofdataqualitypossibleinateqcqctimeplotwhichdonotappearinthisexample.SeeAppendixB,TeqcASCIITimePlotSymbols,foralist.

    Thetopoftheplotshowstimebindivisions,andlabelsthecolumnwhichhasSVPRNnumbers:

    SV+---------|--------|--------|--------|--------|--------|--------|--------+ SV

    Acorrespondingtimescale,withstartandendtimevalues,isatthebottomoftheplot:

    +---------|--------|--------|--------|--------|--------|--------|--------+00:00:00.000 23:59:30.0002010 Apr 30 2010 Apr 30

    Thisexamplespans24hoursofobservations(every30seconds),fromthebeginningofthedayuntilthelastobstimejustbeforethestartofthenextday.Thisplothasatimescalewith8intervalsof3hours.Eachintervalendswithamark"|"onthetimescale.Eachmarker"-"or"|"onthetimescaleisatimebin,20minutesinthiscase.Youcanchangethetimescale(durationoftimecoveredwithqcprocessing)andtimebindurationwithteqcqcoptions.

    3|oooooo-__ _^oooooooooooo++_ _++oooo| 3

    ThelinecopiedaboveisthetimeplotlineforGPSPRN3.Thesymbolsmean:

    omeans"A/Son;L1C/A|P1L2P2."Thatis,thisisaGPSSVwithobservablesL1,L2,P2,andeitherC/AorP1inthistimebin.A/Sison.ThisisthenormalgooddualfrequencyGPSdatawithphaseandcodepseudorange._ meanstheSVascalculatedbyteqcusingsuppliedephemerides(navfile),isbelowtheelevationmask(lowelevationangle)andtherearenousableobservablesinthistimebin.-meansthattheSVwascalculatedusingthesuppliedephemeridestobeabovetheelevationmask,andnousableobservationdatawaspresentforthisSVinthistimebin.+meanstheSVwascalculatedusingthesuppliedephemeridestobebelowtheelevationmask(lowelevationangle)andthereareusableobservables.^ meanspartialSVdatabelowtheelevationmask

    ThefivesymbolsaboveareverycommonwhentestinggoodGPSdata.Notethatthepatternssuchas_-+ooooooo-__aresimplegraphstomimictherisingandsettingofasatellite.InthelineforGPSPRN10:

    10|ooooooooo++_ _++ooooooooooo-__ _-a| 10

    thenewsymbolameansA/Son;L1C/Ai.e.noP1orL2orP2.

    Othercommonsymbolsare I,1,andM,asinthelineforPRN6:

  • TeqcTutorial 36

    6|I-Mooo-__ _+oooooooooooooo1_ _+o| 6

    I meansoneormoreionosphericphaseslipsinthistimebinM meansoneormoreMP1andMP2,orMP15andMP51,slipsinthistimebin.TheMPvaluesaredescribedbelow.1(one)meansoneormoretimesinthistimebinhavemultipathMP1sliponly.

    Inlineswithcor2:

    30|+_ _+ooooooooooooo+_ __cooooooooo| 30 31| _+ooooooooooo++ __-ooooooooo2o+_ | 31

    cmeansoneormoretimesinthistimebinhasL1andC/Aobservablesonly(andhenceA/Sisnotapplied)2meansoneormoretimesinthistimebinhavemultipathMP2sliponly.

    ThelineforGLONASSPRN1:

    R 1|******11_ ++******2_ _-**********|R 1

    *meansallGLONASSobservablesinthistimebinaregoodL1L2P1P2;noA/Swasapplied.This*istheusualGLONASS"good"dataindication,likeointhetimeplotlinesforGPS._, -, 1, 2,and +meanthesameasdescribedabove.

    InthelineforGLONASSPRN21:

    R21|2*2*******2-_ -************+_ ???|R21

    ?indicatesatimeintervalwithgoodGLONASSobsdataforthistimeandSV,buttherearetoofewephemeridesatnearbytimestomakeagoodinterpolationofaGLONASSorbitpositioninthistimeinterval.Generallythisoccursatthebeginningorendoftheday(ashere)andthereisnotenoughtimetogetenoughephemeridestofixtheorbit.SevenormoretimecontiguousGLONASSephemeridesareusedbyteqc(sinceOctober2011)todetermineanorbit;fewerwillnotgiveanaccuratesatellitelocation.Youmayseecaseswherethereareseveral?togetherindicatingseveralobsbuttoolittleGLONASSnavdatatogetanorbitpositionthere. ThisoccursforexamplewhenaGLONASSSVisonlyabovethehorizonforsaytwohours.

    The-dn,+dn,Pos,and+nn(wherennissomenumber)linesrefertoalltheSVscollectively:

    -dn|+ ++ ++ + + ++++ ++ ++ + +++++ + + + +++++++ ++++ + +|-dn+dn|111 11 11 1 1 11 2 1111 11 1 11 1 11 2 1 1 111 11 |+dn+10|iihihghhghebbdfeeefffedeggghgffffhhhfgggeffgijhghhhhhgfdddddcdddcdddedff|+10Pos|ooooo o o |Pos

    A1 (one)onthe-dn linemeanseveryepochinthattimebinismissingatleast1SVwhichcouldhavebeentrackedabovetheelevationmaskangle,andsoonforothernumbers2to9.Letters"a"andaboverepresentnumbersof10andabove.Blanksonthe -dnlinemeanzero:

  • TeqcTutorial 37

    therearenomissingSVsatthosetimes.

    A+inthe-dnlinemeansthereisdataforoneormoreSVsbelowtheelevationmask(sameasthe+ intheSVlines)inthattimebin. Inthisexampleeachtimebinis20minuteslong,andthereare40(30second)epochsinabin.

    A1(one)onthe+dnlinemeansoneormoreepochinthattimebinismissing1SVwhichcouldhavebeentrackedabovetheelevationmaskangle;a 2meansthereisatleastoneepochinthattimebinthatismissing2SVsthatcouldhavebeentracked.Lettersaandaboverepresentnumbersof10andabove:forexampledis14.Typicalgooddatahasblanks,1s,and2sonthe+dn line(withperhapsafewcbinsmeaningnotrackingofanySVs:noA/S;L1C/A).Ifyouseeseveralof5orhigher,orlettersaandabove,thatisanalertthatyoumayhavebadnavmessages.

    The +10 asalinelabelinthisexamplemeanstheelevationmaskis10degreesabovethehorizon.Thenumberusedforthelinelabelwilldifferfrom+10forotherelevationmaskangles.ThecharacterineachtimebinshowsthecountofSVswhich(theoretically)shouldhavebeentrackedabovethisangle;thisisnotacountofmissingdata. Letters a andaboverepresentnumbersof10ormore."Good"dataoftenlookssomethingliketheexample+10lineabove.

    The Pos line symbol o records thesuccessof calculatedcodepositions for the receiver'santennaatthedifferentepochs. Thereisano inatimebinwhereapositioncalculationwassuccessful.

    TheClkline:Clk| |Clk

    Thislineshowsreceiverclockresetspresentintheobservationtimetagswitheithera+orsymbol,meaningeitherapositiveornegativemillisecondreceiverclockresetwasdetected,respectively.Anemptylinemeansnoclockresets,as inthisexample. Symbolsusedinthe Clk linearelisted inAppendixB.Symbols +or -meaneitherapositiveornegativemillisecondreceiverclockresetwasdetected. Anothersymbolis ^whichislowerintheclocksymbolhierarchythaneither +or -,andindicatesatleastonemissedobservationepochinthattimebin.Acorrectvalueoftheobservationsamplingintervalmustbesetforthistoworkcorrectly.Use-O.intoptionifyouneedtooverrideit.

    TheQCSummaryReport

    FollowingtheASCIItimeplotinteqc'sqcstdoutorscreenoutput,isthesummaryreportwithmoreinformationabouttheRINEXobsdata,aidedbyinformationinnavfilesinthecaseof qcfull.(Thesummaryreportfromqcfullislongerthanfromqclite.)*********************QC of RINEX file(s) : jplv1200.10oinput RnxNAV file(s) : jplv1200.10n jplv1200.10g*********************4-character ID : JPLV (# = NONE) Receiver type : JPS EGGDT (# = 2076) (fw = 2.7.0)

  • TeqcTutorial 38

    Antenna type : JPLD/M_R NONE (# = UNKNOWN)Time of start of window : 2010 Apr 30 00:00:00.000Time of end of window : 2010 Apr 30 23:59:30.000Time line window length : 23.99 hour(s), ticked every 3.0 hour(s)

    Thefirst twelve lines(above)showthefilenamesofall datafilesprocessedinthisrunof teqcqc(including any files not entered in the command line but found by teqc), the receiving station 4characterID,thereceivertype,theantenna,thestartandendtimesforobservables,andthelengthoftimespanned.Ifyoucontrolteqcwithconfigfile(s),alistoftheteqcconfigurationfilesusedwillbeincluded.

    antenna WGS 84 (xyz) : -2493451.9808 -4655342.9946 3565190.6477 (m) antenna WGS 84 (geo) : N 34 deg 12' 5.79" W 118 deg 10' 26.34" antenna WGS 84 (geo) : 34.201609 deg 241.826017 deg (= -118.173983 deg) WGS 84 height : 402.2559 m|qc - header| position : 41.5296 m

    Thesefivelinesaboveshowvaluesfortheantennapositionestimatedbyteqcqcinqcfullmode,intheterrestrialreferenceframecoordinatesystemusedbythebroadcastnavfilesoftheGNSSsysteminuse.Thefirstthreeshowtheestimatedpositioninthreeformats(Cartesianandtwogeographicsetsofcoordinates).

    TheWGS 84 heightgivesanestimateoftheheightoftheteqcqcantenna,abovetheWGS84ellipsoid.(Notethatthisheightisnotatrueelevationaboveageoidormeansealevel.Avalidheightaboveanellipsoidmaydifferfromtheelevationofthesamepositionbyasmuchas50metersormore.)

    The|qc - header| position lineshowsthestraightlineseparationdistancefromtheteqcqcantennapositiontothe(oftenmoreaccurate)position intheobsfileheader, if there isone.Teqctypicallyshowsabout10to40metersforthisvaluewhenprocessing"good"obsfiles. Teqcdoesnotcomputeorneedprecisepointpositions. Teqcantennapositions fromteqcareonlyapproximate.TeqcusespositionsonlytodetermineSVskypositionsasseenfromthereceiver,totellwhenanSVisin view. If |qc - header| position greatly exceeds 40 meters there may be a problemsomewhere.

    GLONASSpositionsinGLONASSoperationsareinthePZ90referenceterrestrialreferenceframe.TeqcconvertsGLONASSPZ90coordinatevaluestotheWGS84referenceframe.Theconversionisasexactaswecoulddetermine.TimesystemshiftsfromGLONASStimetoGPStimearealsomade.

    Observation interval : 30.0000 secondsObservationintervalisthetimeintervalbetweenobservablesinthisfile.

    Total satellites w/ obs : 51NAVSTAR GPS SVs w/o obs : 1 25NAVSTAR GPS SVs w/o nav : GLONASS SVs w/o obs : 6 12 16 GLONASS SVs w/o nav :

    Thefivelinesaboveshowthetotalnumberofsatelliteswithanytypeofobservation,followedbyalist

  • TeqcTutorial 39

    ofPRNnumbersforSVswithmissingobs(w/o obs),andPRNnumbersofSVsthatdidnothaveephemeris information (w/o nav). In this case all GPS and GLONASS SVs have navigationinformation.

    Rx tracking capability : 22 SVsPoss. # of obs epochs : 2880Epochs w/ observations : 2880

    Thesethreelinesshow: HowmanySVsthisreceivercantrackatonetime. Howmanyobservationepochsareinthetimewindow(a24hourfilewith30secondtimesteps

    has2880obsepochs). Howmanyepochsthatactuallyhad"completeobservations"fromatleastoneSV.Complete

    observations"aredefinednext.

    Ateqc "completeobservation"isdefinedasintheoriginalQCsoftwareonwhichtheqcalgorithmisbased,datingfromtheearly1990's.Acompleteobservation=phaseandcodepseudorangedataonboththeL1andL2carrierforGPSandGLONASSdata,andalso"good"S/NdataonbothL1andL2,andthatisusuallythecasewhenthethresholdwaszero.Aso,ifqcfull,thentheSVelevationhadtobeatorabovetheelevationmask.Ifyoufailtofindanycompleteobservations,youmightbemissingL2data,ormaybejustL2phasedata.Runteqc -O.sum . inputfile onyourdatafile.DoyouseeanyL1,L2,C1|P1,C2|P2columnspopulated?

    Epochs repeated : 0 (0.00%)Possible obs > 0.0 deg: 50216Possible obs > 10.0 deg: 41538Complete obs > 10.0 deg: 41293 Deleted obs > 10.0 deg: 26 Masked obs < 10.0 deg: 203Obs w/ SV duplication : 0 (within non-repeated epochs)

    Thesesevenlinesshow: Howmanyepochsappearmorethanonceintheobsfile.Zeroisperfectlyacceptable. Howmanytotalpossibleobservableswereabovethehorizonwhichisat0.0degreeselevation

    (dependsonhowmanySVswereavailable). Howmanytotalpossibleobservableswereabovetheelevationsmaskangle(dependsonhow

    manySVswereavailable,andtheelevationmaskangle,10.0degreesinthiscase). Howmany"completeobservations"areinthisobsfile,abovetheelevationmaskangle. Howmanydeletedobservations;ifqcfull,thisisrestrictedtothoseobservationsabovethe

    elevationmask. Howmany"completeobservations"areinthisobsfile,belowtheelevationmaskangle. HowmanycaseswhereoneSVhastwoormoreobservablesinoneepoch("SVduplication").

    Moving average MP1 : 0.394362 mMoving average MP2 : 0.494921 m

  • TeqcTutorial 40

    ThevaluesMP1andMP2areteqc'scomputedvaluesoftheRMSmovingaveragevaluesofthemultipathcombinationsMP1andMP2, inmeters. MP1andMP2are linearcombinationsof thepseudorangeandcarrierphaseobservations,indicatingtheL1pseudorangemultipathforC/AorPcodeobservations,andtheL2pseudorangemultipathforPcodeobservations.

    Theseshowtheaverage(RMS)MP1andMP2multipathinmeters. If qcfull,themultipathvaluesareonlyforobservationsabovetheelevationmask.

    SinceDecember2013teqcqchasreportedGNSSmultipathestimatesbetweenthe"L1"carrierandwhateverothercarriersarepresent:

    Moving average MP1 : 0.699214 m Moving average MP2 : 0.550381 m Moving average MP15 : 0.613068 m Moving average MP51 : 0.560702 m Moving average MP16 : 0.563154 m Moving average MP61 : 0.335918 m Moving average MP17 : 0.604290 m Moving average MP71 : 0.413092 m Moving average MP18 : 1.452014 m Moving average MP81 : 1.417948 m Theabovemultipathvaluesarefromactual24hourdatafromPerth,Australia,trackingGPS+

    GLONASS+SBAS+Galileo+Beidou/Compass+QZSS.

    Points in MP moving avg : 50

    Ifamovingaveragewindowwasused(whichisusedbydefault), theaveragingwindowlengthisgivenasanumberofpoints(Points in MP moving avg,thenumberofobservationsinthemovingaverage).

    Mean S1 S2 : 46.08 (sd=4.49 n=41325) 33.44 (sd=7.87 n=41299)

    S1andS2arethemeanofthesignaltonoiseratioforL1andL2.Unitsarereceiverdependent,thoughmanynewreceiversusedBHz.Alsoshowsthestandarddeviation(sd=,inthesameunits),andthenumberofvalues(n=)usedtocomputeS1andS2.No. of Rx clock offsets : 0Total Rx clock drift : 0.000000 msRate of Rx clock drift : 0.000 ms/hrAvg time between resets : Inf minute(s)

    Thesefourlinesshow: Thenumberofdetectedmillisecondreceiverclockresets. Thetotaldriftofthereceiverclock. Anestimateoftheaveragereceiverclockdrift. Theaveragetimebetweenresetsinminutes.

    Freq no. and timecode : 2 11072 ffffffReport gap > than : 10.00 minute(s)

  • TeqcTutorial 41

    Thefirstvalueinthefirstline(2inthiscase)ishowmanyfrequenciesareavailable.(Theremainderofthis line,suchas 11072 ffffff, isforusebytheonlineUNAVCODataArchiveInterface.) ThelengthoftimerequiredbeforenotinganSVdatagap(Report gap > than)isreported. If qclite,amaximumtimeisalsogiven.

    epochs w/ msec clk slip : 0other msec mp events : 0 (: 220) {expect ~= 1:50}

    Ifthedetectionofnmillisecondclockslipsison(+cloption),thenumberofepochswithnmillisecondclockslipsisreported.ThisoccurswhenallSVswithmultipathobservableshavemultipathslipsofthesamesizetowithinaspecifiedtolerance(fractionofmillisecond).

    This is followed by the number of other nmillisecond multipath slips which do not qualify as nmillisecondclockslips(relatedtothenumberof m symbolsintheASCIIplot;noneinthisexample).Givena nonzero tolerance, there is acertain probability that a fewmultipath slips fall within thetolerance.Thesecondvalue,inparentheses,istheratiooftotalnumberofmultipathslipsforthetimewindow(noelevationmaskcutoff).Withthetolerancesettothedefault0.01millisecond,ratiosontheorderof1:50areexpectedduetochanc