GLOBK Thomas Herring Room 54-611; 617-253-5941 tah@mit.edu http://geoweb.mit.edu
Summary Applications of globk (why do we need it). Structure of how globk works and philosophy GLOBK Command file: Use of process noise models Main commands that are encountered. GLORG command file: Coordinate system definition module (or frame stabilization) Pos_org and rate_org commands 06/13/06 Unavco GG Lec 02
Function of GLOBK The number of parameters in GPS phase analysis are dominated by bias and atmospheric delay parameters. The bias parameters increase as the number of stations times the numbers of satellites. It is not practical to include large numbers of stations in an analysis without some method of eliminating these bias and atmospheric delay parameters: Globk provides one way of eliminating these parameters. Phase analysis is CPU time intensive and another benefit of the Globk approach is that decisions on parameter constraints (such as site coordinates, Earth orientation parameters, orbits) can be done (quickly) at the Globk level. Principle is to carry forward solution and variance-covariance matrix for “global” parameters. 06/13/06 Unavco GG Lec 02
Introduction to Kalman filtering Estimation method in which parameters can be stochastic processes (i.e. parameters are not fixed, deterministic quantities but rather they vary with time according to statistical noise processes). Examples: polar motion and UT1, radiation pressure effects on satellites, possible transient events, monument instability noise. Nearly all parameters in globk can be stochastic or deterministic Statistical character of parameters are set with commands of the form apr_XXX (specifies the apriori uncertainty of a parameter) and mar_XXX (specifies the stochastic nature of the parameter) The parameters that are estimated in Globk are based on those that are given apriori uncertainties (special method used to put zero apriori constraint on parameter, i.e., fix the parameter value). 06/13/06 Unavco GG Lec 02
Stochastic processes Stochastic models in globk are random walks. Random walks are the sums of white noise; they are a special case of a first order Gauss-Markov process with infinite correlation time. The variance of the change in a random walk over a time interval is proportional to the time interval. (Strictly, a random walk is not a stationary process). Globk uses random walks because process can be represented with a single parameter. If process noise is zero, then classed as deterministic 06/13/06 Unavco GG Lec 02
Common applications of Globk Combine sessions to get average position over an observing campaign Allows connection between sites that were not simultaneously observed When large numbers of stations need to be processed, network can be broken into manageable sub-networks (e.g., 40-50 stations each) and the sub-networks combined with Globk. (Special case is combination of regional networks and global network for orbit determination). Combine averaged files together to estimate velocities Other parameters can also estimated such as earthquake offsets, possible scale variations for long duration combinations. Analysis of individual sessions and combined files for repeatability 06/13/06 Unavco GG Lec 02
Things Globk can not do Non-linear effects in aproiri models can not be removed. In some campaign processing, this can be a problem. Rough rule of thumb: 100-1000:1 convergence rate (e.g., a 1 meter error in an apriori coordinate could result in 1-10 mm error in final position). Gamit detects and corrects (by default) this problem. Fix errors in original analysis such as cycle slips or antenna phase center models Sites can be deleted which often stops effect on other stations Ambiguities can not be resolved in Globk (would make files too large) (Antenna height errors can be corrected in Globk: hfupd) 06/13/06 Unavco GG Lec 02
GLOBK Command file Example given in gg/example/gsoln/globk_comb.cmd Basic features of command files (also common to other input files used by globk) Character in column 1 denotes comment only minimum redundant part of command needed In many cases, not all arguments need be given 06/13/06 Unavco GG Lec 02
Preparing globk sh_glred automates standard runs with globk and can be used as a starting point. Assumes internet access but can be run without Globk needs: Binary h-files (htoglb): These are the input files “quasi-data” files used by Globk. They contain parameter estimates, covariance matrices and ancillary information (such as receiver and antenna information). Command file to tell it what to do. File is read through a series of command lines. There are a few restrictions on order of commands. Each command acts on results from previous commands. Optional apriori information files such as site coordinates and velocities, polar motion/UT1 information. (Much of this information can be carried from h-files themselves) 06/13/06 Unavco GG Lec 02
Binary h-files There are number of methods and sources of binary hfiles: From Gamit, they can be generated with htoglb from the h<expt>a.<yy><doy> files in processing day directories Other major source: Solution Independent Exchange Format files (SINEX). Available for GPS, VLBI, SLR and DORIS. Older formats from VLBI, SLR and GPS can be read but now replaced by SINEX. (JPL stacov files can be read but very poor meta data in these files). Program detects which type of file is given. SINEX files should be converted one-file at a time. De-constraining options are available for SINEX and should be used. Globk itself can write binary h-files Generally: Globk assumes h-files are loosely constrained. 06/13/06 Unavco GG Lec 02
HTOGLB Running htoglb Runstring: htoglb <dir> <ephemeris file> [options] <list of ascii files> dir is directory where binary files will be written ephemeris file is satellite orbit file (not used any more, make_svs). This file also contains the aproiri coordinates of the sites in the hfiles. options allow control of file names, and de-constraints: -d options allows rotation and translation covariances to be added. Needed for IGS sinex and PBO frame SINEX files. -n allows name format to be changed. list of ascii files, usually with UNIX wild cards. Single SINEX files should be used only. If no arguments are given; help is printed. 06/13/06 Unavco GG Lec 02
Program sequence The sequence of programs are: globk -- Main controlling program that calls other modules glinit -- Initialization program, reads the headers of all the binary h-files to determine their contents. (Allows wild cards in names etc.) glfor -- Forward kalman filter glbak -- Backards running filter and smoother. Only invoked when temporal variations in stochastic parameters is needed. For deterministic parameters such as positions and velocities, only forward solution is needed. glsave -- Saves combined binary h-files glout -- basic output program glorg -- origin definition program plus post analysis constraints (e.g., setting velocities of close sites to be equal) 06/13/06 Unavco GG Lec 02
Stand-alone programs glsave and glorg are often run as separate programs Commands can be put in the globk command that will run these modules Sometimes these commands are not included in the globk command file and in most cases they can be run after the globk program completes running (explicit name must given for the com_file for post-globk runs.) Caution: Internal files used by globk may be replaced with subsequent runs of globk so there needs to be some caution with multiple globk runs. Solution is to use wild-card names for com_file, srt_file and sol_file. (names are derived from gdl file name). 06/13/06 Unavco GG Lec 02
Associated programs Other program associated with globk glist -- lists the contents of a series of h-files glbtosnx -- Generates SINEX files from binary h-files hfupd -- Updates binary h-files for changes in station.info or sinex header file (distributed by IGS) glred -- Convenient way of running globk multiple times. This program is commonly used for repeatability analyses which are in turn used to set the process noise statistics in globk. ensum, enfit -- time series analysis (batch) Matlab derived programs (interactive): velview -- displays and analyzes velocity fields tsview -- displays and analyzse time series. Both these programs are available as executables for Linux and Mac OSX. 06/13/06 Unavco GG Lec 02
Running globk Typing globk will list the help: Runstring: globk <crt> <print file> <log file> <gdl file> <command file> <OPT> where <crt> = 6 (screen output) <print file> -- Print file name (can be 6 for screen) <log file> -- log file name (can be 6) <gdl file> -- file containing list of hfiles to be processed. Options can be added at the ends of line to re-weight files <globk command file> -- command file name <OPT> is a string (case sensitive) such that lines which start with this string will be interpreted as commands. This allows one command files to be for different purposes such as a velocity and repeatability runs. 06/13/06 Unavco GG Lec 02
globk files The gdl file is generated normally with an 'ls' of the directory containing the binary hfiles command file is created with an editor (can be based on gg/example templates version of file) print and log files are written by globk. When glorg in invoked inside globk, the .prt extent from the print file name is replaced with .org and this file is written also. Depending on options, files may not be output at all or may be erased before output (default is to append to files). 06/13/06 Unavco GG Lec 02
Main globk commands Commands commonly used: Globk uses three "scratch" files which can be explicilty named com_file -- Common file contains information about run srt_file -- binary file with time-sorted list of hfiles sol_file -- binary file with solution and covariance matrix To use glorg stand-alone, com_file command must be used 06/13/06 Unavco GG Lec 02
Estimation commands rules For a parameter to estimated in globk, apr_xxx command must be used where xxx is a parameter type (e.g., NEU, SVS, WOB, UT1, ATM) If zero given as aprori sigma, then parameter is not estimated (effectively left unconstrained) To force a parameter to apriori value, F is used as the apriori sigma eg, apr_neu SITE 10 10 10 F F F would force the velocity to apriori value When glorg is used to define reference frame, apr_neu, apr_wob and apr_ut1 should be kept loosely constained (equivalent of 1-10 meters) 06/13/06 Unavco GG Lec 02
Estimation commands Site position estimation Stochastic noise process apr_neu <site> <sigN> <sigE> <sigU> <sigVN> <sigVE> <sigVU> site is site name; maybe ALL to apply to all stations. Wild card @ at end of line can be used to apply to multiple sites (e.g., AOA1_@ would apply to AOA1_GNR and AOA1_GHT if these both were in solution). <sigN> <sigE> <sigU> aprior sigma on position (m) <sigVN> <sigVE> <sigVU> apriori sigma on velocities (m/yr) Stochastic noise process mar_neu <site> <RWN> <RWE> <RWU> <RWVN> <RWVE> <RWVU> site name, may be all <RWN> <RWE> <RWU> Random walk positions (m2/yr) <RWVN> <RWVE> <RWVU> Random walk velocities ((m/yr)2/yr) [Normally 0 0 0 used] 06/13/06 Unavco GG Lec 02
Earth Orientation Parameters (EOP) Apriori uncertainties apr_wob <X> <Y> <Xdot> <Ydot> X, Y pole position apriori sigma (mas) Xdot Ydot apriori sigma for rate of change (mas/day) apr_ut1 <sut1> <lod> < sut1 > in mas, < lod > in (mas/day) Process noise has same form mar_wob <RWX> <RWY> <RWXd> <RWYd> units are (mas2)/yr and (mas/day)2/yr mar_ut1 <RW UT1> <RW lod> Nominally EOP are well known today (0.2 mas typically), however in many analyses we like to keep these parameter loose to allow common-mode local rotation (for IGS runs still needed) 06/13/06 Unavco GG Lec 02
EOP statistics Normally used in two forms: Global network of stations apr_wob 10 10 1 1 apr_ut1 10 1 Regional network (constrained). When constrained this way system is not free to rotate (see pos_org in glorg). apr_wob 0.2 0.2 0.02 0.02 apr_ut1 0.2 0.02 In many analyses, the global form is used even for local networks. (Care is needed if local network is not not surrounded by stations with well defined motions). 06/13/06 Unavco GG Lec 02
UT1 issues Some care needs to be used with UT1 because it cannot be separated from the nodes of the satellites orbits UT1 tables and orbits must have used the same frame for constraints on UT1 to applied. If local processing, then should be OK If orbits were determined with different EOP tables, then UT1 should be loosened. (More of a problem with older analyses -- mid 1990’s and earlier) 06/13/06 Unavco GG Lec 02
Frame estimation commands apr_tran <X YZ> <Vx Vy Vz> -- estimate translation of coordinate system apr_scale <ppb> <ppb/yr> -- estimate scale and scale rate mar_tran and mar_scale specify the process noise Normally only used in global networks but can be help full in regional networks to allow for common mode errors. (Generally, small networks can translate easily and so explicit translation not needed). apr_scale MUST be used if scale allowed in glorg frame definition. 06/13/06 Unavco GG Lec 02
File commands A number of commands are used control the files used by globk apr_file <name> lets a new apriori coordinate file be used Format is: Site_name X Y Z Vx Vy Vz epoch Site names are 8 characters, for GPS ABCD_GPS X Y Z are geocenter Cartesian (m) Velocities are m/yr Epoch is deciminal years 06/13/06 Unavco GG Lec 02
Apriori position files apr_files commands can be issued multiple times with the latest values taken If not specified, GAMIT apriori's are used (no velocities) EXTENDED option allows more complex behaviors (see globk.hlp) Allows for jumps in positions and velocities Periodic signals Logarithmic and exponential decay after earthquakes. 06/13/06 Unavco GG Lec 02
Earthquake files It is possible to automatically account for displacement caused by earthquakes with the earthquake file To main functions: Earthquakes specified by 2-char code renames of sites either due to wrong names in gamit processing or problem with position change after equipment change. Rename command: Rename <old> <new> [HFile code] [Epoch ranges] [Position shift] Changing positions with rename commands no longer recommended. 06/13/06 Unavco GG Lec 02
Earthquakes in eq_file For earthquake: eq_def <code> Lat Long Radius Depth Epoch eq_cosei <code> <Static Variance> <distance dependent variances> eq_post <code> <dur> <Static RW> <distance dependent RW> eq_rename <code> eq_log <code> <tau (days)> <static NEU sigma (m)> <Spatial sigma NEU> The rename option cause site to renamed from xxxx_GPS to xxxx_G[Code] 06/13/06 Unavco GG Lec 02
GLORG Glorg allows coordinates systems to be defined by applying explicitly rotations and translations rather than tightly constraining some stations Allows post applications of constraints (e.g. equating velocities at near by sites) If loose constraints on site positions and velocities, apriori coordinates and velocities can be changed. It can be run as a separate program or during the globk run itself 06/13/06 Unavco GG Lec 02
Glorg commands imbedded in globk command file The globk command file imbedded glorg commands are: org_cmd <glorg command file name> org_opt <Options for output> org_out <output file name> If org_out is not given then the extent on the print file name is replaced with .org 06/13/06 Unavco GG Lec 02
Miscellaneous commands max_chi <max chi**2 Increment> <max prefit difference> <max rotation> allows automatic deleting of bad h-files and bad coordinates app_ptid allows applying the pole tide correction if not included in gamit run. (Careful with SINEX files, since these don't specify if correction has been applied) 06/13/06 Unavco GG Lec 02
Miscellaneous commands crt_opt, prt_opt, org_opt specify output options for screen, print and org files glorg help gives all options, main ones are: ERAS -- erase file before writing (normally files appended) NOPR -- Do not write output BLEN -- Baseline lengths BRAT -- baseline rates when velocities estimated RNRP -- generates reports on differences in parameter estimates after renames. FIXA -- makes apriori coordinates and velocities consistent when equates are used in glorg (can sometimes fail in complicated rename scenarios--best apriori files are consistent) VSUM -- Lat/long summary of velocity (needed to plot velocities) PSUM -- Lat/long position summary GDLF --Include list of hfiles and chi**2 increments from run CMDS -- Echos globk command file into output file 06/13/06 Unavco GG Lec 02
Defining coordinate system in globk To define a coordinate system need origin, orientation and possibly scale Strictly for GPS scale should be defined but systematic errors in the position of the phase center of satellites cause a scale error and scale rate error (due to evolving GPS constellation: Problem should be reduced with new absolute phase center model but all old data will need to be reprocessed once new orbits have been generated). Strictly, origin is also defined but mis-modeled perturbation on satellite orbits can cause shift in origin 06/13/06 Unavco GG Lec 02
glorg coordinate definition The glorg module in globk defines the coordinate system by applying rotation, translation, and scale to best align with coordinates of a selected set of stations: Algorithm assumes these parameters are loosely constrained. Apriori coordinates and velocities define frame. User chooses which of the translation, rotation and scale are included If scale is used, it must be explicitly estimated in globk For velocity definition: Same generalized system can be applied i.e. rates of translation, rotation, scale aligned with velocities of sites. In general: No specific station coordinates are tightly constrained 06/13/06 Unavco GG Lec 02
GLORG: pos_org and rate_org The two commands determine how coordinate system will be realized from loose globk analysis. Class of parameters: Xtran ytran ztran – allows translation Xrot yrot zrot – allows rotation Scale – allows rescaling of system Strictly when transation used the apr_tran and mar_tran commands should be used in globk analysis. (We are still not sure this is best thing to do) Absolutely if scale used, apr_scale and mar_scale commands should be used in globk 06/13/06 Unavco GG Lec 02
GLORG Rotation If rotation used in pos_org, EOPs must be loose in globk (apr_wob/mar_wob and apr_ut1/mar_ut1) If rotation not used then EOPs should be constrained (Often good on small networks) but position errors grow near edges of network There can be problems with zrot terms because of differences between the node position of the satellites and UT1 tables used in globk analysis. Rotation rate: EOP tables are in Nuvel-not-net-rotation frame. If analysis done in another frame (e.g., North America fixed) rotation rates should be allowed or EOP file generated in corrected frame (no module yet to do this but will be done soon). 06/13/06 Unavco GG Lec 02
Summary Basics of Kalman filtering Inputs to globk Control of globk Glorg applications Basic programs in the globk suite 06/13/06 Unavco GG Lec 02