GPS Solutions

, Volume 13, Issue 2, pp 119–132

Accuracy assessment of the National Geodetic Survey’s OPUS-RS utility


    • Department of Geodesy
  • Richard A. Snay
    • National Geodetic Survey/NOAA
  • Tomás Soler
    • National Geodetic Survey/NOAA
Original Article

DOI: 10.1007/s10291-008-0105-0

Cite this article as:
Schwarz, C.R., Snay, R.A. & Soler, T. GPS Solut (2009) 13: 119. doi:10.1007/s10291-008-0105-0


OPUS-RS is a rapid static form of the National Geodetic Survey’s On-line Positioning User Service (OPUS). Like OPUS, OPUS-RS accepts a user’s GPS tracking data and uses corresponding data from the U.S. Continuously Operating Reference Station (CORS) network to compute the 3-D positional coordinates of the user’s data-collection point called the rover. OPUS-RS uses a new processing engine, called RSGPS, which can generate coordinates with an accuracy of a few centimeters for data sets spanning as little as 15 min of time. OPUS-RS achieves such results by interpolating (or extrapolating) the atmospheric delays, measured at several CORS located within 250 km of the rover, to predict the atmospheric delays experienced at the rover. Consequently, standard errors of computed coordinates depend highly on the local geometry of the CORS network and on the distances between the rover and the local CORS. We introduce a unitless parameter called the interpolative dilution of precision (IDOP) to quantify the local geometry of the CORS network relative to the rover, and we quantify the standard errors of the coordinates, obtained via OPUS-RS, by using functions of the form
$$ \sigma ({\text{IDOP}},{\text{RMSD}}) = \sqrt {(\alpha \cdot {\text{IDOP}})^{2} + (\beta \cdot {\text{RMSD}})^{2} } $$
here α and β are empirically determined constants, and RMSD is the root-mean-square distance between the rover and the individual CORS involved in the OPUS-RS computations. We found that α = 6.7 ± 0.7 cm and β = 0.15 ± 0.03 ppm in the vertical dimension and α = 1.8 ± 0.2 cm and β = 0.05 ± 0.01 ppm in either the east–west or north–south dimension.


GPSGeodesyRapid static techniques


NOAA’s National Geodetic Survey (NGS) operates the On-line Positioning User Service (OPUS) to provide GPS users easy access to the National Spatial Reference System (NSRS). This service (available at combines GPS tracking data from the user’s site (called the rover) with tracking data from the U.S. Continuously Operating Reference Station (CORS) network (Snay and Soler 2008) to compute positional coordinates for the rover’s location which are accurate to within a few centimeters.

OPUS provides the user the means to obtain accurate coordinates while operating a single GPS receiver. A popular utility, OPUS is now processing over 20,000 user-submitted data sets per month. OPUS is designed to handle long baselines but requires relatively long (at least 2 h) tracking sessions to produce coordinates to within an accuracy of a few centimeters (Soler et al. 2006).

NGS has convened a series of forums to gather user comments on the CORS and OPUS services. At these forums, a recurring comment was that users wanted to obtain similarly accurate coordinates, but with shorter observing sessions. OPUS-RS (rapid static) is designed to meet that requirement, producing coordinates with an accuracy of a few centimeters from user data sets spanning as short as 15 min.

To accomplish this, an entirely new internal processing engine was constructed, replacing the PAGES program used in the original OPUS. OPUS-RS also uses a more restrictive algorithm for selecting reference stations, and it places more restrictions on the data sets it will process.

However, the external interface for OPUS-RS is the same as that for the original OPUS, and most of the information and explanations offered for the original OPUS apply to OPUS-RS. Many of the options, such as allowing the user to select reference stations and/or the state plane coordinate zone, are also the same. The reports returned to the user are very similar as well.

The construction of OPUS-RS presented two challenges:
  1. 1.

    Show that it is generally possible to obtain accurate coordinates from GPS tracking sessions as short as 15 min, while using reference stations from the U.S. CORS network. This network of reference stations provides baseline lengths of 100–200 km in many areas, but in areas where the CORS network is sparse, the baseline lengths can be much longer.

  2. 2.

    Design processing options and a station-selection algorithm that will produce accurate coordinates for almost all user data sets, even though these data sets vary widely in terms of receiver type, antenna type, antenna placement, station environment, tracking quality, observing session length, and geographic location. Furthermore, construct algorithms that recognize and notify the user regarding situations that are unlikely to compute a highly accurate solution.


Research conducted by the Satellite Positioning and Inertial Navigation (SPIN) group at The Ohio State University (Wielgosz et al. 2004; Kashani et al. 2005; Grejner-Brzezinska et al. 2005, 2007) indicated that the first challenge could be met, at least for areas with well behaved reference station data. NGS developed and implemented the Rapid Static GPS (RSGPS) software (Schwarz 2008) based on the ideas developed by the SPIN group and expressed in the MPGPS software.

The second challenge required considerable experimentation. The first approach was to select the three closest CORS, as is done for regular OPUS. The spatial interpolation used for predicting the tropospheric and ionospheric refraction at the rover suggested that the reference stations should be well distributed around the rover, so the algorithm was modified to select the three closest stations forming a triangle including the rover. This approach also proved untenable; there are many areas, especially along the coasts, where three CORS surrounding the rover cannot be found.

Later, the reference-station-selection algorithm was modified to select up to nine CORS, and the rover was allowed to be up to 50 km outside the “convex hull” of the selected reference stations. The convex hull is the smallest convex polygonal area encompassing the reference stations.

The reference station selection algorithm now in use also restricts the search for reference stations to a radius of 250 km from the rover. If the search algorithm does not find at least three acceptable reference stations, OPUS-RS will not attempt a solution. The 250-km limit can be overridden if the user manually selects reference station(s). Figure 1 summarizes some of the restrictions contained in the station-selection algorithm currently used by OPUS-RS.
Fig. 1

Major restrictions implicit in OPUS-RS station selection algorithm

How OPUS-RS works

OPUS-RS solves for the coordinates of the user’s receiver in two steps. In the first step, parameters associated with the reference stations are determined. In the second step, the parameters determined in the first step are combined with the tracking data from the rover to determine the rover coordinates. RSGPS has two operating modes, network and rover, which are used to accomplish these two steps. In network mode, at least 1 h of data from the selected CORS are used to solve for integer ambiguities, tropospheric refraction parameters, and the double difference ionospheric delays at the chosen CORS, with the positional coordinates of the CORS held fixed. In rover mode, the ionospheric delays and the tropospheric parameters (from an existing network-mode solution) are interpolated (or extrapolated) from the selected CORS to the rover. Then the delays at the rover are constrained to solve for the positional coordinates of the rover. Again, the positional coordinates of the CORS are held fixed.

In greater detail, OPUS-RS has six major processing phases:
  1. 1.
    Initial quality control The user’s data set is examined. The TEQC software (Estey and Meertens 1999) is used to determine if the data file is properly formatted. The beginning and ending times of the file are determined. The observation time span for the RSGPS network solution is computed as follows:
    • If the time span for the rover’s data is less than 1 h, the time span for the network solution is 1 h centered at the midpoint of the time span for the rover.

    • If the time span for the rover’s data is one hour or more, the time span for the network solution begins 15 min before the time span of the rover’s data and ends 15 min after.

  2. 2.

    Orbits Orbit files for the period spanned by the GPS data are retrieved from the NGS archive. If suitable orbit files cannot be found in the NGS archive, the archives at NASA’s Jet Propulsion Laboratory are searched. If a final precise orbit cannot be found, a rapid orbit is used, and if that cannot be found, an ultra-rapid orbit is used. If necessary, orbit files for two consecutive days are concatenated together.

  3. 3.

    Retrieve reference station RINEX files The TEQC software, together with a broadcast orbit, is used to determine the first approximation to the positional coordinates of the rover. The accuracies of these coordinates are approximately 2–10 m.

    These positional coordinates are used to compute the distance from the rover to each station in the CORS network and the stations are then sorted by distance, thus creating an ordered list of candidate reference stations. User-selected stations are put at the top of this list. Stations that the user specifies for exclusion are skipped.

    For each station in the list of candidate reference stations, an attempt is made to retrieve a RINEX file covering the network-solution’s time span from the NGS CORS archive. If the RINEX file is not found there, the archives at Scripps Institute of Oceanography (SOPAC) and CDDIS (NASA Goddard) are searched. If necessary, hourly files are spliced together and/or RINEX files from two consecutive days are retrieved and spliced together. If the retrieval of a RINEX file is successful, its contents are tested. The file is read to determine how many of the potentially usable observations are actually present. The potentially usable observations are those which are contained within the network-solution’s time span, are observed at 30-s epochs, and involve satellites at least 10° above the local horizon. To be counted as actually present, the observational record must contain all four required data types (L1, L2, P1[or C1], and P2). If at least 90% of the potentially usable observations are actually present, the candidate station is added to the list of reference stations to be used. The search is terminated when any of the following are true:
    • Nine reference stations have been found,

    • The distance to the next candidate is greater than 250 km, or

    • 50 candidates have been examined.

  1. 4.

    Improve the position A differential pseudo-range solution is performed using the RINEX file from the closest reference station, the known coordinates of the reference station, and the rover’s RINEX file. The positional coordinates of the rover obtained from this computation are typically accurate to 0.5–2.0 m and this is the beginning set of coordinates for the RSGPS program.

  2. 5.
    Run RSGPS
    • The input file and configuration file for executing the RSGPS software are set up.

    • RSGPS is run in the network mode, using the RINEX files from only the reference stations. The first selected reference station is chosen as the base station to be used in forming double difference GPS observations (hub station).

    • If the normalized RMS residual from this run is larger than 1.0, the standard errors assigned to the pseudorange observations are increased by a factor of 2.5 and the entire network solution is restarted. This process may be repeated as many as three times.

    • The “quality indicator” produced by RSGPS is examined. Based on the W ratio, the quality indicator is a measure of the certainty that correct values for all integer ambiguities have been found (Wang et al. 1998). If this quality indicator is less than 3.0, the entire network solution is restarted with a different hub station. The process may be continued until all candidate hub stations have been tried.

    • The values of the tropospheric zenith wet delay at the reference stations are examined. If a value appears to be unreasonable (e.g., the computed tropospheric zenith wet delay is negative), the corresponding reference station is deleted. If there are still at least three reference stations left, the network solution is restarted without that station.

    • A series of single baseline rover mode solutions is performed, each solution involving one reference station and the rover (user’s receiver). Each of these solutions is iterated until corrections to all coordinates are less than 0.03 m. This produces a series of estimates of the coordinates for the rover. The mean of these estimates is computed for each coordinate, and the individual differences from the mean are computed. If any horizontal difference is greater than 0.05 m, or any vertical difference greater than 0.1 m, the station with the largest difference (in terms of its absolute value) is deleted. If there are still at least three reference stations left, the network mode solution is restarted. This test will be applied no more than two times. After two reference stations have been deleted by this test, the solution proceeds with the remaining stations, irrespective of the scatter of the differences.

    • A final rover-mode solution is performed, this time using the data from all selected reference stations together with the rover’s RINEX file and the constraints saved from the network-mode solution. This solution is also iterated until the correction to each coordinate is less than 0.03 m, and this is the final estimate of the rover’s coordinates.

    • The single baseline solutions are reexamined for the purpose of determining how well the individual single baseline solutions agree with the final rover-mode solution. This time, the residuals from the final rover coordinates, rather than residuals from the mean, are computed. The RMS of these residuals in each coordinate is computed. The values are used as estimates of the standard errors of the final coordinates.

  3. 6.
    Create OPUS-RS solution report
    • The ITRF2000 coordinates for the rover are taken from the last iteration of the rover-mode solution using all the selected reference stations.

    • If the user’s receiver is within an area in which NAD 83 is defined, NAD 83 coordinates are computed with the HTDP software (

    • UTM coordinates are determined.

    • If NAD 83 is defined, the state plane coordinate zone is determined and plane coordinates are computed with the SPCS83 software (

    • The NGS data base is searched to find the NGS published control point located nearest to the rover.

    • If requested, the items required for the extended output are computed.

    • The OPUS-RS solution report is composed and e-mailed to the submitter.


OPUS-RS statistics

There are two common ways to estimate the standard errors of the coordinates determined by an adjustment such as that performed by OPUS-RS:
  • Formal error propagation. In a least squares adjustment, the covariance matrix of the adjusted parameters may be computed by multiplying the variance of unit weight by the inverse of the normal equation coefficient matrix. The formal variances (that is, the squares of the formal standard errors) of the coordinates correspond to the diagonal elements of this matrix. This procedure is based on the assumption that the mathematical model reflects physical reality, and only random errors are present in the observations.

    In many applications, including both OPUS and OPUS-RS, this method produces standard errors which are far too optimistic (often only a few millimeters). The reasons why this occurs are unknown, but are thought to be related to unmodelled effects. Because the formal standard errors are seldom reliable indicators of the uncertainties in the computed coordinates, they are not shown in the standard OPUS and OPUS-RS reports. For users who want them, they are available in the extended output.

  • Repeated samples. If more than one estimate of a quantity is available, the scatter of those estimates gives a measure of the precision of any single one. In both OPUS and OPUS-RS, we compute separate estimates of the rover’s coordinates by single baselines, each involving a known reference station and the rover. These are not truly independent estimates, because they all use the same data from the rover; however, they do serve the purpose of isolating errors associated with the accuracies of the adopted coordinates of the individual reference stations and/or the observational noise contained in the GPS data from these stations.

In the original OPUS, the computed coordinate (in a given dimension) is the mean of the coordinates computed by three separate single baseline solutions. This solution is not completely rigorous, because it ignores the fact that the results from the three single baselines are not statistically independent. Furthermore, OPUS reports the range (peak-to-peak) of the three individual estimates. As shown by Schwarz (2006), this range is related to the standard error of the mean by the factor 2.93. In practice, the peak-to-peak error has been found to be a useful and realistic indicator of the accuracy of the computed coordinate.

In OPUS-RS, the final coordinates are computed by using data from all selected reference stations and the rover in a single simultaneous least squares adjustment. However, single baseline solutions between the rover and each CORS are also computed as a means of estimating the accuracy. For the most part, the single baseline solutions show if estimated coordinates using a particular reference station fail to agree with the others, and this often indicates the presence of non-random errors in the data or the adopted coordinates from a particular reference station.

The peak-to-peak range of the single baseline solutions does not have the same meaning in OPUS-RS as it does in regular OPUS because the number of reference stations used in OPUS-RS varies (between a minimum of three and a maximum of nine). The steps of the algorithm used in OPUS-RS are:
  • compute various estimates of the rover’s coordinates, using each of the selected reference stations individually

  • compute the final coordinates of the rover by a simultaneous least squares adjustment, using the data from all the reference stations and the rover together

  • compute the difference between each single baseline estimate and the final coordinate in each of several dimensions, that is, in the global X, Y, and Z dimensions, as well as in the east (e), north (n), up (u) dimensions.

  • estimate the standard error in each coordinate by computing the square root of the differences.

  • insert the resulting number next to the coordinate on the OPUS-RS report.

The numbers reported as standard errors are valuable because they isolate problems with the reference station coordinates or data. However, it is difficult to assign a probability level to these numbers. Were the single baselines independent of each other and of the final coordinates, these numbers would be the standard errors of the coordinates determined by a single baseline. However, neither of these conditions is met, so one can use only an empirical measure. Experiments using data from the CORS stations (whose coordinates are assumed to be known) show that the actual error in a final coordinate is greater than the number given as the standard error of this coordinate in fewer than five percent of the cases.

Experience of the first 6 months

OPUS-RS was released for public operational use at the end of January 2007. In the first 6 months of operational use, approximately 40,000 files were submitted. Of each 100 files submitted, approximately:

Twenty were rejected because of user errors. Reasons for this included:
  • Submitted data file could not be converted to the RINEX format.

  • Submitted RINEX file did not conform to the RINEX standards.

  • Collection rate was incorrect (collection rate must be 1, 2, 3, 5, 10, 15, or 30 s).

  • Submitted data were collected outside the geographic boundaries where the use of OPUS-RS is allowed.

  • No data were available for a user-selected reference station.

  • Submitted data set spanned too little time (minimum time span is 14.4 min = 0.01 days).

  • Submitted data set spanned too much time (maximum time span is 4.0 h).

  • Submitted data set did not contain the four observation types—L1, L2, P1 [or C1], and P2—as required by RSGPS.

Fifteen were data sets for which OPUS-RS did not attempt a solution. Some common reasons for this were:
  • OPUS-RS could not find three reference stations within 250 km of the rover.

  • The rover was located more than 50 km outside of the convex hull of the selected reference stations.

  • The program could not determine the integer ambiguities.

Sixty-five resulted in a solution which was e-mailed to the submitter.
  • Of these, about five carried a warning that the solution may be weak. There are four warnings that could have been issued:
    • The scatter of the single baseline solutions was greater than 5 cm in either horizontal coordinate or greater than 10 cm in the vertical.

    • The network solution quality indicator—a measure of the ability of the software to fix the ambiguities to the correct integer values—was less than 3.0.

    • The rover solution quality indicator was less than 1.0.

    • The normalized RMS from the final rover mode adjustment was greater than 1.5.

  • Solutions for the remaining 60 submitted jobs were returned to the user with no warnings.

Brief introductions to earlier versions of OPUS-RS were previously published by Lazio (2007) and Martin (2007).

Introducing IDOP

A primary reason why OPUS-RS can obtain accurate coordinates with only 15 min of rover data is that it uses at least an hour’s worth of data from several reference stations to estimate both the tropospheric and ionospheric delays at these stations, and then interpolates (or extrapolates) these delays to predict corresponding delays at the rover. Because interpolation/extrapolation is involved, the accuracies of the rover’s derived coordinates should depend on the geometry of the reference stations and on the distances between the rover and the individual reference stations. Such is not the case with the original OPUS utility. In particular, Eckl et al. (2001) showed that both the orientation and length of a baseline between two GPS data-collection stations have negligible influence on the relative positional coordinates between these stations when their GPS data are processed with PAGES (the processing engine contained in the original OPUS). The influence of reference-station geometry on the accuracy of the rover coordinates, as obtained with OPUS-RS, is reflected in the following theorem. We will address the influence of interstation distances in a later section of this article.

Theorem 1

Suppose z = f(x, y) is modeled by the expression
$$ z = ax + by + c $$
and suppose there is a set of n independent observations, denoted zi, at the points (xi, yi) for i = 1, 2, 3,…, n.
We choose to estimate the parameters a, b, and c by least squares. We further suppose that the observations are statistically independent and each has the (unknown) standard deviation σ. The predicted value of z at the point (x0, y0) then has the standard error\( \sigma_{{z_{0} }} \)given by the expression
$$ \sigma_{{z_{0} }} = \sigma \sqrt {\frac{R}{Q}} $$
$$ R = (\Upsigma \Updelta x_{i}^{2} )(\Upsigma \Updelta y_{i}^{2} ) - (\Upsigma \Updelta x_{i} \Updelta y_{i} )^{2} $$
$$ Q = nR + 2(\Upsigma \Updelta x_{i} )(\Upsigma \Updelta y_{i} )(\Upsigma \Updelta x_{i} \Updelta y_{i} ) - (\Upsigma \Updelta x_{i} )^{2} (\Upsigma \Updelta y_{i}^{2} ) - (\Upsigma \Updelta y_{i} )^{2} (\Upsigma \Updelta x_{i}^{2} ) $$
where Δxi = x− x0and Δyi = y− y0.

Appendix 1 contains a proof of this theorem.

The mathematical expression \( \sqrt {R/Q} \) is a unitless quantity that we shall call the “interpolative dilution of precision” or IDOP, for short. Thus
$$ {\text{IDOP}} = \sqrt {\frac{R}{Q}} $$
From Eq. 5, it follows that if (x0, y0) is located at the centroid of the data points [that is, if \( x_{0} = \left( {\sum x_{i} } \right)/n \) and \( y_{0} = \left( {\sum y_{i} } \right)/n \)], then \( \sum \Updelta x_{i} = \sum \Updelta y_{i} = 0 \) and
$$ {\text{IDOP}} = \frac{1}{\sqrt n } .$$
Also, IDOP attains its minimum value at the centroid, because
$$ \frac{{\partial ({\text{IDOP}})}}{{\partial x_{0} }} = \frac{{\partial ({\text{IDOP}})}}{{\partial y_{0} }} = 0 $$
at this location and nowhere else. When using OPUS-RS, IDOP will always be greater than 0.33, because this utility uses a maximum of nine CORS.
Figure 2 provides an example of how IDOP depends on location. For this example, we have used only four reference stations, located at the corners of a square with sides of length 2p, where p is an arbitrary parameter. The computations in Appendix 2 show that for this example,
Fig. 2

IDOP values as a function of location for the case of four CORS located at the corners of a square

$$ {\text{IDOP}} = \frac{1}{2}\sqrt {\,\left( {\frac{{x_{0} }}{p}} \right)^{2} + \left( {\frac{{y_{0} }}{p}} \right)^{2} + 1} $$
consequently, IDOP equals 0.5 \( ( = 1/\sqrt n ) \) at the square’s centroid, and IDOP increases as a function of the rover’s distance from this centroid in a radially symmetric manner. Table 1 shows other values of IDOP at different locations inside and outside the square. Thus, according to Theorem 1, if we have statistically independent estimates for the atmospheric conditions at the four corners of a square, and we assume that Eq. 1 is an adequate model for the spatial distribution of these atmospheric conditions, then we can predict the corresponding atmospheric conditions and their standard errors at a rover located anywhere in the plane, but the accuracy of such predictions would depend simply on the distance between the rover and the square’s centroid. With a more complicated reference-station geometry, the values for IDOP would not be radially symmetric about the centroid of these stations.
Table 1

IDOP values at various locations when four CORS are at the corners of a square whose sides have a length of 2p

(x0, y0)


(0, 0)


(0, p/2)


(p/2, 0)


(0, −p)


(p, 0)


(p, p)


(p, −p)


(−p, −p)


(−p, p)


(0, 3p/2)


(0, 2p)


(3p/2, 3p/2)


(2p, 2p)


The IDOP should not be confused with the well-known unitless quantity called the geometric dilution of precision (GDOP). Nor should IDOP be confused with related measures, such as PDOP, HDOP, VDOP, TDOP, etc. GDOP and its related measures are well explained in many textbooks, including Leick (2004), and they quantify the geometry of the collection of GPS satellites visible from the rover. Thus, IDOP quantifies reference-station geometry relative to the rover, and GDOP quantifies satellite geometry relative to the rover. Both IDOP and GDOP will influence the accuracy of the coordinates obtained with OPUS-RS, but we have restricted our attention to IDOP for this study.

The effect of interstation distances

A curious characteristic of IDOP is that its value does not depend on the distances between the rover and the individual reference stations in an absolute sense. Its values depend on these distances only in a relative sense. That is, if we scaled all the x and y coordinates by the factors sx and sy such that
$$ x' = s_{x} \cdot x\quad and\quad y' = s_{y} \cdot y, $$
then the IDOP value at (x’0, y’0) in the xy′-frame would be the same as the IDOP value at (x0, y0)in the xy-frame. Thus, in the example of four reference stations located at the corners of a square: IDOP equals 0.5 at the centroid, it equals 0.56 at any point that is located at a distance of p/2 from the centroid, and it equals 0.87 at each reference station, no matter what value of p is used. This result may be counterintuitive, because it seems that we should be able to predict the atmospheric conditions at the square’s centroid better when p equals 50 km than when p equals 100 km. Nevertheless, this is the case so long as the function f(x, y) can be “adequately” approximated by the linear mathematical expression ax + by + c over the area involved in interpolation.

To test what happens otherwise, we examined a particular case restricted to one function of one variable.

Theorem 2

Suppose that z is a quadratic function of x, z = f(x) = ax2 + bx + c, and suppose there is a sample of n independent observations ziat xifor i = 1, 2, 3,…, n. Suppose also that we attempt to approximatef(x) by the linear expression b′x + c′, then the error of approximation at x = 0 is c′ − c. Furthermore,
$$ c' - c = \frac{{a\Upsigma x_{i}^{2} }}{n} $$
for the case that\( \Upsigma x_{i} = 0 \).

Appendix 3 contains a proof of Theorem 2.

This theorem indicates that, for this particular case of f(x), the linear interpolation process will generate a biased prediction at the point x = 0. Moreover, the magnitude of this bias is proportional to \( (\Upsigma x_{i}^{2} )/n \) when \( \Upsigma x_{i} = 0. \)

We generalize this result to a function of two variables and state (without proof) that whenever f(x, y) is itself a nonlinear function of x and y within the area of interpolation (extrapolation), then the linear interpolation process may generate a biased prediction of the atmospheric conditions at the rover. The magnitude of this bias will depend on the nature of f(x, y). We will approximate this bias in this study by a quantity that is proportional to the root-mean-square distance (RMSD) from the rover as defined by the equation:
$$ {\text{RMSD}} = \sqrt {\frac{{\sum\nolimits_{i}^{n} {d_{i}^{2} } }}{n}} $$
where di equals the horizontal distance between rover and the i-th reference station for i = 1, 2,…, n. We have thus identified two sources of error—the error committed by using a simple plane to model the variation of atmospheric conditions, and the error of interpolation. We combine these two sources into an “overall” standard error of the predicted atmospheric conditions at the rover
$$ \sigma ({\text{IDOP}},{\text{RMSD}}) = \sqrt {(\alpha \cdot {\text{IDOP}})^{2} + (\beta \cdot {\text{RMSD}})^{2} } $$
where α and β are constants. Equation 11 embodies the concept that the square of the total error equals the sum of squares of the various error components. Here the term α IDOP quantifies the random error due to linear interpolation, and the term β RMSD approximates the systematic error due to the nonlinearity of the atmospheric delay as a function of x and y. In the next section, we will describe an experiment to estimate nominal values for α and β across the conterminous United States (CONUS) using GPS data spanning a period of 10 months. The values of IDOP were determined using Eq. 5 and the methodology described in Appendix 4.

Empirical results

We selected each National CORS located in CONUS to serve as a simulated rover. We assumed that the “true” positional coordinates of these rover-CORS are provided by their NGS-adopted ITRF2000 values at epoch 1997.00 (=1 January 1997), as posted at These “true” coordinates for recently started CORS are an average from the first few weeks of operation, computed from the 24-h data with the NGS-developed software PAGES in a solution involving the entire CORS network and having constraints at five North American IGS stations (ALGO, DRAO, GODE, MDO1 and NLIB). Velocities for time-projection of the coordinates for these recently started CORS are predicted by the HTDP software (; however, years of coordinates often reveal insufficiencies in the predicted velocity, with a least-squares fit to the history suggesting a revision to the velocity and concomitant “true” coordinate, especially when time-projected to a reference epoch such as 1997.00. “True” coordinates are therefore a mixture of these velocity sources, based on the longevity of a given CORS and on the predictive abilities of the HTDP model.

For each rover-CORS, we selected 15 min of data (17:45–18:00 UTC) observed during the tenth day for each of ten consecutive months (July 2007–April 2008). For each 15-min data set, we used OPUS-RS to compute positional coordinates for the rover-CORS. As is the case with the original OPUS, OPUS-RS computes ITRF2000 positional coordinates at the mean epoch of the observational window, denoted t. Consequently, before comparing results it was necessary to transform the coordinates from epoch t to the common epoch of 1997.00 by using the NGS-adopted 3-D velocities for the rover-CORS. The specific steps to rigorously transform local geodetic coordinates between epochs are detailed in Soler et al. (2006).

We compared the various estimates for the ITRF2000 positional coordinates of the rover-CORS with their “true” coordinates. The corresponding coordinate differences were transformed from a global Earth-centered-Earth-fixed reference system to the local horizon frame centered at the associated rover-CORS as expressed in the east (e), north (n), and up (u) dimensions. The transformed differences were then tagged with the IDOP and RMSD values at each rover-CORS previously determined by OPUS-RS after implementing Eqs. 5 and 10, respectively.

From the 10 days of data, we obtained a total of 7,409 “successful” OPUS-RS solutions. The differences between the “true” coordinates and the OPUS-RS results were partitioned into bins for each of the following IDOP intervals: 0.3–0.4, 0.4–0.5,…, 0.8–0.9; together with the following RMSD intervals: 0–50 km, 50–100 km, 100–150 km, 150–200 km, and 200–250 km. Table 2 presents, for the east component, the standard deviation for the distribution of differences contained in each bin and the corresponding total number of successful solutions. We rejected a particular solution if the east component of the difference exceeded 10 cm. Table 3 shows the same statistics for the up component of the differences, except in this case an OPUS-RS solution was rejected if the up component difference exceeded 30 cm. We chose not to present corresponding statistics for the north component of the differences, because these statistics differ insignificantly from those for the east component. Note that standard deviations for the up component differences are about three times larger than the corresponding standard deviations for the east component.
Table 2

East component standard errors tabulated on bins of IDOP versus RMSD

Entries with a sample size greater than 80 are highlighted

Table 3

Vertical component standard errors tabulated on bins of IDOP versus RMSD

Entries with a sample size greater than 80 are highlighted

We expected that the standard deviations should increase when either IDOP or RMSD increases. We noticed that this was not always the case for the bins with smaller sample sizes. We, therefore, restricted our analysis to samples containing at least 80 solutions. These bins are highlighted in Tables 2 and 3. We then estimated values for α and β of Eq. 11 to quantify σ(IDOP, RMSD) for the east component. Similarly, values for α and β were estimated for the north component and the up component, yielding the following results:
$$ \begin{gathered} \alpha_{\text{e}} = 1.87 \pm 0.26\,{\text{cm}}\quad {\text{and}}\quad \beta_{\text{e}} = 0.0047 \pm 0.0010\,{\text{cm/km}}\,(\beta_{\text{e}} = 0.047\,{\text{ppm}}) \hfill \\ \alpha_{\text{n}} = 1.77 \pm 0.21\,{\text{cm}}\quad {\text{and}}\quad \beta_{\text{n}} = 0.0050 \pm 0.0008\,{\text{cm/km}}\,(\beta_{\text{n}} = 0.050\,{\text{ppm}}) \hfill \\ \alpha_{\text{u}} = 6.69 \pm 0.71\,{\text{cm}}\quad {\text{and}}\quad \beta_{\text{u}} = 0.0151 \pm 0.0028\,{\text{cm/km}}\,(\beta_{\text{u}} = 0.151\,{\text{ppm}}) \hfill \\ \end{gathered} $$

Note that the values for α and β for the north component are statistically indistinguishable from the corresponding values for the east component. Also, note that the standard errors for the up component are about 3.6 times larger than those for either the east component or the north component. These empirical results corroborate similar findings published by Eckl et al. (2001) who used a completely different GPS processing engine, namely, the PAGES software.

Visualizing accuracy as a function of IDOP and RMSD

To visualize the previous results, Figs. 3 and 4 depict the standard errors as a function of RMSD and IDOP based on the values presented in Tables 2 and 3. Each figure also incorporates the curves defined by the empirical model as obtained by implementing Eq. 11 using the values of α and β given in Eq. 12. As before, the graph corresponding to the north–south component is essentially equal to Fig. 3 and is not included in this paper. Figures 5 and 6 are related to Figs. 3 and 4, respectively. They are obtained by interchanging the units of the abscissa axis from RMSD to IDOP.
Fig. 3

East component standard error as a function of IDOP (from 0.3 to 0.8) and RMSD (from 0 to 200 km). Numbers next to the symbols indicate sample size. The curves depict the theoretical model given by Eq. 11 and the parameters αe and βe from Eq. 12
Fig. 4

Vertical component standard error as a function of RMSD (from 0 to 200 km) and IDOP (from 0.3 to 0.8). Numbers next to the symbols indicate sample size. The curves depict the theoretical model given by Eq. 11 and the parameters αu and βu from Eq. 12
Fig. 5

East component standard error as a function of RMSD (from 0 to 200 km) and IDOP (from 0.3 to 0.8). Numbers next to the symbols indicate sample size. The curves depict the theoretical model given by Eq. 11 and the parameters αe and βe from Eq. 12
Fig. 6

Vertical component standard error as a function of RMSD (from 0 to 200 km) and IDOP (from 0.3 to 0.8). Numbers next to the symbols indicate sample size. The curves depict the theoretical model given by Eq. 11 and the parameters αu and βu from Eq. 12

Figures 7 and 8 employ another method to show the variation of standard error for the east and up components, respectively, as a function of IDOP and the RMSD from the rover. The contour lines are plotted using Eq. 11 with the corresponding values of α and β presented in Eq. 12. The dependency of the accuracy of OPUS-RS solutions on IDOP and the RMSD to the rover is evident from the plots. Consequently, IDOP and RMSD are essential parameters to discern the quality of the results when using any process that interpolates atmospheric conditions from the reference stations to the rover’s location. Further investigations are planned to study the variability of the accuracy of OPUS-RS solutions when the 15-min observational window varies during the course of a 24-h day. Another relevant issue to address is to contrast the accuracy of OPUS-RS with that of the original OPUS for observing sessions with durations between 1 and 4 h.
Fig. 7

Expected values of the standard error in either the east dimension or the north dimension, as determined using Eq. 11 and the parameters αe and βe from Eq. 12 (15 min observation span)
Fig. 8

Expected values of the vertical standard error as determined using Eq. 11 and the parameters αu and βu from Eq. 12 (15 min observation span)


Figures 3, 4, 5, 6 exhibit some significant discrepancies between the standard deviations for some of the individual bins and their corresponding curves. These discrepancies perhaps reflect that Eq. 11 is too simplistic. This equation may need other parameters in addition to IDOP and RMSD. There are many other possibilities, such as the satellite geometry (measured by GDOP), the spatial and temporal variability of the ionosphere, and/or tropospheric refraction. In particular, it will be interesting to see if our current estimates for α and β change significantly as the solar max, predicted to occur during the 2011–2012 time frame, approaches. Our current results represent the situation for the 2007–2008 time frame, during which the magnitude of ionospheric refraction is relatively low.

Vertical standard errors achievable in CONUS using OPUS-RS

A simulation was performed to visualize the effect of IDOP and RMSD on OPUS-RS solutions in CONUS. The values of IDOP and RMSD were computed at hypothetical rovers located at the intersections of a rectangular grid having a 0.5° × 0.5° spacing (~50 km × 50 km spacing). Using different colors, Fig. 9 depicts the estimated values for the standard errors in the vertical dimension using Eq. 11 and the values of αu and βu from Eq. 12, taking into account the geometry and distance to the CORS sites. It is immediately evident from this map that OPUS-RS will not provide coordinates that are accurate to a few centimeters in some areas of CONUS. These areas appear in white in Fig. 9. In particular, due to sparseness of the CORS network, regions of the Dakotas and northern Minnesota are currently located outside the range of good OPUS-RS solutions. Clearly, not enough CORS are located within the required 250-km range in these regions. Other smaller areas where OPUS-RS may give poor results are also visible in this figure. Of particular significance are the coastal zones where, even with the presence of nearby CORS, an accurate OPUS-RS solution cannot be obtained because the CORS are distributed all to one side of a would-be rover. As expected, OPUS-RS yields good vertical standard errors (2 cm ≤ σu ≤ 3 cm) in regions possessing dense CORS coverage (Ohio, Michigan, etc.). A map showing achievable standard errors across CONUS for either the east–west dimension or the north–south dimension would resemble the map contained in Fig. 9, except that the values displayed for vertical standard errors should be divided by about 3.6 to obtain the corresponding horizontal standard errors.
Fig. 9

Estimated vertical standard errors achievable with 15 minutes of GPS data when using OPUS-RS in the conterminous U.S. These standard errors were computed as a function of the IDOP and RMSD values provided by the CORS network as of September 2008


This article has described the principal characteristics of OPUS-RS as an alternative to OPUS for processing GPS data for short observing sessions (as brief as 15 min). The concept of interpolative dilution of precision (IDOP) is introduced. Statistics are presented indicating the expected standard errors achievable using OPUS-RS as a function of IDOP and the RMSD to the rover. Results show that better standard errors in horizontal and vertical components are obtained with the lower values of IDOP and RMSD. The present investigation was limited to 15-min data spans observed at the same time of the day (starting at 17:45 UTC) during the tenth day of ten consecutive months (from July 2007 to April 2008). The results clearly show that IDOP and RMSD constitute important variables to consider when accurate GPS results are expected from OPUS-RS or, for that matter, any other process that interpolates (extrapolates) atmospheric conditions from several reference stations to the rover’s location, such as real-time GNSS reference station networks.

Copyright information

© US Government 2008