## 2 Real-Time Precise Point Positioning Algorithm  
The ionosphere-free real-time precise point positioning mathematical model for both code- and carrier-phase GNSS observations is applied through the following formula [34]:  
\[P_{IF}=\rho_{r}^{s}+c(dt_{r}-dt^{s})+T_{r}^{s}+c(\Delta B_{r}-\Delta B^{s})+ \varepsilon_{P,IF} \tag{1}\]  
\[\Phi_{IF}=\rho_{r}^{s}+c(dt_{r}-dt^{s})+T_{r}^{s}+c(\Delta\delta_{r}-\Delta \delta^{s})+\overline{\lambda N_{f}^{s}}+\varepsilon_{\Phi,IF} \tag{2}\]  
where \(P_{IF}\) and \(\Phi_{IF}\) are the dual-frequency code- and carrier-phase ionosphere-free linear combinations, respectively; the GPS, GLONASS, Galileo, and BeiDou satellite systems are referred by \(s\); \(r\) denotes to the receiver; the range between satellite and receiver is \(\rho_{r}^{s}\); the speed of light in a vacuum is \(c\); \(dt_{r}\) and \(dt^{s}\) are receiver and satellite clock errors, respectively; \(T_{r}^{s}\) indicates the tropospheric delay; \(\Delta B_{r}\) and \(\Delta B^{s}\) are the receiver and satellite ionosphere-free differential code bias (DCB), respectively; \(\Delta\delta_{r}\) and \(\Delta\delta^{s}\) are the receiver and satellite ionosphere-free differential phase bias (DPB); \(\lambda\) is the carrier phase's wavelength; \(\overline{N_{r}^{s}}\) is the ionosphere-free carrier-phase ambiguity term; \(\varepsilon_{P,IF}\) and \(\varepsilon_{\Phi,IF}\) are the residual errors of both the code and carrier phase, respectively.  
For the real-time PPP method, the DCB is included in receiver and satellite clocks as described below:  
\[P_{IF}=\rho_{r}^{s}+c(dt_{r}+\Delta B_{r})-c(dt^{s}+\Delta B^{s})+T_{r}^{s}+ \varepsilon_{P,3} \tag{3}\]  
\[\Phi_{IF}=\rho_{r}^{s}+c(dt_{r}+\Delta B_{r})-c(dt^{s}+\Delta B^{s})+T_{r}^{s }+\left(\overline{\lambda N_{r}^{s}}+D_{r}-D^{s}\right)+\varepsilon_{\Phi,IF} \tag{4}\]  
where \(D_{r}\) and \(D^{s}\) are the difference between the DCB and DPB for the receiver and satellite, respectively. After applying the satellite and clock corrections, the real-time PPP model can be rewritten for both code and phase measurements as given below:  
\[P_{IF}=\rho_{r}^{s}+cdt_{r}^{\sim}-cdt_{cor}^{s}+T_{r}^{s}+\varepsilon_{P,3} \tag{5}\]  
\[\Phi_{IF}=\rho_{r}^{s}+cdt_{r}^{\sim}-cdt_{cor}^{s}+T_{r}^{s}+\widetilde{N_{r} ^{s}}+\varepsilon_{\Phi,IF} \tag{6}\]  
where \(dt_{r}^{\sim}\) represents the receiver DCB plus receiver clock parameter; \(dt_{cor}^{s}\) denotes to the corrected satellite clock parameter; \(\widetilde{N_{r}^{s}}\) is the ambiguity parameter. The tropospheric delay parameter (\(T_{r}^{s}\)) in Equations (5) and (6) is broken down into hydrostatic and wet tropospheric parts. The hydrostatic tropospheric error parameter can be estimated using the Saastamoinen model [35], while the wet tropospheric error parameter is computed as an unknown term; thus, the unknown parameter vector (\(\mathbf{X}\)) can be mathematically represented as given below:  
\[\mathbf{X}=\begin{bmatrix}\Delta x&\Delta y&\Delta z&cdt_{r}^{\sim}&zwd& \widetilde{N}^{s=1}&\cdots&\widetilde{N}^{s=n}\end{bmatrix}^{T} \tag{7}\]  
where \(zwd\) points to tropospheric zenith wet delay; \(n\) is the number of tracked GNSS satellites.