# Evaluation of Forward Models for GNSS Radio Occultation Data Processing and Assimilation
## 2 Experiments
### Experiment 2: Evaluation of Errors of FMs on the Fixed Model Level  
Experiment 2 explores how much bias was introduced from transforming the analyses' refractivity to the BA. As shown in Figure 2, FY3D refractivity profiles were first linearly interpolated into a resolution of 20 m and then transformed to the BA as the true value. These interpolated refractivity profiles were then filtered to remove the small-scale chaos less than the model grid interval of analyses such as 137 levels of ECMWF 4 dvar, 31 levels of FNL, and 37 levels of ERA5 via the low pass filter. Their intervals are shown in Figure A3 source not found. in Appendix B. Subsequently, the refractivity profiles were linearly interpolated onto model grids and then transformed to the BA as the experimental value. Finally, obeying the nearest principle, the nearest true value level to the experimental value was selected to evaluate the experimental value. Note that the FM used in this experiment was the most accurate one with its experimental value being the nearest to the true value. In addition, considering computation efficiency [28], we chose two interpolation methods, namely log-spine cubic and log-linear.  
Figure 1: Flow chart for experiment 1, the algorithm comparison.  
Finally, the low pass filter must be mentioned here. Interpolation from a high resolution (20 m) to a low resolution (model levels) requires a filter, or it will induce representativeness errors [32]. For this purpose, we applied the Savitzky-Golay low-pass filter [33]. In general, the data are filtered with a window of \(2\delta z\) or \(4\delta z\) (\(3\delta z\) typically results in instability [34]). In this study, \(2\delta z\) is set. The next problem we encountered was that intervals of model levels increasing with height. To fix it, on the basis of [28], we divided the intervals into three groups: below the height of 0-20 km, 20-40 km, and above the height of 40-60 km. A window of twice the average interval of each group, \(2\delta\bar{z}_{i}\), was applied to filter the whole profile; thus, we had three filtered refractivity profiles, \(N1\), \(N2\), and \(N3\). To merge them smoothly at the transition point (20 km and 40 km), we used a transition function, \(w(z)\), which is changed linearly from 1 to 0, as shown in the left subfigure in Figure 2. The refractivity profiles at the transition point are expressed as  
\[\begin{split} N_{10t\alpha 30}&=\tfrac{1}{2}[w_{1}(z) \times N_{1}+(1-w_{2}(z))\times N_{2}]\\ N_{30t\sigma 50}&=\tfrac{1}{2}[w_{2}(z)\times N_{2}+(1-w _{3}(z))\times N_{3}]\end{split} \tag{3}\]  
where \(w_{i}(z)\) is the transition function to \(N_{i}\) (\(i\) = 1, 2, 3), and \(z\) is the height. \(N_{0t\alpha 10}\) and \(N_{50t\alpha 60}\) were filtered by the filter window themselves. The combination of those slices by height was the terminal profiles.  
Furthermore, the following details were considered in this experiment. First, to improve simulation accuracy and reduce the interpolation error, we selected 20 m, instead of 100 m, as the resolution for FY3D to simulate the analysis. Second, the analysis model level was simulated, and those levels were transformed into MSL height for convenience. Third, the true value was refractivity instead of BA. The true value also passed the same Abel transform as the forward-modeled BA in the analysis.