## 2 Materials and Methods
### Processing Software
#### 2.2.2 ZPD Retrieval  
Among the available software packages to support the processing of RINEX data, we opted for MG-APP (Multi GNSS Automatic Precise Positioning) [30], that was found to be accurate, reliable and efficient. MG-APP is an open source software developed to process multi-constellation GNSS data from GPS, GLONASS, BeiDou and Galileo platforms, both in static and in kinematic mode. It provides different data-smoothing solutions, mainly based on a Kalman filter and a square root information filter (SRIF). Moreover, the back smooth filtering approach allows to apply the filter in both forward and backward modes through the observation epochs, limiting the effects of the convergence delay to reach a stable ambiguity solution, typical of float-PPP approaches. The processing flow also contains a check of the control values that are labelled and corrected or eventually rejected if outside a range of admitted values. The analyses in this work were performed using version 1.0 of the MG-APP software, freely available at [31]. The processing scheme used was the float-PPP (precise point positioning), separately applied to each receiver, where \"float\" means that the ambiguity solution is not constrained to an integer value, to account for other error sources. This approach allows to achieve position accuracy at the centimeter level for static equipment or at the decimeter level for \"slow-moving\" equipment, such as on board a commercial ship. The possibility to access and modify the software code allowed making some essential changes for operational and optimised use in the ZPD estimation. The main upgradings that we performed on the MG-APP are listed below. * We introduced a command line interface for automatic execution inside of the script suitable for near-real-time processing, while the original software was designed for interactive use only trough a GUI (graphic user interface). * We included the capability to process different types of input files, namely observation and navigation RINEX (obs, nav), orbits, clocks and Earth rotation corrections (sp3, clk, erp), antenna calibration (ant), ocean tidal loading (blq, otl), and tropospheric gridded corrections (grd), regardless of their name or extension. * The possibility of processing data coming also from the QZSS (Quasi-Zenith Satellite System) constellation. * We added the capability to perform ocean tide calculation using gridded input data. The software originally used only site-specific input data for the ocean tide model, while the modification allowed the interpolation of data contained in a grid file. The ocean tide gridded model used was the FES2004 [32]. Both the ocean tide grid model and the interpolation procedure were implemented as in the GAMIT-GLOBK 10.71 software [33]. In this way, the ocean tide model can also be applied to moving systems, such as ships in our case. * The original version of the MG-APP software performed a time interpolation of the satellite clocks corrections to match all the observation epochs. Unfortunately,such interpolation introduces an error that should be computed and corrected, for example, through a stochastic model of satellite clock interpolation errors, as proposed in [34]. In our implementation, satellite clock signals were not interpolated. Instead, the processing involved only the epochs for which satellite clocks corrections were available. This brought benefits especially in the near-real time processing, where the ZPD computation was available every 15 and 5 min using ultra-rapid and rapid orbits, respectively. It was found that considering observation inputs only when the satellite clocks were available led to significant improvement in the final results, even if less output data were produced. On the other hand, when using the final ephemeris available after a few days (from 12 to 19), the frequency of satellite clock correction was 30 s, so very close to the frequency of observations. The use or not of interpolation on the clock correction was consequently not relevant.