The atmospheric excess path delay is a major contributor to the error budget of space geodetic positioning applications and should therefore be reduced to the maximum possible extent. Numerical weather models are undergoing improvements with regard to their spatial resolution, which enables the compensation of troposphere propagation errors by applying corrections obtained from ray-tracing through three-dimensional meteorologic fields. Since in the selection of the locations of the grid points priority is given to the requirements of meteorologists rather than the facilitation of efficient ray-tracing algorithms, we propose a method that can resample and refine the large data cubes onto regular grids using a sophisticated and fast method developed at the National Institute of Information and Communications Technology (NICT). Once these data sets are generated, ray-tracing algorithms can be applied in order to compute atmospheric excess path delays in real time for several users using off-the-shelf PCs. We present three different ray-tracing strategies and discuss their advantages and bottlenecks with regard to accuracy and data throughput.
 All electromagnetic signals propagating through the (neutral) atmosphere are delayed (and damped) since the refractivity index of the gases in the media is greater than one. Due to the complex structure of the atmosphere and its highly variable water vapor fields, it is very difficult to correct for such delays without a detailed knowledge of the current meteorologic field. Space geodetic applications such as the Global Positioning System (GPS) or Very Long Baseline Interferometry (VLBI) avoid an a priori correction of the measurements; however, they rely on the estimation of the troposphere delays using simple model assumptions that enable slant observations to be related to zenith delays, which are estimated as unknowns along with other geodetic parameters [e.g., Hofmann-Wellenhof et al., 2001]. Numerical weather models have drawn the interest of the space geodetic community for over a decade, as they proved to be highly useful for the determination of the mapping functions [e.g., Niell, 1996, 2001; Boehm et al., 2006a, 2006b] that describe the growth of the atmospheric path delay with increasing zenith distance. However, it was necessary to carry out ray-tracing through meteorologic fields in order to compute these numerical expressions. The obtained path delays were only used to obtain parameters of the mapping functions, while the atmospheric delays were not considered in space geodetic data processing.
 However, in recent years, such models have been improved with regard to their spatial and temporal resolution. Further, an increasingly large number of small-scale phenomena are now being considered in the model runs. The enhanced accuracy and precision has made it feasible to utilize ray-traced atmospheric delays directly for the analysis of space geodetic applications.
 In order to realize the targeted accuracy and provide ray-traced delays in real time, it is necessary to apply a dedicated processing scheme, while simultaneously taking into consideration the differences between the meteorologic and geodetic reference systems. Therefore in the following sections, we will discuss how numerical weather models can be transformed into geodetic coordinate systems, which facilitate a fast and efficient solution to the ray-tracing task.
1.1. Ray-Path and Atmospheric Delay
 The propagation path of electromagnetic rays can be deduced from the 3-D Eikonal equation [e.g., Paris and Hurd, 1969]
where n() is the index of refractivity at position . is referred to as the Eikonal, which enables the computation of the ray direction by computing ∇ϕ(). Therefore the following relation holds in a ray-based coordinate system of length s
This equation can be easily split into two coupled first-order differential equations and solved by standard methods such as Runge-Kutta and general linear methods. Thus when the ray-path is known, the atmospheric delay Δτa, which is expressed by the following equation, can be computed:
The first integral in equation (3) is evaluated along the path of the ray from the transmitter, through the atmosphere, until it reaches the receiver and yields the electromagnetic delay Δτe. The second term denotes the geometric excess resulting from the variation in the path of the ray as it passes through the atmosphere as compared to its path when propagating through vacuum. Due to ray-bending, the outgoing elevation angle, which is the elevation angle at the upper boundary of the atmosphere, will always be smaller than the initial elevation angle at the station where ray-tracing begins. This implies that a few iterations are required (the number of iterations depends on the elevation angle) until the outgoing elevation angle agrees with the vacuum elevation angle, which can be computed a priori from the observing geometry (refer to the discussion in section 4.4). In the case of satellite geodesy, orbit information can be used to compute the vacuum geometry. Further, in case of VLBI experiments, source catalogs provide the information required to compute the azimuth and elevation angles for the selected stations. Thus if the four-dimensional refractivity field can be deduced from the numerical weather models, it is possible to compute atmospheric path delays for any given station located within the model boundaries.
1.2. Obtaining Refractivity From Meteorologic Data Sets
where pd and pv denote the partial pressures of dry air and water vapor (in hPa), respectively, and T represents the absolute temperature. The physical constants for our studies were set in accordance with Bevis et al. ; therefore, k1 = 77.604 (K hPa−1), k2 = 70.4 (K hPa−1), and k3 = 373,900 (K2 hPa−1). Since numerical weather models provide only the values of the total pressure p, the water vapor pressure should be computed first; subsequently, the pressure of dry air should be derived by applying the relationship pd = p − pv. Therefore as an intermediate step, the saturation vapor pressure pw, which depends only on the temperature T, is computed as follows:
where RH is the relative humidity (expressed as a percentage), which is also provided by numerical weather models.
2. Kashima Ray-Tracing Tool
 The algorithms and strategies described in the following sections were implemented using our software package called “Kashima Ray-tracing Tools” (KARAT), which not only manages all the ray-tracing tasks but also computes the observing geometry for space geodetic techniques, including GPS, VLBI, and satellite laser ranging (SLR). Further, KARAT reads the weather models in their proprietary format, performs all interpolation and regridding, and stores the refractivity fields in binary format for follow-up processing.All the computations carried out with KARAT rely on the mesoscale analysis (MANAL [Saito et al., 2006]) data sets obtained from the Japanese Meteorological Agency (JMA); these offer a good trade-off between the time resolution and the area covered by the model. As analysis models are generated every three hours and the horizontal resolution is approximately 10 km, the MANAL data sets are a suitable choice for modeling atmospheric path delays in the East Asian region.
3. Meteorologic Versus Geodetic Reference Systems
 Before ray-tracing calculations can be carried out, the meteorologic fields should be transformed into the reference system that is used for geodetic data processing. It is not only mandatory to properly reference the grid points in the geodetic system but it also helps to improve the computational efficiency when computing the ray-tracing solutions.
3.1. Consistent Transformation Between Geopotential and Ellipsoidal Heights
 Numerical weather models are usually based on the geopotential height system since this simplifies the mathematical expressions and allows equations to be solved in a more convenient manner. On the other hand, global geodetic coordinate frames are defined using geometrical (ellipsoidal) heights. Thus in order to use the information from numerical weather models for ray-tracing applications, it is necessary to height-transform the grid points before they can be introduced in the new reference system. The geopotential height
is defined as the ratio of the geopotential value Φ and a constant standard value of the acceleration due to gravity g0, which is usually assigned the value of 9.80665 m/s2 in meteorologic applications. In contrast, orthometric heights H are defined as
where (ϕ, λ, H) is the mean acceleration due to gravity between the geoid and the point (see Appendix A). Thus ellipsoidal heights h can be computed as
provided that the geoid undulation N [e.g., Hofmann-Wellenhof and Moritz, 2005] is known for each grid point. The mean acceleration due to gravity can be computed for any given position using the WGS84 ellipsoidal gravity formula [National Imagery and Mapping Agency (NIMA), 2000]. However, since this model takes ellipsoidal heights as input parameters (i.e., γ = γ(ϕ, λ, h)), it is necessary to iterate a few times until geopotential heights are transformed into ellipsoidal ones with submillimeter precision. A detailed discussion on the subject of height transformation can be found in Vedel .
3.2. Refinement of Vertical Profiles
 Once geopotential heights are transformed into heights above the reference ellipsoid, the three meteorologic quantities (pressure, temperature, and relative humidity), which are required to compute the refractivity values, must be interpolated in order to obtain a finer height resolution during ray-tracing. Direct interpolation of the refractivity field in the height domain is not recommended as the contribution from each constituent differs and the index of refractivity is not computed by a linear combination of the three parameters (refer to equation (4)). In the case of temperature and relative humidity, a simple linear interpolation scheme is sufficient to gain a higher spatial resolution in the vertical domain. Considering the fact that pressure decreases exponentially with height, the most straightforward approach is achieved by a linear interpolation of the logarithm-transformed pressure values, which is equivalent to an exponential interpolation in the pressure domain.
3.2.1. Extension of the Model Toward the Mesopause
 Numerical weather models usually provide data only up to a certain pressure level; for the JMA MANAL data set used in this study, this limit is 10 hPa. In order to consider the atmospheric refraction that occurs beyond this pressure level, it is necessary to extend the data set. Relative humidity does not require consideration as the humid air lies significantly below the upper model boundary. Therefore only pressure and temperature should be extrapolated on the basis of the information provided regarding the highest interpolation point computed using the strategy described in the previous section. Since temperature is less critical than pressure for the computation of the refractivity field and pressure can be extrapolated by assuming a hydrostatic equilibrium, the pressure profile can be extended toward the mesopause. Adoption of the temperature profile from U.S. Standard Atmosphere  enables the extension of the model space up to a height of 86 km by computing pressure values at each new height using the following equation:
where Rd denotes the specific gas constant for dry air. Specifically, virtual temperature Tv should be used instead of dry temperate T in expression (10); however, since there will be no contribution from moisture at the height domains where this expression is applied, the two values become identical. Since the temperature profile is provided by the standard atmosphere model, it can be interpolated to the half-height between the two layers; further, the acceleration due to gravity at that particular height can be computed from the theoretical model described in section 3.1. Equation (10) should be successively evaluated until the upper limit of the standard atmosphere (namely, 86 km) is reached. For convenient ray-tracing, pressure and temperature are also extrapolated on a layer located at an ellipsoidal height of −100 m. For this purpose, temperature lapse rate is computed for each vertical profile, and the pressure is extrapolated downward using the virtual temperature at the lowest available point, which is located either on the topography or on the sea surface. Relative humidity is kept unchanged and set equal to the lowest grid point on the profile. Introduction of the “auxiliary layer” at a height of −100 m ensures that space geodetic stations are not affected by the weather model topography. Failure to introduce this layer may result in a GPS receiver lying under the topography surface that is adapted to the requirements of the numerical weather model.
3.2.2. Determining the Optimum Number of Height Levels
 The number of height levels employed when transforming the weather model into elliptical heights controls both the accuracy of the ray-traced delays and the computational efficiency (and memory requirements), as discussed in section 5.2. Therefore an optimal choice of the number of interpolation heights can significantly impact the overall performance of the ray-tracing system. The simplest approach to realize this would be to interpolate and extrapolate on N equally spaced levels between the ellipsoidal heights of −100 m and 86 km. However, if we take into consideration the fact that pressure decreases exponentially with height, and that this meteorologic parameter dominates the magnitude of the index of refractivity, it is obvious that the distribution of the height intervals should take into account this physical property. Simply increasing the interval spacing by an exponential approach may result in the uppermost intervals covering very large height domains, which may lead to minor inconsistencies when the Eikonal equation (expression (1)) is solved numerically. Therefore a more sophisticated algorithm has been developed; it allows the determination of the optimal interval spacing in the following manner. Firstly, an auxiliary interval [0, L], with arbitrary interval lengths ηi, is computed using the following relation:
where u denotes a steering parameter whose value is set to 2. In the second step, the auxiliary intervals are rescaled according to the height range of our model (namely, −100 m to 86 km). Thus starting with h0 = hmin = −100, the remaining height levels can be computed using the following inductive scheme:
This computation is repeated until hN−1 = hmax is reached. In order to demonstrate the effectiveness of this approach in comparison to a scheme with constant interval spacings, one profile, 0 UT, dated 5 November 2006, is extracted from the MANAL data set and interpolated for different values of N. The total troposphere delays corresponding to the zenith and a 5° elevation (assuming isotropic conditions) are obtained by numerically solving the Eikonal equations (refer to section 4.1). Assuming that the results with the highest number of intervals yield the most accurate value of the atmospheric delay, we can compute the differences between the various solutions from the viewpoint of the number of intervals generated for ray-tracing analysis. Figure 1 depicts the results corresponding to the zenith and slant propagation, clearly demonstrating the benefits of the refined model height selection. It can be observed that in the case of propagation along the zenith direction, the proposed height selection scheme achieves accuracy of the order of millimeters with only 30 layers; in contrast, over 200 layers are required when constant interval spacing is employed. A similar improvement can be observed in ray-tracing results obtained for the 5° elevation. Millimeter-level accuracy can be achieved by the application of the advanced height scheme by utilizing approximately 100 layers; however, over 600 levels should be considered in order to realize a similar accuracy with the constantly spaced height model. Thus it can be concluded that the proposed height level selection scheme reduces the number of necessary height levels of the ray-tracing model by a factor of at least 5. Taking into consideration that weather model data, which covers a time span of 24 hours, must be uploaded into memory in order to carry out fast ray-tracing calculations, it is evident that the refined height selection approach will emerge as the optimal choice when computations are carried out on off-the-shelf PCs. Therefore for our computations, we decided to generate 320 layers from each MANAL data set. This enables achieving millimeter-level accuracy in ray-tracing even at very low elevation angles as well as uploading 3-hourly 3-D data sets (in sum, nine arrays are required to interpolate a 24-hour period) into a memory of less than 2 GB.
3.3. Horizontal Resampling
 The MANAL data sets obtained from the JMA are expressed in relation to an equally spaced grid in the space defined by the Lambert conformal conic projection [Snyder, 1987], which implies that the model grid is not aligned with the geodetic coordinate system defined by longitude and latitude. An additional aspect to be considered is that the analysis of the mesoscale model, which is based on the assumption of a spherical Earth, defines latitudes with respect to the geocenter, whereas latitudes on the ellipsoid are treated in a geodetic sense [Torge, 2001]. Therefore the latitude coordinate of each grid point should be transformed into geodetic latitude. While this does not inhibit ray-tracing, it would result in a significant increase in the computation time required to solve the Eikonal equation in such an irregular grid. Thus once refractivity values have been computed for each height slice (refer to prior section), it would be advantageous to resample each data point onto a regular longitude/latitude grid. This can be done very efficiently when a two-dimensional interpolation scheme is used. In this study, the 2-D Shepard method in the following form has been selected in order to determine an interpolated value at position using M grid points located at , having values gi:
The weighting function wi() depends inversely on the distance to all considered grid points and can be scaled by the parameter p (which, in this case, is set to 2). Since the height-interpolated data (section 3.1) is provided for pairs of latitude/longitude values, the weighting functions, which use the spherical distance in degrees, have to be computed only once for each new horizontal grid point. Thereafter, the interpolation can be carried out for each height level by simply substituting the value of gi with the value corresponding to the selected height level. In order to overcome the drawback of the original Shepard interpolation, wherein all points of the plane are required to be considered for the interpolation of a single point, a cut-off distance is introduced. In the original method, a distant grid point must necessarily be considered, even if its impact is very small (due to the negative exponent of the weighting function). Therefore a threshold distance da (equation (13)) is introduced, which sets all weighting functions to zero if the distance exceeds a particular value. This is equivalent to rejecting a data point that lies beyond a certain search radius da. Further, it permits modification of the algorithm in order to lower computation cost. Assuming an equally distributed rectangular grid (M = Mx × My points) of nodes (Figure 2) and a second rectangular grid of = x × y points at which the grid should be resampled, yields a total loop size of P = Mx · My · x · y. However, based on our assumption that distant points do not contribute to the interpolation, the original grid can be split into Vx × Vy subblocks that overlap each other by a value of at least da. This reduces the size of the search space, and the number of loops required decreases to
where the second and third term result from an initial search that assigns each point to the partitions. The last term takes into account the overlapping of the blocks; therefore, the number of points that lie inside each block is marginally greater than . The following relation is obtained upon setting OL to zero, computing the speed improvement factor P/Q, and neglecting the second-order terms:
Thus as long as the number of partitions is small compared to the total size of the two grids (namely, the last two terms within parenthesis in equation (15)), the partitioning strategy will speed up by a factor of approximately Vx · Vy. For regridding the MANAL data, we selected Vx = Vy = 10, which reduced the computation time of the grid resampling by over 98 percent. Thus we are able to transform one epoch of the original weather data in less than one minute and output the resampled refractivity field into a single binary file. In the absence of this strategy, computation time exceeds one hour, which is unfeasible for future real-time applications. Since, as discussed above, we are considering an overlap of the segments, we ensure that the same nodes that were used in the original method are utilized when the partitioning strategy is employed. The consistency of our approach with the original Shepard approach is proofed by demonstrating that both strategies yield identical interpolation results for all points.
 As described in the prior section, the 3-D refractivity field after interpolation and resampling is contained within the WGS84 reference system and is, therefore, consistent with space geodetic analysis. However, ray-tracing in an elliptical coordinate frame does not permit an efficient and fast solution to the ray-path and propagation equations, thereby significantly deteriorating the performance. It is, therefore, recommended that a local spherical approximation be used when computing the atmospheric delays for a given site. This can be accomplished by introducing geodetic longitudes and latitudes as spherical coordinates and referencing ellipsoidal heights to an osculating sphere [Millman and Parker, 1979] of radius
The parameters a and e denote the semimajor axis and the eccentricity of the WGS84 reference ellipsoid, respectively, and ϕ denotes the geodetic latitude of the station for which the rays are required to be computed. This approximation will be sufficiently accurate even in the case of very low elevation angles, as the upper limit of the standard atmosphere at 86 km causes the rays to be in the vicinity (by a few degrees) of the station. The differences in the height systems may be larger in the case of the upper regions of the atmosphere; however, since the index of refractivity in those domains is already very small, these biases will not impact the ray-tracing results.
 Numerical weather models (corresponding to either analysis or forecast data) are available only at certain epochs, which makes it necessary to employ interpolation schemes in order to obtain atmospheric slant delays at user-selected epochs. Thus the simplest and most straightforward approach computes the delays for a certain observing geometry at two consecutive weather model epochs, which comprehend the time at which the space geodetic observation was made. Thereafter, the total slant delay at the given epoch can be obtained by linear interpolation between the two ray-traced results. The error of this approach will be small if the prevailing weather conditions do not change rapidly between the two epochs. Thus a high spatial resolution and a good temporal resolution of the numerical weather models employed together contribute toward the accuracy of the obtained ray-traced delays.
4.1. Solving the Eikonal Equations
 As the refractivity field is expressed as a regular three-dimensional grid, it is possible to solve the Eikonal equation (1) by computing numerical solutions for the following coupled partial derivative equations:
where denotes the tangent vector of the trajectory at point . If a spherical coordinate system (r, λ, ϕ) is employed, the bounding grid points (as shown in Figure 3) that fulfill the conditions of λi ≤ λ ≤ λi+1, ϕj ≤ ϕ ≤ ϕj+1, and Rk ≤ r ≤ Rk+1 can be determined with minimum computation cost. Thereafter, the index of refractivity (r, λ, ϕ) is computed as follows. First, the index of refractivity is computed in the planes below and above the concerned point using the following bilinear interpolation scheme:
where ξ = (λ − λi)/(λi+1 − λi) and η = (ϕ − ϕj)/(ϕj+1 − ϕj) have been introduced as normalized coordinates. Since spherical coordinates are utilized for all computations, the same interpolation scheme applies to the lower and upper levels, with identical weights for each node. If we assume that the refractivity decays exponentially between nk(λ, ϕ) and nk+1(λ, ϕ), we can compute the index of refractivity in the final step using the following relation:
The gradient, which is required to compute the second-order coupled PDE (equation (17)), can be obtained from the following relation:
all partial derivatives can be computed analytically (see Appendix B). In general, while the use of spherical coordinates simplifies the computation of the numerical solution of the Eikonal equation, it leads to a singularity at the poles (ϕ = ±90°). In the case of the MANAL data set, which covers only a limited area that does not extend toward the pole, this scenario does not pose any problem in this study. If global weather models are utilized, numerical instabilities can be avoided by adding a small constant parameter to cos ϕ in the denominator of the last term, as suggested by Alkhalifah and Fomel . Finally, the atmospheric delay can be computed as the sum of the electromagnetic delay along the ray-path and the geometric excess (equation (3)).
4.2. “Thayer” Approximation
 When considering computational efficiency, the exact solution of the Eikonal equation, as described in the prior section, has significant disadvantages, as every step of the solution requires the computation of the refractivity (equation (19)) and the partial derivatives (equations (B1), (B5), and (B6)). In order to achieve a high accuracy, the step-width, which is usually set to one meter, cannot be extended to the order of tens of meters. A significant reduction in the computation load can be achieved by neglecting the out-of-plane propagation of the ray, i.e., by setting ∂n(r, λ, ϕ)/∂ϕ = 0 and ∂n(r, λ, ϕ)/∂λ = 0. This simplifies the atmosphere to a horizontally stratified media, for which Thayer  has developed an analytical 2-D ray-propagation model based on the fact that the index of refractivity between two layers can be approximated with high accuracy using the relation
proposed by Schelleng et al. . In the original paper, local azimuthal symmetry was assumed, which permitted the computation of the coefficient A for two consecutive heights. If azimuthal asymmetry is to be taken into account, the solution from Thayer  cannot be used directly; instead, as discussed in the following section, iterations are to be carried out. Figure 4 demonstrates the manner in which the ray-path between the layers can be modeled; the geocentric angle ϕk has to be updated for each step. By setting nk+1 = nk, we obtain the relation Ak+1 = 0; thereafter, the following original equations from Thayer  can be used as the starting point:
where θk+1 is the “global elevation angle” (refer to Figure 4). Following our assumption of no out-of-plane components, an updated value for the index of refractivity at the upper layer nk+1 can be obtained by simple spherical trigonometry using azimuth and geocentric angle ϕk+1 in order to compute the intersection point with the layer at Rk+1. Using the bilinear interpolation scheme (equation (18)) allows this point to obtain an update of nk+1, which can then be used to recompute Ak+1 and subsequently derive the quantities in equation (23). The iterations are terminated if the location of the intersection point changes by less than a specified threshold value. Thereafter, the electric delay can be computed using the following relation:
This equation is identical to the expression mentioned in the original paper. The major advantage of this approach is that the computational cost scales with the number of height layers used in the ray-tracing model. In the case of lower elevation angles, one or two additional iterations are required as compared to those for near-zenith observations since the algorithm surpasses the threshold value (which is set at 10−8 degrees in our routines). Compared to the computational load of the Eikonal solver, which is based on a constant step-width, thereby growing with the inverse sine of the elevation angle, the simple Thayer model allows significantly faster ray-tracing computation. Moreover, the ray-paths are curved because of the exponential decrease in refractivity and, defined by each height-step, share the same tangent at the end points of each segment. Since the original Thayer approach cannot be applied directly to observations close to or along the zenith direction, it is necessary to verify in advance that the elevation angle at the station (θ0) differs from 90° by less than a certain threshold. If this condition is satisfied, Ak+1 can be computed firsthand and expression (24) can be replaced by computing the integral n(r)dr using relation (22), thereby yielding the following relation:
which yields the delay directly (without any iterative steps).
4.3. Piece-Wise Linear Propagation: A Refined Approach
 If we assume, as in the prior section, that the ray-path does not leave a plane of constant azimuth, we can also perform the highly simplified ray-tracing by continuously computing the refracted ray-pieces by following Snell's law. As depicted in Figure 5, it is evident that Snell's law can only be applied when clearly defined joint faces exist. Therefore it is necessary to introduce height layers at half-height k+1 = (Rk + Rk+1)/2 and compute mean indices of refractivity both above and below the half-height. The advantage of this propagation model is that the piece-wise linear ray-path can be computed in a single run, considering azimuthal anisotropy without any iteration when traversing from one layer to the next. Therefore in each step, the intersection with the next half-height layer should be computed and the refractivities on the layers below (na,k+1) and above (nb,k+1) should be obtained by bilinear interpolation (equation (18)). Thereafter, the outgoing local elevation angle θk+1 can be obtained from Snell's law using the following relation:
where the mean indices of refractivity
are computed with the same vertical exponential assumption that was used for the Eikonal solution (expression (19)) using
Moreover, the index of refractivity at the pierce point can be obtained from the relation
which allows the computation of the electromagnetic delay between two layers as
where Δs is the geometrical distance between two consecutive pierce points. The advantage of using the mean indices n*b,k+1 and n*a,k+1 instead of nb,k+1 and na,k+1 for the computation of the refraction (equation (26)) is that it facilitates at each step a proper modeling of the exponential decrease of refractivity with height. This permits the application of the linear piece-wise approach for ray-tracing even when the number of layers is relatively small.
4.4. A Priori Ray-Bending Model
 As mentioned in previous sections, all the proposed solutions of the propagation path can essentially be considered as being the solvers of the initial value problem with a given position and tangent vector (defined by the azimuth and elevation directions). In the case of space geodetic techniques, the vacuum elevation angle ε, which is the angle between the local tangent plane and the line between the satellite/radio source and the receiver, is used in geodetic analysis. As all space geodetic sources are far beyond the upper end of the atmosphere, the vacuum elevation angle is identical to the “outgoing elevation angle”, which is the angle of the tangent vector at the highest layer with respect to the receiver coordinate system. The bending angle δ relates the “observed elevation angle” ɛ, which is used to commence the ray-tracing process, to the outgoing angle and thus to the vacuum elevation angle by the relation ε = ɛ − δ. Further, the vacuum elevation angle is always smaller than the elevation angle observed at the station. This implies that the ray-tracing should be iterated until the outgoing elevation angle is obtained. In order to reduce the number of iterations, we propose an empirical ray-bending model of the following form:
where h is the (ellipsoidal) station height in meters, and Cb is an empirical constant whose value is determined to be 0.02 by fitting through ray-tracing results obtained using different receiver locations and weather models corresponding to the four seasons of the year. In order to test the impact of an a priori ray-bending model on the computational efficiency, 155,406 observations in the range of 0 to 3000 meters, 120° to 150° longitude, and 25° to 42° latitude were computed. Thereafter, azimuth directions were selected randomly and elevation angles were computed using the relation ε = 90 − 85, where W0,1 is a uniform random generator that generates values between [0,1]. This yields a linear distribution of elevation angles as low as 5°, with a larger number of low elevation observations in order to simulate the geometry conditions corresponding to space geodetic techniques. If the proposed a priori bending angle model is used, the ray-tracing speed increases by over 20%, yielding identical atmospheric delays. Figure 6 shows the bending angles for observations dated 9 September 2007, and the results are grouped depending on whether the stations lay above or below an elevation of 1500 m. Additionally, the a priori bending angles corresponding to 0, 1500, and 3000 m are overlain to show that the simple model is able to provide good initial values for the ray-tracing computations. There are a variety of more sophisticated models [e.g., Choi, 1996; Schulkin, 1952] that predict the bending angle more accurately; however, they either depend on information of vertical profiles or require other computational efforts. The performance improvement thus realized would be lost because of the additional computation load of such models. Further, the a priori bending angle is only input before the first iteration. Thereafter, the computed ray-bending value is used to setup the new initial elevation angle for the next iteration.
5. Performance Issues
 The three ray-tracing solutions discussed in section 4 are capable of yielding the ray-path of the signal, the atmospheric delay, and the total bending angle. While only the Eikonal solver (section 4.1) is capable of providing the complete 3-D ray-path, the other two algorithms (Thayer and linear mode) assume that the ray does not leave the plane defined by the constant azimuth. Therefore we first compare the results, namely, the troposphere delays, with each other by selecting a station located at a place with very strong and unusual weather conditions and scan the entire sky up to a minimum elevation of 5°.
5.1. Consistency Between the Different Ray-Tracing Modes
 On 15 July 2007 0 UT, the typhoon “Man-Yi” struck Japan around the Kyushu region and made its way eastward along the coastline, before passing over toward the sea again. Figure 7 (top-left) shows the obtained total troposphere delay corresponding to the zenith, at an ellipsoidal height of zero meter for this epoch. In order to examine the differences between the three ray-tracing strategies during this extreme weather condition, the site coordinates of the GPS station GMSD (refer to Figure 7, top-left) were used to compute the total troposphere delays spanning the entire sky. The obtained delays can be differentiated with regard to the Eikonal solution, which is assigned to act as a reference. The results are displayed in Figure 7, along with a plot revealing the discrepancies between the Thayer and the piece-wise linear approach. With regard to the Thayer approach, it can be observed that in general, the obtained delays are marginally smaller (in the submillimeter range) than those obtained from the Eikonal solution. This effect can be explained by the usage of different underlying vertical models of the index of refractivity. Moreover, in the case of elevation angles smaller than 10°, the horizontal gradients force the rays out of the plane of constant azimuth, thereby leading to smaller delays as compared to those resulting from the Eikonal solver. Both the Thayer and the linear approaches do not permit the rays to leave the plane of constant azimuth; therefore, they exhibit similar residual patterns. In general, the piece-wise linear model shows marginally larger discrepancies; however, for elevation angles greater than 10°, the order of these discrepancies lies below the millimeter level. The pattern of the differences reflects the weather conditions in the vicinity of the particular station fairly accurately (see Figure 7, top-left). An examination of the differences between the piece-wise linear and Thayer solutions again reveals that the latter yields marginally greater delays, which can be explained by the fact that the piece-wise linear approach is based on the same vertical refractivity model as the Eikonal solver. Therefore for the complex weather conditions selected in this comparison, we may conclude that the differences between the total troposphere delays corresponding to the three ray-tracing approaches do not exceed 1 mm for elevation angles greater than 10°. Moreover, in the case of moderate to calm weather conditions, the order of differences observed at an angle of 5° hardly exceeds the millimeter levels, thereby making the three approaches equivalent. In order to reveal the impact of a reduction in the number of model layers on the ray-traced results, only 160, as opposed to 320, height layers were computed from the original MANAL data set. Figure 8 shows how the obtained delays differ from those corresponding to the Eikonal solution with 320 layers. The reduction in the number of height levels causes the Thayer approach to underestimate and forces the piece-wise linear approach to overestimate the troposphere delays. On the other hand, the solution of the Eikonal equation does not differ significantly from that corresponding to twice the number of height layers. Therefore it is important to determine how each of the discussed ray-tracing approaches performs with regard to the number of rays that can be processed per second and how this measure depends on the number of height levels.
5.2. Computational Efficiency
 As shown in the prior section, the three ray-tracing modes agree with each other up to the submillimeter level. However, the computational cost of each mode is different, which results in differences in the performance of each ray-tracing mode. In the following section, performance will be defined as the average time required to compute a single troposphere delay at a certain epoch for a given direction and elevation angle. This time includes the time taken for the computation of the ray-path and the atmospheric delay at two epochs of the weather model as well as for iteration until the outgoing elevation angle agrees with the vacuum elevation angle. Time interpolation results in the speed of the algorithm reducing by a factor of two, as the ray-tracing has to be carried out for two consecutive weather models independently. The number of iterations required until the outgoing elevation angle is in agreement with the vacuum elevation angle primarily depends on the elevation angle. For lower elevation observations, the bending angle effects become larger and thus lead to more iterations. Table 1 summarizes the performance of the three modes using a set of 1000 randomly selected site locations and azimuth directions, while the MANAL data set dated 15 July 2007 was again employed to consider extreme weather conditions. It can be observed that the Eikonal solution with 1 m integration step-width always consumes significantly more time than the other two ray-tracing modes. This results from the time-consuming computation of the partial derivatives. Moreover, the performance of the Eikonal solver scales by approximately 1/sinɛ, resulting from a growth in the length of the ray-path by the same ratio. In the case of the Thayer and the piece-wise linear mode, it can be observed that the computation speed is much faster than that of the exact solution of the Eikonal equation and that the performance primarily depends on the number of layers used in the ray-tracing model. If only 160 layers are used instead of 320, the performance of the Eikonal model does not change significantly; however, the speeds of the other two modes increase by approximately a factor of two. It must be taken into account, however, that this performance gain is accompanied by a decrease in accuracy, as discussed in the prior section. While the computation time of both modes again depends on the elevation angle, it is dominated only by the number of iterations required to realize agreement with the vacuum elevation angle. In the case of the Thayer mode, zenith propagation does not follow this rule, but yields a performance significantly better than that anticipated from other elevation angles. This effect can be explained by the direct applicability of equation (25) in the case of zenith propagation. With regard to real space geodetic observations, it should be taken into account that low-elevation observations (resulting from satellite geometry or observation scheduling) will dominate the geometry. Therefore recording the performance measures at a 20-degree elevation will provide a good demonstration of the working of the data throughput of the three ray-tracing modes using real space geodetic data. This implies that for 320 layers, the Eikonal mode is capable of ray-tracing at only 12 rays/second, whereas the Thayer mode (374 obs/s) and the linear mode (601 obs/s) offer significantly better performances. Recent studies by Eresmaa et al.  yield similar values; however, their approach does not include time interpolation and employs only a linear combination for considering the bending angle effect instead of iterating until the vacuum elevation angle is reproduced. If we followed the same approach, an increase in the speed by a factor of at least 4 could be realized; however, the accuracy at elevations lower than 15° would decrease significantly.
Table 1. Mean Computation Times (Including the Iteration Time of the Vacuum Elevation Angle and Time Interpolation) of the Three Ray-Tracing Modes, Measured in Millisecondsa
Runs were carried out with 320 and 160 model layers using different elevation angles. The sites and azimuth directions were distributed randomly over the model space. All computations were carried out on a Pentium D 3 GHz, 64-bit Linux machine having 4 GB RAM and using only one core.
 Each of the three ray-tracing modes can be ported to a parallel computing scheme, which speeds up the throughput significantly. In case the ray-tracing cores share memory, as implemented in OpenMP [Dagum and Menon, 1998], the number of rays/second scales linearly with the number of cores. A test system with eight computation cores was implemented, and over 2000 obs/s in the Thayer mode and 4100 obs/s in the piece-wise linear mode were achieved. Further, the performance of processors is expected to improve in the coming years [Moore, 1965], making it possible to realize real-time ray-tracing for a wide user community.
5.3. Verification of the Accuracy of the Weather Model
 In order to evaluate the accuracy of the obtained delays, zenith total delays were obtained from GPS analysis and compared to their ray-traced equivalents using the Eikonal solver. GPSTOOLS [Takasu and Kasai, 2005] was used to obtain ZTD estimates that lie within the boundaries of the MANAL data set obtained from 14 GPS receivers belonging to the International GNSS Service (IGS) tracking network. Data observed between 5 November 2006 and 30 September 2007 was analyzed with the global mapping function [Boehm et al., 2006a] and a cut-off angle of 10° in order to avoid multi-path effects. Figure 9 demonstrates the agreement between the GPS and ray-traced zenith delays. The mean difference between the two series equals 0.9 mm. The root mean square error (RMS) of the differences is 16 mm, which reflects unmodeled weather phenomena and/or weather model inconsistencies. Thus on a long-term basis, numerical weather models are able to reflect troposphere delays of space geodetic techniques fairly accurately. However, they still lack mm-level accuracy on the short-term scales to permit the direct introduction of ray-trace delays for the reduction of troposphere errors.
 The ray-tracing algorithms presented in this study are capable of modeling atmospheric path delays with high precision and, depending on the choice of the ray-tracing mode, enable the determination of troposphere slant delays for real-time applications. The exact solution of the Eikonal equation provides the three-dimensional ray-path, under the consideration that horizontal refractivity gradients can force the ray to leave a plane of constant azimuth. The other two modes, which are based on the assumption that propagation remains unaffected by out-of-plane components, yield approximately identical ray-tracing results, except for very low elevation angles. The distinct advantage of the last two ray-tracing approaches is the computational efficiency they offer.
 However, numerical weather models are currently not sufficiently accurate to model total atmospheric delays with mm-level accuracy for each observation. In addition to model imperfections, coarse time resolution and the resulting time interpolation issues result in errors in the ray-traced delays. However, if ray-traced atmospheric delays are introduced in the analysis of space geodetic techniques and residual troposphere delays are estimated with the other parameters, as shown by Hobiger et al. , significant improvements can be realized in the concerned station coordinates. This made it feasible for space geodetic applications to benefit from the considerable development that numerical weather models have undergone in recent years. Moreover, as demonstrated by Foster et al.  numerical weather models can also be utilized for the correction of synthetic interferograms (InSAR), which is another field of application for the algorithms presented here.
 In general, if troposphere path delay corrections are implemented in the analysis components, geodetic results will directly improve each time weather agencies update and improve their models.
 With the objective of making the ray-traced troposphere accessible to a wider user community, it is anticipated that KARAT will be made available via a web interface called “Kashima Ray-tracing Service” (KARATS). This service will allow users to upload their observations, which will be transmitted in a proprietary format for GPS, VLBI, or SLR. Thereafter, KARATS computes the observing geometry and assigns free ray-tracing cores in order to process the user data. Once all troposphere delays have been computed, they are subtracted from the original observation and sent back to the user in the same format as they were received. In the initial phase, this service will run in the post-processing mode; in other words, only data from past epochs can be ray-traced. In order to establish the online real-time service, it is necessary to have access to numerical weather model predictions.
Appendix A:: Computing the Mean Acceleration Due to Gravity
 The mean acceleration due to gravity is defined as
where γ(ϕ, λ, z) represents an arbitrary gravity model. On the basis of Newton's law of gravity, we can expect gravity to decrease with height according to the relation
where Re denotes the mean radius of the Earth. From this simple approximation, we can evaluate the integral
which yields a mean value of acceleration due to gravity for an idealized Earth. Equating expressions (A2) and (A3) yields the (orthometric) height at which the acceleration due to gravity is identical to the mean value
The mean acceleration due to gravity can be approximated with the value , which yields
If the inverse quadratic decrease in the acceleration due to gravity is ignored, the value at half-height may also be used, thereby setting = H/2. It is easy to show that this choice represents a first-order Taylor approximation of expression (A4). However, numerical tests have shown that the inverse quadratic approach leads to smaller biases in the mean acceleration due to gravity and is, therefore, preferable for the transformation from geopotential to orthometric (geometric) heights.
Appendix B:: Partial Derivatives of the Refractivity Field in a Spherical Coordinate System
 In order to solve the Eikonal equation (17), it is necessary to know the partial derivatives with respect to the underlying coordinate system. In the case of a spherical base, the radial component can be easily derived by differentiation of equation (19) as follows:
where C is defined in equation (20). For the computation of the horizontal gradients, it is convenient to define
 Thus the analytical expression for the horizontal derivatives can be expressed as follows:
This allows the computation of the gradient vector in spherical coordinates according to equation (21).
 We thank the three anonymous reviewers for their valuable comments, which helped improve the paper. The authors are very grateful to the Japan Society for the Promotion of Science (project P06603) for supporting this research. We acknowledge the support extended by The International GNSS Service in providing the observational data and products.