## 2 Methods
### Different Interpolation Methods for GIM Products
#### 2.2.2 Bicubic Interpolation  
The bicubic interpolation [37] method uses 16 adjacent points for interpolation (Figure 2). Bicubic interpolation is an extension of cubic interpolation in a two-dimensional space. The cubic interpolation kernel is an approximation of the convolution interpolation of the ideal sampling sinc function at [-2,2] that is based on the cubic polynomial [38]. Typically, cubic interpolation produces interpolation coefficients that are based on a third-order polynomial:  
\[h(q)=\left\{\begin{array}{ll}1-(w+3)\big{|}q\big{|}^{2}+(w+2)\big{|}q\big{|} ^{3},&0\leq\big{|}q\big{|}\leq 1\\ -4w+8w\big{|}q\big{|}-5w\big{|}q\big{|}^{2}+w\big{|}q\big{|}^{3},&1\leq\big{|} q\big{|}\leq 2\\ 0,&2\leq\big{|}q\big{|}\end{array}\right., \tag{18}\]  
Figure 1: Schematic illustrating Junkins weighted interpolation.  
where \(q\) represents the distance between the interpolation point and the reference point, \(w\) is a tunable parameter, and the best result is obtained by verifying \(w=-0.5\)[38] with a large amount of data. Under these conditions, Equation (18) is simplified to:  
\[h(q)=\left\{\begin{array}{cc}1-2.5\big{|}q\big{|}^{2}+1.5\big{|}q\big{|}^{3},& 0\leq\big{|}q\big{|}\leq 1\\ 2-4\big{|}q\big{|}+2.5\big{|}q\big{|}^{2}-0.5\big{|}q\big{|}^{3},&1\leq\big{|}q \big{|}\leq 2\\ 0,&2\leq\big{|}q\big{|}\end{array}\right., \tag{19}\]  
Bicubic interpolation is similar to bilinear interpolation. It is also decomposed into two one-dimensional interpolations: horizontal interpolation and vertical interpolation. Figure 2 shows the interpolation process. First, vertical interpolation is performed to obtain four virtual values, and then the values of the \(p\) point are obtained via interpolating based on the four virtual values. The calculation process is as follows:  
\[\left\{\begin{array}{l}P_{1}=C_{1}P_{11}+C_{2}P_{21}+C_{3}P_{31}+C_{4}P_{41 }\\ P_{2}=C_{1}P_{12}+C_{2}P_{22}+C_{3}P_{32}+C_{4}P_{42}\\ P_{3}=C_{1}P_{13}+C_{2}P_{23}+C_{3}P_{33}+C_{4}P_{43}\\ P_{4}=C_{1}P_{14}+C_{2}P_{24}+C_{3}P_{34}+C_{4}P_{44}\end{array}\right., \tag{20}\]  
namely  
\[\left[\begin{array}{cccc}P_{1}&P_{2}&P_{3}&P_{4}\end{array}\right]=\left[ \begin{array}{cccc}C_{1}&C_{2}&C_{3}&C_{4}\end{array}\right]\left[\begin{array} []{cccc}P_{11}&P_{12}&P_{13}&P_{14}\\ P_{21}&P_{22}&P_{23}&P_{24}\\ P_{31}&P_{32}&P_{33}&P_{34}\\ P_{41}&P_{42}&P_{43}&P_{44}\end{array}\right]^{\prime} \tag{21}\]  
\[\begin{array}{l}F\\ =L_{1}P_{1}+L_{2}P_{2}+L_{3}P_{3}+L_{4}P_{4}\\ =\left[\begin{array}{cccc}P_{1}&P_{2}&P_{3}&P_{4}\end{array}\right]\left[ \begin{array}{cccc}L_{1}\\ L_{2}\\ L_{3}\\ L_{4}\end{array}\right]\\ =\left[\begin{array}{cccc}C_{1}&C_{2}&C_{3}&C_{4}\end{array}\right]\left[ \begin{array}{cccc}P_{11}&P_{12}&P_{13}&P_{14}\\ P_{21}&P_{22}&P_{23}&P_{24}\\ P_{31}&P_{32}&P_{33}&P_{34}\\ P_{41}&P_{42}&P_{43}&P_{44}\end{array}\right]\left[\begin{array}{cccc}L_{1} \\ L_{2}\\ L_{4}\end{array}\right]\\ \end{array} \tag{22}\]  
where  
\[\begin{array}{l}C_{1}=h(b-b_{1}),C_{2}=h(b-b_{2}),C_{3}=h(b_{3}-b),C_{4}=h( b_{4}-b)\\ L_{1}=h(l-l_{1}),L_{2}=h(l-l_{2}),L_{3}=h(l_{3}-l),L_{4}=h(l_{4}-l)\\ \left[\begin{array}{cccc}P_{11}&P_{12}&P_{13}&P_{14}\\ P_{21}&P_{22}&P_{23}&P_{24}\\ P_{31}&P_{32}&P_{33}&P_{34}\\ P_{41}&P_{42}&P_{43}&P_{44}\end{array}\right]=\left[\begin{array}{cccc}T \text{{C}}_{11}&T\text{{C}}_{12}&T\text{{C}}_{13}&T\text{{C}}_{14}\\ T\text{{C}}_{21}&T\text{{C}}_{22}&T\text{{C}}_{23}&T\text{{C}}_{24}\\ T\text{{C}}_{31}&T\text{{C}}_{32}&T\text{{C}}_{33}&T\text{{C}}_{34}\\ T\text{{C}}_{41}&T\text{{C}}_{42}&T\text{{C}}_{43}  
We can use bilinear interpolation when the number of GIM grid points around point \(p\) is less than 16.  
Tropospheric delay interpolation is similar to inverse distance-weighted interpolation [19], and it is performed according to the relationship between the tropospheric delay value and time in the tropospheric products.