FAQ 1. GLOBK will not run when compiled with g77. How do I configure gcc and g77 for GAMIT and GLOBK
To compile and run GAMIT and GLOBK using the GNU gcc/g77 compiler you will need to build a custom version of the gcc/g77 compiler. This process is necessary as the default version of gcc/g77 only allows a maximum unit number (MXUNIT) of 99, while GLOBK requires a MXUNIT of 9999. You will need to download source code for the gcc/g77 compilers, unpack the tar files and read the installation instructions carefully. Take special note of the g77 customization section which contains the folowing information:
Larger File Unit Numbers
As distributed, whether as part of "f2c" or "g77", "libf2c" accepts file unit numbers only in the range 0 through 99. For example, a statement such as "WRITE (UNIT=100)" causes a run-time crash in "libf2c" because the unit number, 100, is out of range.
If you know that Fortran programs at your installation require the use of unit numbers higher than 99, you can change the value of the "MXUNIT" macro, which represents the maximum unit number, to an appropriately higher value.
To do this, edit the file "gcc-2.95.2/libf2c/libI77/fio.h" in your "gcc" source tree, changing the following line:
#define MXUNIT 100
Change the line so that the value of "MXUNIT" is defined to be at least one greater than the maximum unit number used by the Fortran programs on your system.
(For example, a program that does "WRITE (UNIT=255)" would require "MXUNIT" set to at least 256 to avoid crashing.)
Then build or rebuild "gcc" as appropriate.
Use the following links to read the complete gcc INSTALL document and see an example installation.
FAQ 2. When using sh_gamit my bad a priori coordinates seem to keep coming back even when I use the lfile update option.
The most likely reason for this is bad coordinates in the apr file ("aprf" variable set in process.defaults). Each time sh_gamit is run, the coordinates in the apr file are used to generate the lfile. Any sites whose positions are in an existing lfile. in the tables directory, but not in the apr file, are appended to the lfile. generated from the apr file. (This approach allows the lfile. coordinates to change with time for sites that are in the apr file). So, if a site does not appear in the apr file, then its coordinates will be copied from the updated lfile. But, if the bad coordinates are in the apr file, then the bad coordinates will continue to be used.
The solution here is to ensure that only sites with well known coordinates and velocities appear in the apr file. Other site coordinates will then be automatically generated and updated by sh_gamit. If a long series of data is being processed, then at some point globk should be run to determine positions and velocities, and these new estimates added to the apr file.
FAQ 3. Why are there differences between GLOBK and glred and tsfit (or ensum) velocity results (in a general sense)? Related question: In which results do you put the most confidence?
What many users don't appreciate is that glred is simply a front-end program to drive GLOBK. Its use is to conveniently allow many runs of GLOBK using a single command. The real distinction in generating a velocity solution is that when GLOBK is directly used with velocities estimated all the correlations between the sites and any temporal correlations are accounted for. When GLRED is used, usually each day of data is processed separately and then a simplier program (such as tsfit) is used to make linear fits to time series one-component (i.e. north, east and up) and one station at a time. Whether the two approaches generate the same result or not depends on nature data being analyzed and how well known the reference frame for the time series analysis is known.
The original "design/use" of GLOBK was for piecing together networks that at times might not have overlapping reference stations. Since all the results are combined in a single analysis, the reference frame can be built during the analysis. In fact, our preferred style of analysis is to keep all stations and velocities loosely constrained during the initial combination of all of the data with GLOBK. When this combination is completed, the program GLORG is used to determine the rotations (and possibly translations and scale) and their rates of change that best align the loose combination with some reference frame (such as ITRF2014 or stations on the stable part of plate where the initial assumption would be zero motion). In this type of analysis only the station velocities, not the coordinates need to be constrained (see, e.g., Herring et al. (1991), Geophys. Res. Lett., 18, 1893–1896, or Feigl et al. (1993), J. Geophys. Res., 98, 21,677-21,712.)i
When GLRED is used, the reference frame needs to realized for each day of data. Here again we usually do a loose combination and then apply rotation (and possibly translation/scale) to realize the frame. So the use of GLRED assumes you know the reference frame before hand. GLOBK on the other hand can be used to define the reference frame while obtaining the velocity solution.
The pros and cons of each approach:
Any large differences between the GLOBK and GLRED runs does need to be investigated to see what is causing them.
FAQ 4. What are the rules that control renames with position changes and earthquakes in the earthquake file? For example: What happens if I am moving a site, and changing its name over an interval that stradles an earthquake?
The logic in globk can get very complicated in these cases and the best solution is to be as explicit as possible in specifying to globk want you want to do. As a general rule: The first name in the rename must be the name of the site in the input hfiles. The second name should be the name you want the site renamed to. So if you are moving a site and changing its name to map between nearby sites (ie., generating one time series for two different sites) and the time range of the move stradles an earthquake for which you are renaming the sites, then the safest solution is to have two rename entries, one for before the earthquake and one for after the earthquake with the latter containing as the second entry the name of the site after the earthquake.
Also if you have a series of moves you want to make to a site (small incremental changes over time), the safest method is to have have no overlap in times of the renames with moves. These should also be broken at the time of the earthquake. If the site name is not being changed except by the earthquake, it should work. In your output, you should see new renames entries that have been generated automatically (broken at the time of the hfile nearest the earthquake).
There are additional cautions for renames with position changes. The renames with position changes should be direct, i.e. name change from the original name to the name wanted. Specifically, the following cases will not work sio1 -> sio2 -> sio3 for files than contain sio1 only. In this case there should be two rename entries one for sio1 -> sio3 and the other for sio2 -> sio3. NOTE: This feature with position changes only works correctly for overlapping time intervals in globk 5.05 and later. There can be problems with these types of renames when multiple hfiles are combined (as opposed to glred runs using on hfile at a time). As of 10/04/2000 we are still investigating if the latter works correctly.
For small station position changes, due for example to adding a radome, for which you accurately know the position change, the current reccommended procedure is to update station.info to reflect the position change you want to apply, and to use hfupd to update you hfiles.
For generating merged time series, it is reccommended that you use the ensum feature which will automatically generate merged time series if you have solutions with both sites observed in the same hfiles.
FAQ 5. How should I interpret the uncertainties given by the output files of GAMIT and GLOBK?
The velocities given by GLOBK are formal propagations (with no scaling or resetting of confidence levels) of the uncertainties implicit in the h-files from the GAMIT output, which are themselves unscaled propagations of the a priori error assigned to the phase observations (10 mm L1 one-way, 64 mm LC double differences). In a purely formal sense, the GLOBK uncertainties are one-sigma, but since the a priori assigned errors are arbitrary, as is the sampling interval, you can attach no statistical significance to the GAMIT or GLOBK uncertainties. (They happen to be within a factor of 2, usually, of realistic one-sigma uncertainties, which tempts users to take them seriously.)
Deriving realistic uncertainties for position or velocity estimates necessarily involves an assessment of the parameter estimates at some later stage; e.g., repeatabilities of daily, monthly, and/or yearly positions, consistency of velocity estimates, etc. You can get an idea of current thinking about this by looking at Mao et al. [JGR 104, 2797, 1999] and McClusky et al. [JGR 105, 5695, 2000]. To implement these strategies in our GAMIT runs, we rescale the phase uncertainties using the autcln output from postfit editing ('Use N-file' in sestbl.); and in GLOBK, we rescale the h-files (in the gdl list) and/or apply random walk noise (mar_neu) and/or reweight individual stations (sig_neu).