## 2 Materials and Methods
### Methodology of Analysis  
The findings of this paper are based on a large data set of measurements recorded between the 30 November 2019 and the 27 October 2020. Several technical issues, including system resets and line-of-sight blockages due to maritime traffic, did not allow for continuous measurements. Additional data cleaning before analysis reduced the data points to a total amount of 144,803. Both sensors internal clocks were synchronized and the measurements were taken at one-minute intervals. The input data obtained from the WS-2000 station into a xlsx file format. Data were screened, and redundant recorded data were excluded to settle on a clean dataset of eight columns, including wind speed in m/s, air temperature in K degrees, dew point in \({}^{\circ}\)C, relative humidity (%), air-sea temperature difference in \({}^{\circ}\)C, solar flux in W\(\cdot\)m\({}^{-2}\) and relative pressure in mbar. An additional column was added to include the water temperature from the online database. Each data row was then compounded with the respective output value of RSSI for the same date/time. Therefore, a single user-friendly file was compiled for further process and analysis. Any measurements with missing or non-physical values were excluded. For example, the heavy  
Figure 1: The MRV TS5000/155 model FSO system in HNA (**left**), the maritime FSO link propagation path (**center**) and the FSO terminal on the lighthouse of Psitalia Island (**right**). maritime vessel traffic entering or leaving the Piraeus port caused many of the RSSI values to not be accurate. After collecting, compiling and cleaning the data set, the machine learning process was initiated. The first step was to take the set of all observations and divide it randomly into two subsets. The first subset was used to train the model. The second subset was used to test the model once it had been trained. This second dataset is referred to as the test subset. The objective is to estimate the performance of the machine-learning model on new data (i.e., data not used to train the model). There is not an optimal percentage in which to split the data set; rather, it is required to account for the computational cost to train and test the model as well as an adequate representativeness in the two subsets. We choose to follow a split of 80% for training and 20% for the testing subset of our models, except for ANN, where a 70/15/15 scheme was selected, counting for the validation subset too. Specific performance measures should be used in order to measure how well the models performed relative to each other on predicting RSSI values based on unseen meteorological parameters. Among many existing measures, we selected to apply the RMSE, which represents the square root of the variance and the coefficient of determination, R\({}^{2}\). Lower values for RMSE and higher values for R\({}^{2}\) are indicative of a better predictive performance per machine learning approach. The RMSE is defined as,  
\[\text{RMSE}=\sqrt{\frac{\sum_{i=1}^{N}(x_{i}-\hat{x}_{i})^{2}}{N}} \tag{2}\]  
where \(N\) is the total number of observations, \(x_{i}\) is the \(i\)-th actual RSSI observation, while \(\hat{x}_{i}\) stands for the \(i\)-th predicted one. The R\({}^{2}\) metric has the form,  
\[\text{R}^{2}=1-\frac{SS_{\text{res}}}{SS_{\text{tot}}} \tag{3}\]  
where \(SS_{\text{res}}\) defined as \(\sum_{i=1}^{N}(x_{i}-\hat{x}_{i})^{2}\), and \(SS_{\text{tot}}\) as \(\sum_{i=1}^{N}(x_{i}-\overline{x_{i}})^{2}\), where \(\overline{x_{i}}\) represents the mean value of the RSSI observations. [PERSON] et al., in a previous work [28] developed a mathematical formula to relate the RSSI with the atmospheric parameters in terms of a second-order polynomial to numerically evaluate their analogy. The resulting regression model is given as,  
\[ \begin{array}{ll}\text{RSSI}=112100.8&+21.4P-0.01P^{2}-878.1T+1.57T^{2}+10. 47 RH\\ &-0.066 RH^{2}-19.83 DP+0.52 DP^{2}-0.62 WS-0.09 WS^{2}\\ &+0.125F-0.0001 SF^{2}-7.8 ASTD-2.3 ASTD^{2}\end{array}