Introduction

Precise point positioning (PPP) has been a powerful tool in geodetic applications to estimate individual absolute geodetic point positions (Malys and Jensen 1990). It can archive centimeter level precise with a single receiver using precise orbits and clocks products (Zumberge et al. 1997). Highly precise satellite orbit and clock products are crucial for high precise PPP applications (Kouba and Héroux 2001). To meet the increasing demands from real-time PPP applications, the International GNSS Service (IGS) launched Real-Time Service (RTS) on April 1, 2013 (Agrotis et al. 2014, 2017), from which precise satellite orbit and clock corrections can be obtained via Networked Transport of RTCM via Internet Protocol (NTRIP) proposed by Weber et al. (2005). With the freely available real-time satellite orbit and clock products, real-time PPP are carried out in various applications, such as the offshore navigation, precision agriculture and nature hazard monitoring.

There are several RTS products currently available from IGS to support real-time applications. Zhang et al. (2018) evaluated the availability and accuracy of the real-time precise orbits and clocks products from different IGS Analysis Centers (ACs), in which the availability of RTS products is divided into two layers, epoch availability and satellite availability. Meanwhile, the latency of different products is also investigated; for example, the latency for IGS01 is around 28 s. Some researchers studied the mitigation of RTS outages by proposing various methods to extrapolate satellite clocks and predict satellite orbits. El-Mowafy et al. (2017) and Nie et al. (2017) investigated RTS clocks prediction during the short correction outage using the IGS RTS products. Yang and Gao (2017) discussed the prediction of satellite orbits in user end to avoid the influence of RTS outages. Meanwhile, the performance of satellite clock products with scalable update rates is discussed in Yang et al. (2017).

Satellite clock datum jump in IGS01 is first discussed in Yang et al. (2018), in which the effects of datum jump in satellite clock prediction are analyzed and mitigated. Until now, there are no discussions about the effects of the datum jump in IGS01 clock products on precise positioning. To tackle the problem, a new detection and mitigation algorithm of the datum jumps is proposed. First, the IGS RTS clock products and its application in real-time PPP are introduced. Afterward, the phenomenon of the datum jumps is discussed to demonstrate the frequent jumps in IGS01, as well as the cause of the datum jumps. The new satellite clock datum jump detection and mitigation method is proposed. Finally, PPP experiments are carried out to evaluate the influence of the datum jumps and validate the proposed method.

IGS RTS clock products and applicable strategies in real-time PPP

The commonly used satellite clock products of IGS RTS, including IGS01, IGS03, CLK01, CLK16, CLK20, CLK22, CLK53, CLK70, CLK81 and CLK90, are listed in Table 1 in terms of AC, software and update rates. For instance, IGS01 is a single-epoch combination product produced by the European Space Agency’s Space Operations Centre (ESA/ESOC) using RETINA software. IGS03 is a Kalman filter combination product generated by Bundesamt für Kartographie und Geodäsie (BKG) using BKG NTRIP Client (BNC) software. CLK01, CLK16, CLK20, CLK22, CLK53, CLK70, CLK81 and CLK90 are generated by individual ACs, namely BKG, Wuhan University (Wuhan), German Aerospace Center (DLR), Natural Resources Canada (NRCAN), ESA/ESOC, Deutsches GeoForschungsZentrum (GFZ), GMV Aerospace and Defense (GMV) and Centre National d’Etudes Spatiales (CNES) (Agrotis et al. 2014; Elsobeiey and Al-Harbi 2016). Among these products, IGS01, CLK16, CLK20, CLK22 and CLK53 provide corrections for Global Positioning System (GPS) only and others provide corrections for Global Navigation Satellite System (GLONASS).

Table 1 Introduction of IGS RTS clock products

RTS products provide orbit and clock corrections for broadcast ephemeris. The RTS clock product can be described as follows (Hadas and Bosy 2014)

$$\delta C = C_{0} + C_{1} \left( {t - t_{0} } \right) + C_{2} \left( {t - t_{0} } \right)^{2}$$
(1)
$$t_{\text{sat}} = t_{\text{brdc}} + \frac{\delta C}{c}$$
(2)

where \(\delta C\) is the clock correction to broadcast ephemeris clocks; \(t\) is the application epoch and \(t_{0}\) is the reference epoch of corrections; \(C_{0} ,C_{1}\) and \(C_{2}\) are the coefficients in RTS clock corrections; \(c\) is the speed of light; \(t_{\text{sat}}\) is the precise clock offsets; and \(t_{\text{brdc}}\) is the clock offsets calculated from the broadcast ephemeris.

When applying the IGS RTS products in real-time applications, the latency, update interval and availability issues need to be considered carefully. Figure 1 demonstrates the relationship between the latency and update interval of corrections, which shows the normal situation without missing corrections for any satellites. We can see that the application epoch time is always ahead of correction reference time in the real-time case, and the latency denotes the difference between the observation epoch time and the correction reference time, which is due to the combination of processing time delay, communication time delay and update interval. The latest available corrections will be applied to broadcast ephemeris to obtain precise satellite orbit and clock products until the next corrections are received. More specifically, \(T_{i}\) is the reference time of the corrections received at \(\tau_{i,0}\); the time difference \((\tau_{i,0} - T_{i} )\) is the latency of the corrections. Before the arrival of the next corrections, the current corrections with reference time \(T_{i}\) will be used for the observations such as \(\tau_{i,j}\) and the latency will be \((\tau_{i,j} - T_{i} )\). At observation epoch time \(\tau_{i + 1,0}\), the corrections are updated at reference time of \(T_{i + 1}\), and the latency will be \((\tau_{i + 1,0} - T_{i + 1} )\).

Fig. 1
figure 1

Applying of clock corrections considering latency and update rates in a normal situation

Further, the availability issue of real-time corrections is presented in Fig. 2. As we can see, the corrections with reference time at \(T_{i}\) can be received for all satellite while the next corrections with reference time at \(T_{i + 1}\) are not available for all satellites. In this case, two different strategies, namely Strategy A and Strategy B, are commonly used by real-time users. For Strategy A, the satellite clock corrections of reference time \(T_{i}\) and \(T_{i + 1}\) are used together to ensure the maximum availability of satellite corrections. As for Strategy B, those satellite missing corrections from last update will be excluded and only those with latest corrections are utilized, which is quite straightforward. The drawbacks of the above two strategies are obvious. For the Strategy A, the direct use of satellite corrections updated at different epochs could cause a degradation of the positioning accuracy, which is due to the satellite clock datum jump. For the Strategy B, this simple method will result in the direct dropping of the available satellite number, which can worsen the positioning accuracy with a poor dilution of position (DOP) especially in challenging situations such as urban canyon.

Fig. 2
figure 2

Strategy A and Strategy B when a satellite is unavailable in RTS products

Satellite clock datum jumps in IGS01

In this section, the phenomenon of the satellite clock datum jumps in IGS01 product is first demonstrated by means of satellite clock offsets and mean clock offset rates. Afterward, the cause of satellite clock datum jumps is investigated by simulating the generation of IGS01 clock products.

Phenomenon of the satellite clock datum jumps in IGS01

According to the satellite block-type and clock type, current GPS satellite clocks are divided into four groups as shown in Table 2. Clocks onboard the satellites PRN 20, PRN 30, PRN 12 and PRN 24 are selected to represent all the 31 active clocks onboard the GPS satellites.

Table 2 Block-type and clock type of GPS (up to March 5, 2018)

To investigate the datum jumps in IGS01 clock products, other IGS RTS products such as IGS03, CLK90 and CLK01 are also analyzed and compared. The raw satellite clock offsets of June 21, Day of Year (DOY) 172, 2017, for these four products are received, decoded and stored in real time. Figure 3 shows the raw satellite clock offsets of PRN 20, PRN 30, PRN 12 and PRN 24 with 1-day length. As we can see, the satellite clock offsets from IGS03, CLK01 and CLK90 share similar linear trends, while there are frequent jumps in IGS01 clock products and those jumps appear simultaneously for PRN 20, PRN 30, PRN 12 and PRN 24.

Fig. 3
figure 3

IGS01, IGS03, CLK01 and CLK90 satellite clock offsets for PRN 20, PRN 30, PRN 12 and PRN 24 on DOY 172, 2017

To remove the linear trend, the mean offset rates for the above four satellite clocks are calculated by

$$V_{i}^{k} = \frac{{{\text{CLK}}_{i}^{k} - {\text{CLK}}_{i - 1}^{k} }}{\delta T}$$
(3)

where \(i\) denotes the \(i{\text{th}}\) epoch and \(k\) denotes the satellite. \({\text{CLK}}_{i}^{k}\) is clock offset for satellite \(k\) at epoch \(i\). \(\delta T\) is the time difference between \({\text{CLK}}_{i - 1}^{k}\) and \({\text{CLK}}_{i}^{k}\). The mean clock offset rates of PRN 20, PRN 30, PRN 12 and PRN 24 from IGS01, IGS03, CLK01 and CLK90 products are shown in Fig. 4. As we can see, the mean clock offset rates for the IGS03, CLK01 and CLK90 products are much smaller than for IGS01 and most of them are less than 0.05 ns/s. The magnitude of the mean clock offset rates of PRN 20, PRN 30, PRN 12 and PRN 24 from IGS01 product is more than 4 ns/s due to the jumps.

Fig. 4
figure 4

Mean clock offset rates of PRN 20, PRN 30, PRN 12 and PRN 24 from IGS01, IGS03, CLK01 and CLK90

Cause of the satellite clock datum jumps

IGS01 is a combination product of CLK10, CLK16, CLK20, CLK22, CLK53, CLK70, CLK80, and CLK93 (https://igs.bkg.bund.de/ntrip/ppp). In the clock combination process, a specific AC product is selected as the reference product, and all the other products are aligned to the reference product. Afterward, the weighted average is calculated in the combination solution (http://www.igs.org/rts/products).

We can make a hypothesis: the reasons for datum jumps in IGS01 are either the switch of the reference product or the datum jumps in the reference product. To verify the hypothesis, the real-time corrections received on DOY 172, 2017 are analyzed while focusing one the datum jumps. The raw clock offsets of IGS01, CLK70 and CLK81 on DOY 172, 2017 around 11:40:55 are illustrated in Fig. 5. As we can see, there is an obvious clock datum jump for IGS01. There are no CLK70 products at 11:40:55 but CLK81 products are available. We suppose that before and after the epoch 11:40:55, the reference product is CLK70; however, CLK70 is unavailable at the epoch 11:40:55, then CLK81 is selected as the reference.

Fig. 5
figure 5

Clock offset of CLK81, CLK70 and IGS01 around 11:40:55 for PRN 30

Afterward, the combination experiments of CLK22, CLK70 and CLK81 were simulated. In the combination experiment, we simulated the switching of the reference product. The raw clock offsets of CLK22, CLK70 and CLK81 on DOY 172, 2017 are used for the simulation experiments, which are presented together with IGS01 in Fig. 6. As we can see, there are no datum jumps in CLK22, CLK70 and CLK81 while an obvious datum jump happened around 17:00 for CLK70.

Fig. 6
figure 6

IGS01, CLK22, CLK70 and CLK81 satellite clock offsets for PRN 20, PRN 30, PRN 12 and PRN 24 with 1-day length

The references are designed to switch every 8 h, which is shown in Table 3. CLK70 is designed as the reference around 17:00 to check the influence of the datum jump contained the reference product.

Table 3 Reference products in the combination experiment

The corresponding combination results are presented in Fig. 7. As we can see, there are three obvious datum jumps across the day. The first datum jump is due to the reference product switching from CLK22 to CLK81, the second datum jump is because the reference product changes from CLK81 to CLK70, and the third one is because of the original datum jump in CLK70 clock products.

Fig. 7
figure 7

Combination of CLK22, CLK70 and CLK81 with switchover of reference product

We can conclude that there are two primary reasons for the datum jumps in the combination products. The first reason is the switch of the reference product as the previous reference product is unavailable during the current combination process, which is not uncommon for the real-time products. The second reason is that some RTS clock products contain datum jumps originally, which can also cause the datum jump in the combination products.

A detection and mitigation algorithm of the clock datum jump

Detection and mitigation of the datum jumps of satellite clock products such as IGS01 are based on the characters of the datum jumps. There are two obvious features for the datum jumps. The primary feature of the jump is that the change in satellite clock time series are very large for all satellites once the datum jump happens. Another feature is that the clock jumps happen approximate the same time for all satellites. Those two features are important and will be utilized in the detection of the datum jumps from the clock time series.

The mean clock rate defined in (3) is adopted in the detection and mitigation. If the mean clock rate satisfies the following formula, the epoch \(i\) is considered as abnormal epoch, which contains either outlier or datum jump

$$\left| {\epsilon_{i}^{k}} \right| > \kappa_{0}, \,{\text{where}}\,\epsilon_{i}^{k} = V_{i}^{k} - \mu_{i}^{k}$$
(4)

in which the \(\kappa_{0}\) is the threshold and \(\mu_{i}^{k}\) is the expectation of the mean clock rate; \(\epsilon_{i}^{k}\) is the mean clock rate error. The clock drifts extracted from the broadcast ephemeris are used for the calculation of \(\mu_{i}^{k}\).

The threshold is often set by \(f \cdot \sigma_{i} \left( {T_{w} } \right)\) in outlier detection, where \(\sigma_{i} \left( {T_{w} } \right)\) is the STD value of \(\epsilon_{i}^{k}\) in the waiting time length \(T_{w}\) and \(f\) is the scalar threshold. Some studies recommend setting \(f\) as 3 and \(T_{w}\) as 120 s (Chen et al. 2017; Nie et al. 2017).

Furthermore, the range is used to distinguish datum jump from the abnormal epoch as follow

$$R_{i} = \hbox{max} \left( {\epsilon_{i}^{k} } \right) - \hbox{min} \left( {\epsilon_{i}^{k} } \right),\quad k \in \left\{ {1, \ldots ,N_{\text{sat}} } \right\}$$
(5)

Since the range is not affected by datum jumps but by outliers, the criterion to distinguish datum jump is as follows

$$R_{i} < \kappa_{1}$$
(6)

where \(R_{i}\) is the range and \(\kappa_{1}\) is the threshold. The threshold \(\kappa_{1}\) can also be set to \(f \cdot \sigma \left( {T_{w} } \right)\).

Based on the features of the datum jump, a new detection and mitigation algorithm is presented in Fig. 8. In the flowchart, two tests are applied to detect the satellite clock datum jumps.

Fig. 8
figure 8

Flowchart of satellite clock datum detection and mitigation

  1. (a)

    Test 1: Whether \(\left| {\epsilon_{i}^{k} } \right|\) is greater than the threshold \(\kappa_{0}\) for any satellite?

  2. (b)

    Test 2: Whether \(R_{i}\) is less than the threshold \(\kappa_{1}\)?

For each epoch RTS corrections, the detection and mitigation entail the following steps

  1. 1.

    Calculate the mean clock rate error for each satellite;

  2. 2.

    Apply test 1. If test 1 is passed, the epoch will be regarded as an abnormal epoch;

  3. 3.

    Calculate the range for each satellite;

  4. 4.

    Apply test 2. If test 2 is passed, the datum jump is assumed to happen at that epoch.

  5. 5.

    Compute the expectation of the jump for all satellites following

    $$D_{i} = \delta T \cdot E\left( {\epsilon_{i}^{k} } \right) = \delta T \cdot \frac{1}{{N_{\text{sat}} }}\mathop \sum \limits_{k = 1}^{{N_{\text{sat}} }} \epsilon_{i}^{k} ,\quad k = 1, \ldots ,N_{\text{sat}}$$
    (7)

    where the \(D_{i}\) is the common jump value; \(E()\) denotes the expectation of a random variable; \(\delta T\) is the time difference between epoch \(i\) and \(i - 1;\epsilon_{i}^{k}\) is the mean clock rate error, which can be calculated by averaging; \(N_{\text{sat}}\) is the number of satellites on epoch \(i\). Then the clock offset can be adjusted by

    $$\widetilde{\text{CLK}}_{i}^{k} = {\text{CLK}}_{i}^{k} - D_{i}$$
    (8)

    where \({\text{CLK}}_{i}^{k}\) is the clock offset of the satellite \(k\) on epoch \(i\). \(\widetilde{\text{CLK}}_{i}^{k}\) is the adjusted clock offset and can be used in real-time PPP.

Experiments and results

To investigate the frequency of the datum jumps in IGS01, clock products from June 11(DOY 162), 2017 to January 27 (DOY 27), 2018, are collected. The collected data include 5 periods, which are listed in Table 4. As we can see the longest period is 57 days from DOY 336, 2017, to DOY 27, 2018, and the shortest period is only 6 days from DOY 310 to DOY 315, 2018.

Table 4 Time summary of the collected IGS01 clock data

The detection results are shown in Fig. 9. We can see that datum jumps happen frequently in the IGS01 clock product. On DOY 172, 2017, there are 688 clock datum jumps, which is 4% of the 17,280 epochs for the whole day, and peaks in the 115 days. While minimum frequency occurs on DOY 168, 2017, the datum jump happens only 7 times. The average frequency of the datum jumps is 95.5 times per day, which is about 0.9% over the whole day.

Fig. 9
figure 9

Datum jump frequency of the clock data with jumped count shown in blue bars

To verify the influence of the datum jumps on satellite clock stability, clock products on DOY 172, 2017 are evaluated. The Allan Deviation (ADEV) of IGS01 before and after mitigation is calculated. IGS03, CLK01 and CLK90 products are compared with IGS01 products in Figs. 10 and 11. As we can see from Fig. 10, it is obvious the IGS01 has the poorest stability before mitigation, while the performance of the IGS03, CLK01 and CLK90 is quite similar. The ADEV of IGS01 is much larger than that of the other three products. For instance, when the sample interval \(\tau\) is 30 s, the ADEV of PRN 20 from IGS01 is \(7.46 \times 10^{ - 11}\); but for IGS03 the ADEV is \(2.53 \times 10^{ - 12}\). There are no significant differences among IGS03, CLK01 and CLK90. However, IGS01 becomes more stable after mitigation. As presented in Fig. 11, IGS01 becomes more stable after mitigation and ADEVs for IGS01 are close to the other three products. For instance, the ADEV of PRN 20 from the mitigated IGS01 and IGS03 is \(2.76 \times 10^{ - 12}\) and \(2.53 \times 10^{ - 12}\), respectively, with \(\tau\) equals to 30 s. When \(\tau\) is 1000 s, the ADEV of PRN 20 from both products is very close, reaching \(3.48 \times 10^{ - 13}\) and \(2.66 \times 10^{ - 13}\), respectively.

Fig. 10
figure 10

ADEV of PRN 20, PRN 30, PRN 12 and PRN 24 from IGS03, CLK01, CLK90 and IGS01 before mitigation

Fig. 11
figure 11

ADEV of PRN 20, PRN 30, PRN 12 and PRN 24 from IGS03, CLK01, CLK90 and IGS01 after mitigation

The real-time PPP experiments are simulated by processing the collected observation data and satellite corrections. The real-time PPP settings are listed in Table 5. As we can see that satellite orbits and clocks of IGS01 are adopted in the experiments. Latency of IGS01 is around 28 s, which is considered in the simulation. In the experiments, the valid correction age for satellite orbit and clock is set as 180 s. Once the age of corrections is older than the valid age, they will not be used in the positioning. The ionospheric-free (IF) combinations of GPS L1 and L2 observations are used; and the cutoff elevation is set to 10°. The receiver clock, tropospheric zenith wet delay and ambiguity parameters are estimated along with station coordinates. The coordinates of the IGS stations are downloaded from Scripps Orbit and Permanent Array Center (SOPAC) and used as the reference.

Table 5 Real-time kinematic PPP settings

Apart from the basic PPP settings, four different strategies for handling the satellite clock datum jumps are listed in Table 6. E01 directly applies satellite clock corrections without considering datum jumps. E01J rejects measurements of the specific satellite when the corrections for that satellite are unavailable, and the satellite clock datum jump is detected for the other satellites. E01M applies the proposed datum jump detection and mitigation method when corrections for some satellite are unavailable, and the satellite clock datum jump is detected for the other satellites. E01R does not detect and mitigate datum jumps, but realigns all the satellite clocks to a reference satellite. Actually, the satellite clock datum is removed in E01R by carrying out the single difference between satellites, and the reference satellite change need to be considered during the process. In the following experiments, PRN 1 from the GPS-IIF family is selected as the reference satellite.

Table 6 Four different strategies for datum jumps in real-time PPP experiments

To investigate the effects of the satellite clock datum jumps on positioning, the real-time kinematic PPP experiments are simulated using GPS observation data of IGS station GLPS on June 21, 2017 (DOY 172). Positioning results of station GLPS over the whole day are shown in Fig. 12. The root mean square (RMS) values are 6.6 cm, 8.7 cm and 21.5 cm in the north, east and up components for E01. Meanwhile, we can see that there are frequent coordinates jumps and re-convergence. In the kinematic PPP mode, the constraint of coordinates between consecutive epochs is small and thus the maximum positioning error can be more than 2 m when datum jump happens. The frequent coordinate jumps and re-convergence have disappeared after applying E01J, E01M and E01R strategies. More specifically, the RMS values in three components are 2.9 cm, 6.7 cm and 11.4 cm for E01J, 3.0 cm, 5.0 cm and 9.0 cm for E01M and 2.8 cm, 5.8 cm and 8.7 cm for E01R. Compared to E01, the improvements of applying E01J are 56%, 23% and 47%, the improvements of using E01J are 55%, 43% and 58%, and the improvements of using E01R are 56%, 33% and 60%. Compared with E01J, E01M shows a similar accuracy on north components, but archives a better accuracy on east and up components; the improvements are 25% and 21% on the two components, respectively. The positioning results of GLPS by applying E01R and E01M are similar in three directions. Among all the four strategies, E01M shows the best three-dimension accuracy in the real-time kinematic PPP.

Fig. 12
figure 12

PPP solution of station GLPS with different strategies

To study the causes of the large coordinate jumps in E01, we select the one near 11:40:55 reaching more than 2 m for more detailed investigations. For the IGS01 products, corrections of 30 satellites are available with reference time at 11:40:55, while corrections of 31 satellites with reference time at 11:40:50 and 11:41:00. The corrections of satellite PRN 22 is unavailable with reference time at 11:40:55; meanwhile, all the other satellites experienced clock datum jump at that epoch. Satellites PRN 19, PRN 22, PRN 24, PRN 26 and PRN 32 are selected to demonstrate the situation, and the corresponding satellite clock offsets are plotted in Fig. 13. As we can see, the satellite clock datum jump is obvious for satellites PRN 19, PRN 24, PRN 26 and PRN 32 at 11:40:55, which reaches about − 9 ns, which is equivalent to a mean clock drift rate at 1.6 ns/s. Since the valid correction age is set to 180 s, the corrections for PRN 22 with reference time at 11:40:50 are used together with corrections for all the other satellites with reference time at 11:40:55 in E01. In this case, the inconsistency between PRN 22 and the other satellites results in the coordinate jump around 11:40:50. For PPP with strategy E01J, the datum jump is detected and the measurements of PRN 22 are rejected. For PPP with strategy E01M, the datum jump is detected and mitigated, and thus, measurements from all satellites including PRN 22 are used in the positioning.

Fig. 13
figure 13

Illustration of datum jump and satellite unavailability of IGS01 clock corrections on DOY 172, 2017

Since the concurrence of satellite unavailability and datum jumps is the reason PPP accuracy is affected, frequency and proportion of the satellite unavailability at the datum jump epochs are calculated and listed in Fig. 14. As we can see, satellite unavailability is very common when the datum jumps happen. The minimum proportion is 59% on DOY 327, 2017, the maximum proportion is 100% on most days, and the mean proportion is 95.58%. As discussed above, if the datum jumps are not considered, real-time PPP application will be affected frequently in real-time PPP applications.

Fig. 14
figure 14

Frequency and proportion of satellite unavailability at datum jump epoch from IGS01

To investigate positioning accuracies with the four strategies further, GPS observation data of 27 globally distributed IGS stations on June 2 (DOY 172), 2017 are collected and real-time PPP experiments are carried out. The global distribution of the selected IGS stations is shown in Fig. 15. The detailed settings of PPP are the same listed in Table 5, and four strategies in Table 6 are adopted.

Fig. 15
figure 15

Twenty-seven globally distributed IGS stations for PPP experiment

The daily RMS of the 27 stations is presented in Fig. 16. E01 shows the worst performance among the four strategies. The RMS in the north component for most stations is more than 8 cm and more than 10 cm in the east and up components. The RMSE in the north direction for most stations is less than 5 cm and 10 cm in east and up components for E01J, E01R and E01M. The mean RMS of all stations for E01 is 11.4 cm, 11.5 cm and 25.3 cm in the north, east and up directions. However, the mean RMS is 4.4 cm, 8.2 cm and 11.7 cm for E01J, 4.6 cm, 8.1 cm and 11.8 cm for E01R, and 4.3 cm, 7.2 cm and 11.2 cm for E01M. Compared to E01 in north, east and up directions, the accuracy improvements of E01J are 61.4%, 28.7% and 53.8%, the accuracy improvements of E01R are 59.6%, 29.6% and 53.4%, and the accuracy improvements of E01M are 62.3%, 37.4% and 55.7%. Compared to E01J, more satellites are used by E01R and E01M when datum jumps appear. Thus, they show better performance than E01J, especially in the up component. Among the 27 stations, there are 20 stations showing improvements in the up component. The largest improvement is 5 cm for station CKIS and the average improvement is 1.1 cm for all stations. The results from E01R and E01M are similar in the north and up components, while E01M results are better than E01R in the east component. There are 22 stations witnessing improvements in the east component. The maximum improvement is 3.2 cm for station BREW and the average improvement is 0.6 cm. For the four strategies, E01M shows the best performance in terms of three-dimensional accuracy.

Fig. 16
figure 16

Positioning accuracy of 27 globally distributed IGS stations on DOY 172 with different strategies

Conclusions

We presented and discussed the datum jumps issues of the clock products from IGS01. The analysis indicates that switching the reference product in the combination process is the main reason to the datum jumps in IGS01. Meanwhile, if reference products also contain datum jumps, the combination products will also be influenced.

Potential influences of datum jumps on real-time PPP are discussed by simulating the real-time kinematic PPP experiments with four different strategies, including the newly proposed datum jump detection and mitigation algorithm. We find that the PPP will be affected when datum jumps and unavailability of satellite corrections happen simultaneously. The results indicate the concurrence rate of the satellite clock datum jumps and the unavailability of satellite corrections in 1 day ranges from 59% to 100%. In the PPP experiments with 27 globally distributed IGS stations, the results applying the proposed method improve the accuracy about 62.3%, 37.4% and 55.7% in the north, east and up when compared to those without considering the satellite clock jump issues.