## 2 Materials and Methods
### Data
#### 2.1.1 GK2A Fog Product  
The GK2A satellite, a geostationary meteorological satellite launched in December 2018, is equipped with the AMI, which includes 16 channels covering visible, near-infrared, \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Data** & **Variables [Unit]** & \
\begin{tabular}{c} **Spatial** \\ **Resolution** \\ \end{tabular} &
\begin{tabular}{c} **Temporal** \\ **Resolution** \\ \end{tabular} & **Remarks** \\ \hline GK2A Fog & Fog, cloud, clear, etc. & 2 km & 10 min & \\ Land sea mask & Land, sea, coast & 2 km & - & \\ Visibility Meter & Visibility [m] & - & 1 min & \\  & Relative humidity [\%], & & & \\ ASOS/AWS & temperature [\({}^{\circ}\)C], & - & 1 min & Case study \\  & wind speed [m s\({}^{-1}\)] & & & \\ Ceilometer & Low cloud base height [m] & 10 m * & 10 min & Case study \\ GK2A Cloud Product & Cloud top height [m] & 2 km & 10 min & Case study \\ \hline \hline \end{tabular}  
* Vertical resolution.  
\end{table} 
Table 1: Data used in the evaluation of the GK2A fog detection algorithm. Figure 1: The spatial distribution of 176 visibility meter locations was used for the evaluation of the GK2A fog product. A total of 124 visibility meters in the inland area are represented by blue circles, and 52 visibility meters in the coastal area are represented by red circles based on the GK2A fog land-sea mask. and infrared wavelengths. The GK2A_FDA utilizes full-disk observations at 10 min intervals, from which the Korean Peninsula domain is extracted. Inputs include radiance from 8 channels, such as the 0.64 \(\upmu\)m visible reflectance, 3.8 \(\upmu\)m shortwave infrared, and 11.2 \(\upmu\)m infrared window brightness temperatures (BT), as well as auxiliary variables such as solar zenith angle (SZA), clear-sky radiance (CSR) at 11.2 \(\upmu\)m, land-sea mask data, and prior fog detection results [20; 28]. As illustrated in Figure 2, the algorithm comprises nine sub-algorithms and a post-processing step structured by geographic region and time of day. Each sub-algorithm is implemented using a decision tree method. Inland and coastal pixels are classified into three categories (daytime, twilight, and nighttime) based on SZA. Figure 2: A simplified data flow chart of the GK2A_FDA (see [PERSON] et al. [28] for details). BTD: brightness temperature difference; DCD: dual channel difference; NLSD: normalized local standard deviation; \(\Delta\)FTs: difference between the brightness temperature (BT) of the fog top and the surface temperature (CSR_BT112,\(\upmu\)m\(-\)BT112,\(\upmu\)m), where CSR_BT112,\(\upmu\)m is the clear-sky radiance brightness temperature at 11.2 \(\upmu\)m); \(\Delta\)VIS0.64\(\upmu\)m: the difference between normalized 0.64 \(\upmu\)m reflectance and its surface reflectance background at 0.64 \(\upmu\)m.  
For daytime pixels, twelve sequential tests are conducted. These include the difference between normalized 0.64 \(\upmu\)m reflectance and its surface reflectance background at 0.64 \(\upmu\)m (\(\Delta\)VIS\({}_{0.64\upmu\text{m}}\)); the fog-top to modeled surface temperature difference, calculated as CSR_BT11.2 \(\upmu\)m\(-\)BT11.2 \(\upmu\)m (\(\Delta\)FTs); the normalized local standard deviation (NLSD) applied for texture analysis to differentiate fog from both clouds and cloud edges; and the normalized difference snow index (NDSI). Furthermore, a fog lifecycle constraint is applied for SZA \(\leq\) 60\({}^{\circ}\) to prevent new fog detections, based on comparisons with the previous time step. In inland areas, stricter thresholds for \(\Delta\)VIS, \(\Delta\)FTs, and NLSD 0.64 \(\upmu\)m are applied to improve discrimination between fog and low stratus clouds. At night, the algorithm applies five decision rules. These include the dual-channel brightness temperature difference (DCD = BT3.8 \(\upmu\)mBT11.2 \(\upmu\)m), AFTs, and the local standard deviation at 11.2 \(\upmu\)m (LSD11.2 \(\upmu\)m). To minimize temporal discontinuities, the algorithm also incorporates the previous fog detection results for the twilight period.