## 2 Methods and Data
\[U(z)=\frac{u_{*}}{\kappa}\left(\ln\left(\frac{z}{z_{0}}\right)+C_{U1}\left( \frac{z}{H}\right)+C_{U2}\left(\frac{z}{H}\right)^{2}+C_{U3}\left(\frac{z}{H} \right)^{3}+C_{U4}\left(\frac{z}{H}\right)^{4}\right), \tag{1}\]  
\[k(z)={u_{*}}^{2}\left(C_{U1}+C_{k2}\left(1-\frac{z}{H}\right)^{2}+C_{k3}\left( 1-\frac{z}{H}\right)^{4}+C_{k4}\left(1-\frac{z}{H}\right)^{6}\right), \tag{2}\]  
\[\omega(z)=\frac{k(z)}{\kappa u_{*}z}\left(1+(1+C_{U1})\left(\frac{z}{H} \right)+(1+C_{U1}+2C_{U2})\left(\frac{z}{H}\right)^{2}+(1+C_{U1}+2C_{U2}+3C_{ U3})\left(\frac{z}{H}\right)^{3}\right). \tag{3}\]  
where \(z\), \(H\), and \(\kappa\) are height above the ground, total domain height, and the von Karman constant (=0.4), respectively. The coefficients (\(C_{U}\) and \(C_{k}\)) used in Equations (1)-(3) are calculated by semi-analytical and CFD methods [33]. For more details about the pressure-driven ABL, setting up the boundary conditions and the resulting horizontally homogenous computational domain, see [33; 41]. The steady RANS equations are solved with the CFD code ANSYS CFX 18.2 [42] using a finite volume method. Both the advection and turbulence terms of the governing equations are discretised using a high-resolution discretisation scheme. It should be noted that the profiles in Figure 4 are only shown up to 140 m above the ground for a better visualisation of variables close to the ground. An example of the full \(k\) profile extending to the top of the computational domain is shown in Figure 4b. The CFD results obtained by solving the RANS equations present the mean flow variables. However, knowing the values of gust wind speeds is of particular importance when studying wind hazards. Thus, to obtain the gust wind speeds (\(U_{gust}\), Equation (6)), the standard deviation (\(\sigma_{u}\), Equation (5)) needs to be approximated using the mean wind speed and turbulent kinetic energy. [PERSON] [43] demonstrates that the mean velocity and  
Figure 4: Inlet profiles for the CFD simulation: (**a**) mean speed; (**b**) turbulent kinetic energy; (**c**) turbulent eddy frequency. The smaller graph in the top right of (**b**) shows the \(k\) profile extending to the top of the domain. the turbulent kinetic energy obtained from the RANS equations can be utilised to estimate a modified mean wind speed (\(\overline{W_{e}}\), Equation (4)) and \(\sigma_{u}\). \[\overline{W_{e}}=\left\{ \begin{array}{ccc}\overline{U}-0.036k^{0.5}+0.797 \frac{k}{U}-0.179\frac{k^{1.5}}{U^{2}}&if&\frac{k^{0.5}}{U}<1.592\\ 0.287\overline{U}+1.226k^{0.5}&if&\frac{k^{0.5}}{U}\geq 1.592\end{array} \right. \tag{4}\]  
\[\sigma_{u}=\overline{U}^{2}-\overline{W_{e}}^{2}+2k. \tag{5}\]  
Using the standard deviation and mean speed values, and assuming that the wind velocity has a Gaussian probability distribution, the gust wind speed can be approximated by Equation (6) [44],  
\[U_{gust}=\overline{W_{e}}+\text{g}\sigma_{u}, \tag{6}\]  
where g is a peak factor, whose value depends on the effective gust duration and often ranges from 3 (high gust duration, e.g., 3 s) to 3.4 (low gust duration, e.g., 0.2 s) [45]. For the validation of NWP estimates of mean and gust wind speeds against observation data, three statistical scores, namely Pearson's correlation, mean bias, and root mean square error (RMSE), are calculated. These are defined as,  
\[\text{Correlation}=\frac{cov(X,Y)}{\sqrt{var(X).~{}var(Y)}}, \tag{7}\]  
\[Mean~{}\text{Bias}=\frac{\sum_{t=1}^{T}(\hat{w}_{t}-w_{t})}{T}, \tag{8}\]  
\[RMSE=\sqrt{\frac{\sum_{t=1}^{T}(\hat{w}_{t}-w_{t})^{2}}{T}}, \tag{9}\]  
respectively, where \(\hat{w}_{t}\), \(w_{t}\) and \(T\) are the estimated wind, observed wind, and number of data points, respectively.