*3.2. Methodology*

#### 3.2.1. MODIS Snow Product Cloud Removal

Due to cloud contamination, we used a noval cloud removal algorithm to obtain daily cloud-free MODIS snow products. First, a threshold of 10 (expand 100 times) was used to delineate between snow and snow-free conditions in the NDSI\_Snow\_Cover data layer [34], and the rest attributes were classified as clouds, except for inland water and ocean. Second, the conditional probability interpolation method based on a space-time cube was used to remove the clouds. In addition, snow probability of the cloud pixels was calculated by using the conditional probability of the central pixel and every neighboring pixel in a space-time cube of 5 × 5 × 5 under the same snow condition as the weight. Finally, the snow condition of pixels covered with clouds was recovered according to the snow probability [26]. The formulas are as follows:

$$P\left(\mathbb{C}\_{\mathbf{x},\mathbf{y}}|\mathcal{C}\_{\mathbf{n}}\right) = \frac{\sum 1 - ABS\left(\mathbb{C}\_{\mathbf{x},\mathbf{y},t} - \mathbb{C}\_{\mathbf{n},t'}\right)}{N\_{\mathbf{x},\mathbf{y}}} \tag{1}$$

$$P(\mathbf{x}\_{0\prime}y\_0, t\_0) = \frac{\sum P\left(\mathbb{C}\_{\mathbf{x}\_0, y\_0} \middle| \mathcal{C}\_{\mathbf{u}}\right) \times \mathcal{S}\_{\mathbf{u}}}{\sum P\left(\mathbb{C}\_{\mathbf{x}\_0, y\_0} \middle| \mathcal{C}\_{\mathbf{u}}\right) \times V\_{\mathbf{u}'}} \tag{2}$$

$$C(\mathbf{x}\_0, y\_0, t\_0) = \begin{cases} \displaystyle \text{snow}, \; P(\mathbf{x}\_0, y\_0, t\_0) \ge 0.5\\ \text{snow}, \; P(\mathbf{x}\_0, y\_0, t\_0) < 0.5 \end{cases} \tag{3}$$

Here, *<sup>P</sup>Cx*,*<sup>y</sup>Cn*is the conditional probability having the same snow condition for the central and n-th adjacent pixels in the space-time cube. *Cx*,*y*,*<sup>t</sup>* and *Cn*,*t* represent snow (*C* = 1) or snow-free (*C* = 0) conditions for days *t* and *t*, respectively. *Nx*,*<sup>y</sup>* are cloud-free

days for the central pixel and *n*-th neighboring pixels within the study time; *<sup>P</sup>*(*<sup>x</sup>*0, *y*0, *<sup>t</sup>*0) is the snow probability of the cloud gaps. *Sn* means that the n-th pixel has snow (*Sn* = 1) or is snow-free (*Sn* = 0); *Vn* indicates whether the *n*-th pixel is cloudless ( *Vn* = 1) or covered by clouds ( *Vn* = 0); and *<sup>C</sup>*(*<sup>x</sup>*0, *y*0, *<sup>t</sup>*0) is the snow condition.

#### 3.2.2. Snow Phenology Calculation

Snow phenology mainly includes snow cover days (SCD), snow cover onset dates (SCOD) and snow cover end dates (SCED). In this study, daily cloud-free snow products were obtained through cloud removal algorithm above, and snow phenological parameters in hydrological year, which was defined from 1 September to 31 August of the following year, were calculated pixel by pixel. The SCD was the total days when a pixel is snow in a hydrological year. The SCOD was the first day when pixel was covered with snow lasting at least five days for the first time, and SCED was the last day of at least 5 days of continuous snow. This avoided the influence of instantaneous snowfall [10,16,35].

#### 3.2.3. Cloud-Free Snow Product Accuracy Assessment

Currently, station data from meteorological observatories are usually regarded as "truth" data and used to evaluate the cloud removal accuracy. The accuracy assessment metrics include overall accuracy (*OA*), underestimation error (*UE*) and overestimation error (*OE*) based on the confusion matrix (Table 2), which are defined as follows:

$$OA = \frac{a+d}{a+b+c+d} \tag{4}$$

$$dIE = \frac{b}{a+b+c+d} \tag{5}$$

$$OE = \frac{c}{a+b+c+d} \tag{6}$$

**Table 2.** Confusion matrix.


The definitions of *a*, *b*, *c* and *d* are given in Table 2. *OA* represents the proportion that pixels are consistent with the truth and MODIS classification; *UE* is the proportion that pixels are snow-free in MODIS, but the corresponding pixels in the truth are covered with snow; and *OE* refers to the proportion that pixels are covered with snow in MODIS, but the corresponding pixels in the truth are snow-free.
