Geodetic very-long-baseline interferometry (VLBI, (Schuh and Behrend (2012)) is one of the fundamental space geodetic techniques. It delivers an important contribution to the International Terrestrial Reference Frame (ITRF, (Altamimi et al. (2011)), especially for the scale, and is the unique technique used for the realization of the International Celestial Reference Frame (ICRF, (Fey et al. (2009)). Furthermore, it is the only technique able to measure all five Earth Orientation Parameters (EOP), i.e., polar motion, UT1-UTC, and precession/nutation.

In order to meet the future requirements of the Global Geodetic Observing System (GGOS, (Plag and Pearlman 2009)) and reach 1-mm accuracy for the station positions, the global geodetic VLBI network is currently being upgraded to the VLBI Geodetic Observing System (VGOS, (Behrend et al. (2008; Petrachenko et al. 2009)). New fast slewing antennas are being constructed and equipped with highly accurate broadband receiving systems. This will result in a significant increase in the quantity and quality of the VLBI observations, what should also result in higher precision of the results. However, it is not only sufficient to have good observations, the processing made in order to estimate the parameters of interest also needs to be optimized. For example, it is important that the correction models applied in the data analysis (e.g., for the solid Earth tides and ocean tidal, atmospheric and other geophysical loading, and tropospheric delays) are as accurate as possible. Furthermore, the method applied to do the parameter estimation is of high importance.

Several different estimation methods are implemented in the currently used geodetic VLBI analysis softwares. The classical least squares method (LSM) is used in, e.g., the CALC/SOLVE software (Ma et al. 1990), the Vienna VLBI Software (VieVS, (Böhm et al. 2012)), the c5++ software (Hobiger et al. 2010), and OCCAM (Titov et al. 2004), the least squares collocation technique is used in, e.g., OCCAM and the QUASAR (Kurdubov 2007) softwares, while filter methods like Kalman filters or square-root information filters are applied in OCCAM and SteelBreeze (Bolotin 2000). The vast majority of the IVS (International VLBI Service for Geodesy and Astrometry, (Schuh and Behrend 2012)) analysis centers currently use softwares applying LSM (most commonly the CALC/SOLVE software). However, LSM might not be the optimum method for the parameter estimation in the case of VLBI. One problem with LSM is that parameters varying in time need to be parametrized, e.g., as piece-wise linear functions. However, piece-wise linear functions are unable to capture the short-period random variations in, e.g., the tropospheric delays and the station clocks, what might negatively affect the overall accuracy of all the estimated parameters. Kalman filters and similar methods can estimate these parameters for every observation epoch, thus there is no need to define any parameters as, e.g., piece-wise linear functions. The advantages of applying Kalman filters in VLBI data analysis was demonstrated already by Herring et al. (1990), however the method is still not commonly used today.

The aim of this paper is to demonstrate the performance of applying Kalman filtering for analysis of modern day VLBI data. We do this by analyzing VLBI data with the newly implemented Kalman filter in the version of VieVS being used and further developed at the German Research Centre for Geosciences (GFZ), called VieVS@GFZ. In the “Methods” section, we give a basic theoretical description of the Kalman filter, as well as the practical implementation of the Kalman filter in the VieVS@GFZ software. The results obtained when analyzing VLBI with the Kalman filter (for baseline lengths, EOP, radio source coordinates, and tropospheric delays), as well as comparisons with the results obtained from LSM, are described in the “Results and discussion ” section. Finally, our conclusions and discussion of the future potentials of the Kalman filter, e.g., for real-time applications, are presented in the “Conclusions” section.

This paper gives a general introduction to the Kalman filter and its performance for estimation of various parameters. More specific details on how the tropospheric delays are modeled in the Kalman filter, as well as a thorough analysis of the accuracy of estimated tropospheric parameters, are given in the accompanying paper (Soja et al. 2015). Furthermore, a more detailed investigation on the EOP estimation is presented in (Karbon et al.: EOP estimated from VLBI with a Kalman filter, in preparation).


Kalman filter basics

Here, we summarize the basic theory of Kalman filtering. For more details, see, e.g., Brown and Hwang (1997).

In a Kalman filter, the estimation is done sequentially, epoch by epoch. It is assumed that the unknown parameters, \(\vec {x}\), can be described by stochastic processes. Thus, their values at epoch t i can be related to their values at epoch t i−1 by:

$$ \vec{x}(t_{i})= F(t_{i})\,\vec{x}(t_{i-1})+\vec{w}_{i} $$

where F(t i ) is the state transition matrix and \(\vec {w}_{i}\) the process noises of the stochastic processes. At epoch t i , we have the observations \(\vec {z}(t_{i})\), which are related to \(\vec {x}(t_{i})\) by:

$$ \vec{z}(t_{i})= H(t_{i})\,\vec{x}(t_{i})+\vec{v}_{i} $$

where H(t i ) is the design matrix of the observation model and \(\vec {v}\) is the observation noise.

Given the estimates of the parameters at epoch t i−1, \(\vec {x}(t_{i-1})\) and their variance-covariance matrix P(t i−1), we can predict their values at epoch t i , \(\vec {x}_{p}(t_{i})\) by:

$$\begin{array}{@{}rcl@{}} \vec{x}_{p}(t_{i})&=&F(t_{i})\,\vec{x}_{i-1} \end{array} $$
$$\begin{array}{@{}rcl@{}} P_{p}(t_{i})&=&F(t_{i})\,P(t_{i-1})\,F(t_{i})^{T}+Q(t_{i}) \end{array} $$

P p (t i ) is the variance-covariance matrix of \(\vec {x}_{p}(t_{i})\) and Q(t i ) the variance-covariance matrix of the process noise (prediction error) (\(Q(t_{i})=\left <\vec {w}_{i}\vec {w}_{i}^{T}\right >\)). The prediction can be combined with the observations \(\vec {z}(t_{i})\) to find the optimum estimates of the parameters at t i , \(\vec {x}(t_{i})\), and the corresponding variance-covariance matrix P(t i ):

$$\begin{array}{@{}rcl@{}} \vec{x}(t_{i})&=&\vec{x}_{p}(t_{i})+K(t_{i})\left[z(t_{i})-H(t_{i})\,\vec{x}_{p}(t_{i})\right] \end{array} $$
$$\begin{array}{@{}rcl@{}} P(t_{i})&=&P_{p}(t_{i})-K(t_{i})\,H(t_{i})\,P_{p}(t_{i}) \end{array} $$

The Kalman filter gain, K(t i ), is given by:

$$ K(t_{i})=P_{p}(t_{i})\,H(t_{i})^{T}\,\left[R(t_{i})+H_{i}\,P_{p}(t_{i})\,H(t_{i})^{T}\right]^{-1} $$

where R(t i ) denotes the variance-covariance matrix of the observation noise (\(R(t_{i})=\left <\vec {v}_{i}\vec {v}_{i}^{T}\right >\)).

The Kalman filter is initialized by an initial guess for the unknown parameters at the first epoch, \(\vec {x}_{p}(t_{0})\), and its corresponding variance-covariance matrix P p (t 0). Then, the filter runs forward in time, epoch by epoch, until the last epoch is processed. The parameters modeled as being constant in time, e.g., what is normally the case for station and radio source coordinates, are improved at every epoch and thus the estimates at the last epochs are the final estimates of these parameters. For parameters having temporal variations, like the clocks and the tropospheric parameters, the situation is different. Since the filter is run sequentially forward in time, the estimates of these parameters at a specific epoch will only be dependent on the observations acquired at and prior to this epoch. Thus, especially in the beginning before the Kalman filter has converged, the results will have a high uncertainty and thus be rather unreliable. As an example, Fig. 1 shows the ZWD for Ny-Ålesund estimated with a Kalman filter running forward in time for the VLBI session on 12 August 2008. We can see that the ZWD is highly variable in the first couple of hours before it stabilizes. To solve this issue and get reliable results also in the beginning, we also run the filter backward in time, starting from the last epoch and finishing at the first epoch. This backward Kalman filter loop is initialized with the estimates of the forward Kalman filter loop at the last epoch, thus it does not need any time to converge like the forward Kalman filter loop and gives more reliable estimates for all epochs (see Fig. 1). Nevertheless, the results from the backward Kalman filter loop will still not be optimal since the estimates at an epoch will mostly depend on the estimates at this and later epochs and not so much on the observations at earlier epochs. Thus, we calculate a smoothed solution, \(\vec {x}_{s}\), by optimally combining the results of the forward loop, \(\vec {x}_{f}\), with those obtained by the backward loop, \(\vec {x}_{b}\):

$$\begin{array}{@{}rcl@{}} P_{s}(t_{i})&=&\left[P_{f}(t_{i})^{-1}+P_{b}(t_{i})^{-1}\right]^{-1} \end{array} $$
Fig. 1
figure 1

ZWD estimated at Ny-Ålesund, Spitsbergen, Norway, with the Kalman filter on 12 August 2008. Shown are the results from the forward running Kalman filter, the backward running Kalman filter, and the smoothed results

$$\begin{array}{@{}rcl@{}} \vec{x}_{s}(t_{i})&=&P_{s}(t_{i})\,\left[P_{f}(t_{i})^{-1}\vec{x}_{f}(t_{i})+P_{b}(t_{i})^{-1}\vec{ x}_{b}(t_{i})\right] \end{array} $$

where P s (t i ), P f (t i ), and P b (t i ) are the variance-covariance matrices of \(\vec {x}_{s}(t_{i})\), \(\vec {x}_{f}(t_{i})\), and \(\vec {x}_{b}(t_{i})\), respectively. As seen in Fig. 1, this gives more smoothed time series compared to the forward and backward Kalman filter solutions.

Implementation in VieVS@GFZ

We have implemented a Kalman filter solution, using the algorithms described in the previous subsection, in VieVS@GFZ (Karbon et al. 2013). This is an extended version of VieVS version 2.1 (Madzak et al. 2013), which has been developed at the GFZ since 2013. The software is written in Matlab, which makes it flexible and easy to adapt for special investigations. The general structure of this software is shown in Fig. 2. The main modules of VieVS@GFZ are:

Fig. 2
figure 2

The structure of the GFZ version of the Vienna VLBI Software, VieVS@GFZ

  • VIE_INIT: This module reads in the VLBI observations (and auxiliary parameters like meteorological data and cable calibration) from the observation data files. Currently, the software is working with NGS-card files, however it is planned to also implement the new vgosDB format (Gipson 2014) in the near future.

  • VIE_MOD: This module calculates the theoretical delays as well as the partial derivatives w.r.t. the parameters of interest. These calculations are by default done according to the latest IERS Conventions (Petit and Luzum 2010) and the IVS Standards regarding thermal deformations (Nothnagel 2009), however, the software is flexible and for some parts, alternative models can be applied. For example, in all the analyzes presented in this work, we have also taken into account non-tidal atmospheric loading (Petrov and Boy 2004).

  • VIE_LSM: This module estimates the unknown parameters with LSM. It is possible to estimate clocks, tropospheric zenith wet delays (ZWD), tropospheric gradients, station coordinates, radio source coordinates, and EOP. The parameters are typically modeled as continuous piece-wise linear functions (Teke et al. 2009). The lengths of the estimation intervals can be freely chosen; for the LSM solutions presented in this work, we applied 30 min for clocks and ZWD, 2 h for gradients, while for station coordinates, radio source coordinates, and EOP, we estimated constant offsets valid for the whole session. The datum of the station coordinates was realized by applying No-Net-Translation (NNT) and No-Net-Rotation (NNR) condition relative to the a priori ITRF2008 (Altamimi et al. 2011) coordinates. Similarly, the datum of the radio source coordinates was realized by applying NNR conditions for the ICRF2 (Fey et al. 2009) defining sources. In order to stabilize the solution, relative constraints are applied for the piece-wise linear functions as pseudo-observations. In this work, we used the following constraints: 1.5 cm/(30 min) for ZWD, 0.5 mm/(2 h) for the gradients, and 1.3 cm/(30 min) for the clocks.

  • VIE_KALMAN: This is the newly implemented Kalman filter solution, which is an alternative to VIE_LSM. It is able to estimate exactly the same parameters as VIE_LSM does.

It should be noted that the first two parts (VIE_INIT and VIE_MOD) are independent on what estimation module is used (VIE_LSM or VIE_KALMAN). In addition to these main modules, there are separate modules for scheduling (VIE_SCHED, (Sun et al. 2014)), simulations (VIE_SIM, (Pany et al. 2011)), and global solution (VIE_GLOB, (Krásná et al. 2014)). VIE_GLOB can currently only use the normal equations produced by VIE_LSM, but it is planned to also make it possible to use the output from VIE_KALMAN in the future.

Currently, the software starts the analysis with version 4 NGS card files, meaning that the group delay ambiguities have already been resolved and the ionospheric corrections have been calculated. We are presently developing a module for doing also these parts, which would allow us to start from the version 1 NGS/vgosDB files. Outliers are detected after running VIE_LSM/VIE_KALMAN by applying an outlier test (here, a simple 5- σ outlier test was used) or by manual inspection and are then removed in a second run already when reading in the data in VIE_INIT. Clock breaks currently need to be manually detected by investigating the post-fit residuals. The clock breaks are then removed in a first, simple solution where in principle only clock parameters are estimated. For VIE_LSM, this first solution is an LSM solution, while for VIE_KALMAN, it is possible to choose between a Kalman filter and an LSM solution. In this work, we applied the LSM option in VIE_KALMAN, however tests show that this has only a minor impact on the results. We consistently applied the outliers and the clock breaks detected in the GFZ contribution to ITRF2014 (Heinkelmann et al. 2014) (a solution calculated with VIE_LSM) in both the LSM and Kalman filter solutions.

For the Kalman filter, we need to specify the stochastic processes driving the variations in the parameters, what is needed for calculating the matrices F(t i ) and Q(t i ) of Eqs. (3) and (4). For an overview of different stochastic processes which are suitable for modeling the parameters estimated by VLBI, see Herring et al. (1990). In our implementation, the clocks can be modeled as random walk processes or integrated random walk processes. In this work, we used the integrated random walk process and we set the power spectral density (PSD) of the clock rates process noise to 0.64 ns2/day3, what corresponds to an Allan standard deviation of 10-14 over 50 min (typical stability of an hydrogen maser used at the VLBI stations). The ZWD are modeled as random walk processes, and in this work, we assumed a PSD of 58 cm2/day for the process noise, as suggested (Herring et al. 1990). For a description of how to estimate the PSD for the different parameters and the effect of using these values, see of using these values, see (2015). The tropospheric gradients are modeled as first-order Gauss-Markov processes, and we assumed a time constant of 3 h and a process noise PSD of 0.025 cm2/day in the present study. The station coordinates, the radio source coordinates, and the EOP are all modeled as random walk processes. However, in this work, we set the PSD of the white noises driving these random walk processes to zero, thus effectively constant values were estimated for these parameters. Furthermore, for the station and radio source coordinates we realized the datum by including additional pseudo-observations in the matrix H i (Eq. (2)) at every epoch. The datum of the station coordinates was defined by NNT and NNR conditions relative to ITRF2008 (Altamimi et al. 2011) for all the stations of the session included in the ITRF2008 catalog. In this way, we make sure that the Kalman filter update will not introduce any net translation or rotation for the datum stations. For the radio source coordinates, we similarly imposed a NNR condition for all the ICRF2 (Fey et al. 2009) defining sources observed in the session.

Results and discussion

We have made a number of investigations where we have compared the precision of various parameters estimated by the Kalman filter with those estimated by LSM. The results are presented in the following subsections. In the first three subsections, we used a solution where all geometrically stable rapid turnaround (IVS-R1 and IVS-R4) sessions between 2002 and 2014 (in total 1303 sessions) were analyzed. Here, each VLBI session was analyzed individually.

The results for the tropospheric delays and the sub-diurnal station position variations are based on solutions of the continuous VLBI campaigns CONT08 and CONT14, respectively. Each campaign consists of 15 consecutive 24-h sessions. For each campaign, we made one Kalman filter solution containing all sessions of the campaign, imposing that all parameters (except clocks) are continuous at the session borders.

Baseline length repeatabilities

We calculated the baseline repeatabilities for all baselines observed in more than 25 sessions, in total 152 baselines. The results can be seen in Fig. 3. The repeatabilities for the Kalman filter solution are better for 141 baselines, while the least squares method produce better results for 11 baselines. On average, the weighted root-mean-square (WRMS) of the baseline lengths is 9.8 % (or 2 mm) lower for the Kalman filter solution.

Fig. 3
figure 3

Baseline length repeatabilities for the IVS-R1 and IVS-R4 sessions between 2002 and 2014. Shown are the results from LSM and from the Kalman filter, as well as the difference between them

Earth Orientation Parameters

Table 1 shows the weighted mean (WM) and WRMS difference between the EOP estimates from the VLBI solutions (Kalman filter and LSM) and the values from IERS 08 C04 (Bizouard and Gambis 2009). The comparison is made for the VLBI session mid-epochs; the IERS 08 C04 data were interpolated to these epochs using Lagrange interpolation. We can see that the WRMS values are lower for the Kalman filter solution for all of the EOP. However, it should be noted that VLBI data are included in the derivation of the IERS 08 C04 series, and this might affect the results (especially for UT1-UTC and celestial pole offsets). To have a more independent reference, we also compared our polar motion estimates to the GNSS estimates provided by the IGS (Dow et al. 2009). Also here, we found that the WRMS differences were about 10–15 μas lower for the Kalman filter solution compared to LSM. For the Kalman filter, the WRMS differences were 209 and 221 μas for x-pol and y-pol, respectively. The corresponding values for LSM were 229 and 245 μas.

Table 1 Weighted mean (WM) and weighted root-mean-square (WRMS) differences between the VLBI estimates of the EOP and those from IERS 08 C04

For a more detailed study on the EOP estimation from the Kalman filter, see Karbon et al. (2014).

Radio source position

Figure 4 shows the repeatabilities of the coordinates for the ICRF2 defining radio sources observed in more than 500 sessions in our selected subset of IVS sessions. We can see that the Kalman filter gives clearly better results than the LSM solution for all of these sources. If we look at all sources observed in more than 25 sessions (in total 311 sources), we find that the Kalman filter gives better repeatabilities in right ascension for 280 sources and in declination for 277 sources.

Fig. 4
figure 4

WRMS of the right ascension (top) and declination (bottom) for the defining radio sources observed in more than 500 sessions

Tropospheric delays

We have also investigated the accuracy of the tropospheric parameters (ZWD and gradients) estimated by the Kalman filter and LSM. We did this by analyzing the VLBI data from the 15 days of continuous VLBI campaign CONT08 (12–26 August 2008). As a reference, we used data from the water vapor radiometer (WVR) Astrid at the Onsala station (Elgered and Jarlemark 1998). During CONT08, this WVR was operating in a sky-mapping mode, resulting in a good sky coverage above 20° elevation angle (lower elevation angles are not possible in order to avoid picking up radiation from the ground). From the slant wet delays measured by the WVR, we estimated ZWD and gradients as piece-wise linear functions in a least squares adjustment.

Figure 5 shows the ZWD estimated by WVR (5-min resolution), Kalman filter, and LSM at Onsala between 12:00 and 24:00 on 14 August 2008. We can see that the Kalman filter solution follows the WVR data better than the LSM solution. Obviously, the temporal resolution of the LSM solution (30 min) is not good enough to capture some of the short-term variations captured by the more highly temporally resolved WVR and Kalman filter time series.

Fig. 5
figure 5

ZWD estimated from WVR, the Kalman filter, and the LSM solution at Onsala on 14 August 2008 between 12:00 and 24:00 UTC

In Table 2, the mean and RMS differences between the tropospheric parameters estimated from the WVR and those from the Kalman filter and LSM solutions, respectively, are shown. Here, the temporal resolutions of ZWD and gradients from WVR were set to 30 min and 2 h, respectively, i.e., the same as for the LSM solution. The tropospheric parameters from the Kalman filter was also smoothed to this resolution. The RMS differences are smaller for the Kalman filter solution, while the mean differences are smaller for LSM. However, the WVR is not that reliable for the absolute values of the tropospheric parameters since it may be affected by calibration errors. Thus, we can conclude that the Kalman filter yields more precise estimates of the tropospheric delays than the LSM solution also in the cases when the temporal resolution is identical.

Table 2 Mean and RMS differences between tropospheric delays estimated by WVR and the two VLBI solutions (Kalman filter and LSM) during the CONT08 period. All values are in millimeters

For a more detailed study of the ZWD from the Kalman filter, see Soja et al. (2015). A comparison of gradients from different techniques, including the Kalman filter and LSM VLBI solutions, is described by (Heinkelmann et al: Atmospheric delay gradients with high temporal resolution, submitted to J. Geodesy).

Sub-diurnal station position variations

With the Kalman filter it is possible to model the station positions as random walk processes. Hence, we could study the variations in the coordinates over various time-scales, as for instance in the sub-diurnal range. To demonstrate how well the sub-diurnal variations can be retrieved, we made an analysis of the 15 days of continuous VLBI campaign CONT14 (6–20 May 2014). We only applied the corrections for the solid Earth tides to the stations which were included in ITRF2008, and these stations were used for the datum definition (included in the NNT/NNR conditions). For the other stations, no solid Earth tide corrections were applied, thus we would expect to see these in the estimated coordinate time series. In the analysis, we modeled the non-ITRF2008 station coordinates as random walk processes with PSD of 1000 cm2/day, while the others were modeled as constant offsets.

Figure 6 shows the estimated station coordinate offsets for the YEBES40M station in Spain, as well as the motions due to solid Earth tides as predicted by the model in the IERS 2010 Conventions (Petit and Luzum 2010). We can see that the estimates recover the model well; the WRMS difference between the estimates and the model is 1.4 cm for the vertical component and 0.6 cm for the North and East components. For the station TSUKUB32, Japan, a similar level of agreement was found, while for the other stations (HOBART12, YARRA12M, and KATH12M in Australia, WARK12M in New Zealand, and HART15M in South Africa), the WRMS differences are about 2 cm for the vertical and 1 cm for the horizontal components. The reason for the worse agreement could be that all those stations are in the southern hemisphere where the station network is less dense (in CONT14, there were ten stations in the northern hemisphere and seven in the southern hemisphere) and that all these antennas are relatively small (≤15 m). Thus, these antennas provide a lower SNR, which is relevant for the VLBI accuracy. We also did the analysis using other values for the process noise and found only small changes (maximal 5 % in the WRMS values) when using 500 cm2/day or 2000 cm2/day instead of 1000 cm2/day.

Fig. 6
figure 6

Estimated position variations of the YEBES40M station during CONT14, together with the predicted variations from the solid Earth tide model in the IERS 2010 Conventions. No solid Earth tides were applied a priori


The results presented in the “Results and discussion” section clearly demonstrate the advantages of VLBI data analysis with a Kalman filter. For all of the parameters investigated, the precision of the Kalman filter was significantly better than that of LSM. Thus, we recommend that this method should be considered for analysis of VLBI data in the future. The reason for better results being obtained with the Kalman filter is likely due to the fact that randomly varying parameters like the tropospheric delays get temporally better resolved. It should of course be noted that it is in principle possible to use a higher temporal resolution also in LSM if the constraints are chosen appropriately. We have also made a test solution where the estimation intervals were decreased to 15 min for the clocks and ZWD and 60 min for gradients. This did not change our results significantly, e.g., also for this solution the baseline length repeatabilities were 10 % worse compared to the Kalman filter solution. However, since the Kalman filter is based upon the theory of least squares, it is theoretically possible to calculate a LSM solution resulting in the same results as the Kalman filter. This was for example demonstrated by Albertella et al. (2015). However, since this will mean that the clocks, ZWD, and gradients are estimated for every epoch, the number of parameters will be very large and thus the design and normal equation matrices will be huge, hence the inversion may be time consuming.

One issue which needs to be solved before the Kalman filter can be used for operational analysis within the IVS is how to create datum-free normal equations from the Kalman filter output (Tanir et al. 2007). This should not be a major issue for the parameters modeled as being constant for the duration of the session, e.g., station coordinates. For such parameters, a matrix similar to a normal equation matrix could be obtained by inverting the variance-covariance matrix P from the forward loop at the last epoch, then removing the datum information. However, for parameters modeled as random walk processes, e.g., the tropospheric parameters, it is more complicated.

One additional advantage of a Kalman filter is its real-time capability. This is currently not so interesting for the IVS, where only two to four 24-h-long VLBI sessions are observed per week and the correlation is normally done 2 weeks later. However, as more VLBI telescopes and correlators get connected through high-speed electronic networks, electronic transfer of the data and correlation in (near) real-time will become feasible. This has already been demonstrated for 1-h single-baseline (so-called Intensive) sessions (Matsuzaka et al. 2008). Thus, an analysis software with real-time capabilities will also be desirable in order to get the final results, e.g., UT1-UTC and the other EOP, in (near) real-time. The Kalman filter was originally developed for real-time applications, thus it is a preferable method to be used for this purpose. Of course, an issue in real-time is that only the forward Kalman filter loop is run, what is not as precise as running the filter forward and backward and then performing smoothing. In particular, the forward loop needs some time (a few hours) before it converges to a stable solution. This will however not be a major issue in the future with VGOS, where it is planned to have continuous observations, 24 h per day and 7 days per week. Furthermore, to be truly useful in real-time, the current implementation of the Kalman filter needs to be extended with additional functionality, e.g., resolving group delay ambiguities in real-time.