## 3 Methods
### Data Processing
#### 3.1.4 Air Temperature Time Series Adjustment  
Time series of temperature observations were manipulated through Python Pandas scripting. Raw CSV files containing temperature observations from each station were collapsed in a single _pandas_ DataFrame object. This is a two-dimensional tabular data structure with labeled axes, which uses the timestamps of collected observations as row indexes and the unique ids of the stations as column indexes. Sub-hourly observations are aggregated into hourly averages. A quick quality check of observations was performed by removing the stations for which data completeness--computed as the ratio between the number of hours in the study period with observations actually available and the total number of hours in the study period--was lower than 0.8. Hence, each considered station series contained less than 20% missing hourly observations. An additional check was performed  
\begin{table}
\begin{tabular}{c c c} \hline \hline
**Class ID** & **Class Name** & **Description** \\ \hline \multirow{3}{*}{1} & \multirow{3}{*}{Compact midrise} & Dense mix of midrise buildings (3–9 stories). \\  & & Few or no trees. Land cover mostly paved. \\  & & Stone, brick, tile, and concrete construction material. \\ \hline \multirow{3}{*}{2} & \multirow{3}{*}{Compact low-rise} & Dense mix of low-rise building (1–3 stories). \\  & & Few or no trees. Land cover mostly paved. \\  & & Stone, brick, tile, and concrete construction material. \\ \hline \multirow{3}{*}{3} & \multirow{3}{*}{Open midrise} & Open arrangement of midrise buildings (3–9 stories). \\  & & Abundance of pervious land cover (low plants, scattered trees). \\  & & Concrete, steel, stone, and glass construction materials. \\ \hline \multirow{3}{*}{4} & \multirow{3}{*}{Open low-rise} & Open arrangement of low-rise buildings (1–3 stories). \\  & & Abundance of pervious land cover (low plants, scattered trees). \\  & & Wood, brick, stone, tile, and concrete construction materials. \\ \hline \multirow{3}{*}{5} & \multirow{3}{*}{Large low-rise} & Open arrangement of large low-rise buildings (1–3 stories). \\  & & Few or no trees. Land cover mostly paved. \\  & & Steel, concrete, metal, and stone construction materials. \\ \hline \multirow{3}{*}{6} & \multirow{3}{*}{Scattered trees} & Lightly wooded landscape of deciduous and/or evergreen trees. \\  & & Land cover mostly pervious (low plants). \\  & & Zone function is natural forest, tree cultivation, or urban park. \\ \hline \multirow{3}{*}{7} & \multirow{3}{*}{Low plants} & Featureless landscape of glass or herbaceous plants/crops. \\  & & Few or no trees. \\ \cline{1-1}  & & Zone function is natural grassland, agriculture, or urban park. \\ \hline \multirow{3}{*}{8} & \multirow{3}{*}{Water} & Large, open water bodies such as seas or lake, \\  & & or small bodies such as rivers, reservoirs, and lagoons. \\ \hline \hline \end{tabular}
\end{table}
Table 3: Local Climate Zone (LCZ) classes retained for the city of Milan: ID, Name, and Description [17].  
to remove stations having a minimum correlation coefficient--computed as the pairwise Pearson's correlation coefficient [54]--with all the other stations lower than 0.75. These two thresholds were arbitrarily selected as coarse indicators of the goodness of the time series. The values are aligned with those suggested by the Italian Institute for the Environmental Protection and Research (ISPRA) [55]. Finally, a rolling mean using a 5 h window was applied to smooth the series. This preliminary data cleaning step was useful to improve the reliability of the available data, especially the WU observations which--in contrast to the ones from ARPA--are provided without any prior quality check (Figure 4). The temperature time series resulting from these cleaning operations were considered as reference data for the correlation analysis described in the following sections.