1 Introduction

In atmospheric studies of dispersion as well as wind-turbine wakes, meandering is important. It has been consistently suggested that meandering contributes to the overall wind-direction \(\theta \) change through larger-scale and slow motion. Meandering generally refers to “oscillation of the wind direction back and forth” (Mahrt 2007), and it was observed to be independent of local parameters (Vickers and Mahrt 2007). Anfossi et al. (2005) used observations to study flow characteristics and found that meandering is associated with slow mesoscale motions. Cava et al. (2019) observed that, in the Antarctic stable boundary layer, mesoscale meandering can contribute to the sharp wind-direction changes at low wind speed. In Larsen et al. (2007), the wake-meandering model assumes that the transport of wakes in the atmospheric boundary layer can be modelled by considering wakes as passive tracers driven by large-scale turbulence structures. In Mikkelsen et al. (2007), dispersion at the mesoscale is modelled using the longitudinal velocity component.

In predicting the dispersion of pollutants, Davies and Thomson (1999) combined two components to calculate directional variations: one is local, described through boundary-layer similarity theories, and the other one is for a large scale and is a simple function of the wind speed and averaging time. This second component fits the meandering concept and was empirically derived from observations. With a similar concept but different and more straightforward approach to Davies and Thomson (1999), we use power spectra of the lateral velocity component, thus covering both the mesoscale and microscale.

Conventionally, typical atmospheric surface-layer-turbulence models for the longitudinal and lateral velocity components, u and v, are used to obtain the variation of the velocity. Such models include the Kaimal model (Kaimal and Finnigan 1994), the Mann model (Mann 1994), and the Mikkelsen–Tchen model (Mikkelsen et al. 2017), which are only valid for frequencies f higher than the spectral gap, corresponding to temporal scales \(< 1\) h.

With the development of wind energy, wind farms are growing in size. Modern offshore wind farms extend over tens of kilometres and the wind-farm clusters are several times more extensive. For instance, one farm cluster in the German Bight, as shown in Badger et al. (2020), is currently 2767 \(\hbox {km}^2\), and will soon expand to 7240 \(\hbox {km}^2\); the Hornsea area in the North Sea contains three wind farms and covers 4730 \(\hbox {km}^2\). The actual geographic area, which is more relevant to the flow calculation, is even larger and can be more than 100 km in certain directions.Footnote 1 At a typical wind speed of \(10\ \hbox {m s}^{-1}\), these farm sizes correspond to a temporal scale of several hours. Such a scale is not considered by the above-mentioned surface-layer-turbulence models.

As the streamwise velocity component u varies similarly to the wind speed, the resultant of the longitudinal u and the lateral v components, its spectral behaviour over a wide range is relatively well known and discussed (Petersen 1975; Gage and Nastrom 1985; Lindborg 1999; Mikkelsen et al. 2007; Larsén et al. 2013). On the contrary, little is known or applied regarding the v spectrum at frequencies lower than the spectral gap. This is mostly due to the difficulties in identifying stationary time series of long enough duration to have the u and v components decomposed at frequencies much lower than the spectral gap, for example, \(5 \times 10^{-5}\ \hbox {Hz}\) (approximately 5 h). The “stationarity hypothesis” is in general used in boundary-layer studies for scales smaller than the spectral gap. In Larsén et al. (2016) (hereinafter L2016) and Larsén et al. (2019b), wind-speed time series from an entire year were considered stationary with the argument that, in the power spectrum, the spectrum S(f) levels off with f towards low frequencies of 1 \(\hbox {year}^{-1}\), fulfilling the stationary criterion that an upper time scale should exist. Moreover, in L2016, in connection with the decomposition of the velocity, additional criteria were forced requiring a directional change during a period less than a given value. This concept is applied here too, so that “a stationary time series” means during the period of the time series (here from 1 h to several days), and a wind-direction fluctuation is smaller than a given threshold \(\delta _\theta \).

Though few, there have been studies addressing the v spectrum at lower frequencies. Larsen et al. (1990) used 16-Hz data and chose 11 periods of stable conditions for the spectral analysis of both the u and v velocity components between 8 and 20 h in duration, covering a frequency range between about \(10^{-4}\ \hbox {Hz}\) and 0.5 Hz. For the mesoscale range \(10^{-4}<f<10^{-3}\ \hbox {Hz}\), these 11 cases suggest that the spectral slopes of the components of u and v are similar, roughly equal to \(-2/3\) for the logarithmic spectrum of fS(f) versus logarithmic f, though the spectral energy of the longitudinal component u is on average larger than that of the lateral component v. Larsén et al. (2013) decomposed a number of years of 10-min velocity time series into u and v components, from two marine stations with a duration of one day, finding that, for 1 \(\hbox {day}^{-1}<f<10^{-3}\ \hbox {Hz}\), the correlation of the horizontal velocity components u and v is around zero. The relations between the longitudinal and lateral spectra \(S_u\) and \(S_v\) have been found to vary for different frequency ranges and can be summarized briefly as

  • mesoscale, 1 \(\hbox {day}^{-1}<f< 2 \times 10^{-4}\ \hbox {Hz}\), \(S_v/S_u \approx 1\)

  • gap region, \(2 \times 10^{-4}<f< 10^{-3}\ \hbox {Hz}\), \(S_v/S_u < 1\)

  • low-frequency region, \(10^{-3}\ \hbox {Hz}\) \(< f <f_p\), \(S_v/S_u < 1\)

  • inertial subrange, \( 10^{-1}<f< 20\ \hbox {Hz}\), \(S_v/S_u > 1\),

where \(f_p\) is the peak frequency. Larsén et al. (2013) show that, for the mesoscale, the ratio \(S_v/S_u\) fluctuates around unity, consistent with the assumption of isotropic two-dimensional turbulence. Both Larsén et al. (2013) and Larsen et al. (1990) found that \(S_v/S_u \approx 0.8\) in the gap region, which is a value \(<1\). Such a value was explained by L2016 to be a result of the effect of three-dimensional boundary-layer turbulence. They used 20-Hz sonic-anemometer observations of 1-day duration, and analyzed the u and v components from 98 stationary days from the year 2012 and 2013 at the Høvsøre site. Their spectra of the u and v components at 80 m above ground level are reproduced in Fig. 1a and b, as well as in Fig. 2a and b. The analysis in L2016 suggests the gap region is a transition between the two-dimensional large-scale velocity fluctuation and three-dimensional boundary-layer turbulence. For three-dimensional boundary-layer turbulence, when the frequency \(f < f_p\), the spectrum \(S_v \ll S_u\) (see, e.g., Fig. 2a). The superposition of the meso and three-dimensional velocity fluctuations gives the ratio \(S_v/S_u <1\) over the gap region. The concept of mesoscale and microscale superposition was applied in Cheynet et al. (2018) to describe the v spectrum from the FINO1 platformFootnote 2 for frequencies as low as \(1\ \hbox {h}^{-1}\). The above findings are qualitative, and there are no models of the longitudinal u-component variability for the gap region and at lower frequencies.

Apart from the analysis of observations, mesoscale numerical models such as the Weather Research and Forecasting (WRF) model have also been investigated for their ability to capture the variability of the lateral component v, such as in Belusic and Güttler (2010) who used a spatial resolution of 300 m, which is of very high resolution for a mesoscale model and in the limit of the applicability of such a model. Using 1-min temporal resolution time series with a 1-h data duration during low wind speeds on the night 18/19 October 1999, Belusic and Güttler (2010) found that the standard set-up of the WRF model is not able to capture the variability of the v component at corresponding scales, due to strong horizontal diffusion inherent in the model (Skamarock 2004; Larsén et al. 2012). They also found that the simulation of the variability is improved once the diffusion function is removed or reduced. Even though this finding is encouraging, it only resolves scales larger than about seven times the spatial resolution of 300 m (Skamarock 2004). Also, it should be pointed out that this is one rather simple case over flat, grassy terrain, where the diffusion function is not crucial for mesoscale modelling. Generally, the diffusion function is required to ensure numerical stability. Apart from the numerical challenges, an effective resolution of a couple of kilometres is not fine enough to resolve the flow variability for the spectral-gap region.

Fig. 1
figure 1

The spectra of the longitudinal u (a) and lateral v (b) velocity components at 80 m above ground level from the 98-stationary-day case from Høvsøre Fig. 10 in L2016 (blue). The green curves are the mesoscale model according to Eq. 5, the black dotted curve for frequency \(f<f_p\) is a constant of the spectrum S(f) borrowing the shape of the Kaimal model, and for \(f>f_p\) it is from observations (obs). The red curves are the sum of the green and the black curves

Fig. 2
figure 2

a Mikkelsen–Tchen model and b Kaimal model for u and v components with respect to the observed spectra (obs) for the 98-stationary-day case at 80 m, and c, for the frequency range 0.1 to 1 Hz, where the ratio \(S_v(f)/S_u(f)\) is shown for observations (dots), the Mikkelsen–Tchen model (red), and the Kaimal model (black)

We propose a spectral model for the v component covering the scale from days to the inertial subrange (Sect. 3). In order to clarify how well the spectral model accounts for the large directional variability found at large scales, a Fourier technique is applied to transform the spectral models into time series (Sect. 4.1). Then the time series are used to calculate directional variability to be compared with observations (Sect. 4.2). The observations are briefly presented in the next section, while discussions and conclusions follow in Sects. 5 and 6, respectively.

2 Observations

2.1 The Sites

We consider observations from two Danish test stations, Høvsøre and Østerild, for large wind turbines.

Høvsøre is a coastal land-based site about 1.7 km from the west coast of Denmark. Details about this site can be found in Peña et al. (2016). Both standard meteorological and turbulence observations at multiple heights from 10 m to 100 m have been reported in L2016. Observations from 2012 and 2013 were systematically examined in L2016, where data at 10 m, 20 m, 80 m, and 100 m were analyzed due to their relatively better data availability and quality, though the 100-m height has much less usable data compared with at 80 m. Here, we use primarily observations at 80 m, since it is a relevant height regarding a typical modern turbine-hub height. Observations from the surface layer, here 10 m, are also used as a reference for the 80-m observations.

The Østerild site provides both standard meteorological and turbulence observations from 7 m to 241 m. The southern mast from the site, as used here, is surrounded by a variety of topographic features. To the south is a shallow fjord, to the far north and west is the North Sea, and there is land to the east. Nearby the mast are forests with a mean tree height of about 30 m, which expectably influence the turbulence observations, particularly at lower heights. Sonic-anemometer observations are available at 7 m, 37 m, 103 m, 175 m, and 241 m. The quality of the observations from 2015 to 2016 was examined in Larsén et al. (2019b), where a map of this site was also presented. Here, we extend the dataset to 2019.

The calculation of the u and v spectra from both sites is based on groups of data that satisfy stationary conditions as identified by the duration of the time series T, the temporal resolution of the time series, and the wind-direction-fluctuation threshold \(\delta _\theta \). Following the definition given above, here a stationary case is identified if, during a given duration T, the direction fluctuation \(<\delta _\theta \).

For Høvsøre, we continue using the group of stationary data identified in L2016 from which the spectra of the u and v components were already calculated (see their Fig. 10). For these data, \(T=1\) day, the data resolution is 20 Hz, and \(\delta _\theta =50 ^{\circ }\). There are 98 days from 2012 and 2013, which we denote the 98-stationary-day case. The spectra of v from these 98 days is the base for our derivation of the v spectrum for general use (Sect. 3.1).

At Østerild, we identify stationary days from four years of observations (2015 to 2019) from the southern mast. In order to avoid heavy computation of four years of 24-Hz sonic data as for the Høvsøre data, we use the 10-min data by requiring a maximum and minimum direction difference less than \(30^{\circ }\) per day. It is not crucial which of the two methods is used to identify the stationary cases, since the purpose is to use this group of data to evaluate the combined mesoscale and boundary-layer model, originally established on the basis of the Høvsøre data. Moreover, using this criterion on the Høvsøre 2012 and 2013 data would give us a very similar selection of stationary days to the 98-stationary-day case. Accordingly, for Østerild, there are 144 stationary days identified. Spectra of u and v from these 144 days are calculated from the sonic data of length 1 day. Applying the same approach as in L2016, we decompose the velocity into the longitudinal u and the lateral v components from the one-day time series, from which the mean wind direction is calculated. Then, for each 20-Hz data, the velocity is rotated into the mean wind direction, such that a lateral v component of zero mean is obtained.

In connection with the application of the boundary-layer spectrum models (see Sect. 3), the roughness length \(z_0\) is estimated to calculate the friction velocity \(u_*\) through \(u_*=(\kappa U/\ln (z/z_0))\), where \(\kappa \) is the von Kármán constant, z is the height, and U is the mean wind speed. In experimental boundary-layer studies, often the value of \(z_0\) can be obtained through Monin−Obukhov similarity theory using times series of 10-min or 1-h duration from the surface layer representing homogeneous and stationary conditions. This method becomes challenging for the two sites used here because of the heterogeneity of the surface conditions. To take the surface heterogeneity into consideration for wind-energy-siting assessment, in the European Wind Atlas (Troen and Petersen 1989), an “area-weighted roughness length” is calculated from fetch-related surface-roughness categories from a number of sectors, which requires detailed surface data. To obtain an estimate of the roughness length \(z_0\) that corresponds to the overall upstream fetch effect, it is an efficient approach to tune the value so that the modelled spectrum fits the measured one in the inertial-dissipation subrange, corresponding to the so-called inertial-dissipation method for estimating surface fluxes (Fairall and Larsen 1986). The above-mentioned methods share the common principle and the estimates should be consistent and comparable.

Observations from the sonic anemometers enable us to use the spectrum-fitting or inertial-dissipation method to estimate the value of \(z_0\), which is applied to the 98-stationary-day case to derive the v-spectrum model. Here we choose the value by fitting the Mikkelsen–Tchen and the Kaimal models to the spectra in the inertial subrange. Using \(z_0=0.03\) m gives a good fit as seen for the frequency range \(f>0.05\ \hbox {Hz}\) in Fig. 2a and b. This model is then applied to the climatological flow statistics at Høvsøre (for the year 2012), giving \(z_0=0.012\) m, which is a value agreeing with the calculation using a similarity method as reported in Floors et al. (2016). The different \(z_0\) values for the two datasets are caused by the fact that the upstream fetches at this height are different for this long-term continuous dataset from the 98-stationary-day case, which accordingly affects the estimation of the overall roughness length. When evaluating the v-spectrum models using observations from multiple levels at Østerild, fitting the Mikkelsen–Tchen spectrum provides different effective roughness lengths for different heights, as shown in Table 1.

Table 1 Values of \(z_0\), \(A_u\), and \(A_v\) used in the Mikkelsen–Tchen model for the spectra at four heights at Østerild shown in Fig. 6

2.2 Stationary Cases in the Measured Time Series

From the observations, we calculated the direction distribution to be compared with the statistics of the lateral velocity component calculated from the simulated time series using the spectral models in Sect. 4.2.

The direction statistics are obtained with the stationary case. First, we use 10-min observation time series at 80 m from Høvsøre 2012 to identify the stationary cases for seven values of T ranging between 1 h to 10 days, and three values of \(\delta _\theta \): \(15^{\circ }\), \(30^{\circ }\), and \(60^{\circ }\). For each pair of T and \(\delta _\theta \) values, the probability of stationary cases is calculated and shown in Fig. 3 for \(T\le 1\) day, illustrating that, for \(\delta _\theta =30^{\circ }\) (the blue curve) and \(T=1\) h, 90% of the cases are stationary. The percentage of stationary cases decreases to 70% when \(T=3\) h is used, and decreases to 50% at \(T=6\) h. The larger the duration, the larger the chance there is of a significant wind-direction fluctuation. At \(T=24\) h, the directional change \(\delta _\theta <30^{\circ }\) is for only about 12% of the time, which gives about 44 stationary days a year. This occurrence rate is comparable to the 98 stationary days identified from Høvsøre from 2012 and 2013, and 144 days from approximately 4 years of data from Østerild, which is slightly lower. The number of stationary days is significantly less if we use \(\delta _\theta =15^{\circ }\).

Figure  3 also includes one year of 10-min time series from another site, Østerild, and 6 years of data from Høvsøre, illustrating the very close agreement to the one-year data from Høvsøre, supporting the claim that the statistics from Høvsøre in 2012 are climatologically representative.

Fig. 3
figure 3

Demonstration of the climatological representativeness of the one-year data through distributions of the percentage of stationary days. The stationary days are defined according to the criterion of the largest difference in wind direction \(\delta _{\theta }\) in the duration \(T= 1 - 24\) hours: \(15^{\circ }\), \(30^{\circ }\), and 60\(^{\circ }\). Data include: 10-min time series of wind direction from 2012, 80 m at Høvsøre; one-year data from Østerild at 100 m from May 2015 to April 2016; six years of data from 2012 to 2017 for \(\delta _{\theta }=30^{\circ }\)

3 The Boundary-Layer Spectral Models

Typical boundary-layer models exist for both the longitudinal and lateral velocity components u and v (Kaimal and Finnigan 1994; Mann 1994; Mikkelsen et al. 2017). Our analysis here considers the Kaimal model and the Mikkelsen–Tchen model. The Kaimal model for the u and v components is, respectively,

$$\begin{aligned} fS_u(f)= & {} \frac{51 {u_*^2} n}{(1+33 n)^{5/3}}, \end{aligned}$$
(1a)
$$\begin{aligned} fS_v(f)= & {} \frac{8.5 {u_*^2} n}{(1+9.5 n)^{5/3}}, \end{aligned}$$
(1b)

where n is the normalized frequency \(n=fz/U\).

The Mikkelsen–Tchen model for the u component is based on Tchen et al. (1985) and is given in Mikkelsen et al. (2017), while the derivation of the component v is similar, with both derivations provided in Appendix 1. The Mikkelsen–Tchen model for the u and v components is, respectively,

$$\begin{aligned} fS_u(f)= & {} \frac{0.5 a_u u_*^2 n/n_{l,u}}{(1+n/n_{l,u})(1+n/n_{u,u})^{2/3}}, \end{aligned}$$
(2a)
$$\begin{aligned} fS_v(f)= & {} \frac{0.5 a_v u_*^2 n/n_{l,v}}{(1+n/n_{l,v})(1+n/n_{u,v})^{2/3}}, \end{aligned}$$
(2b)

where \(a_u\) and \(a_v\) are coefficients related to the spectral energy level for the u and v components, respectively, with \(a_u=0.953\) and \(a_v=0.906\) based on field experiments. Here, the low-frequency-scale parameters for the two components, \(n_{l,u}=(f_cz)/(A_u u_*)\) and \(n_{l,v}=(f_cz)/(A_v u_*)\), constrain the \(+1\) slope of the dependence of fS(f) on f at the low frequencies in the log−log coordinate, and they are related to the height of the neutral boundary layer \(h=cu_*/f_c\), with \(f_c\) the Coriolis parameter and c a coefficient in the range of 0.07 to 0.3 (Seibert et al. 2000; Högström et al. 2002). In Högström et al. (2002), the coefficient for the u component \(A_u=0.6\), and we use \(A_u=4A_v=0.6\), with \(A_v=0.15\) (see Appendix 1 for discussion on these coefficients). The high-frequency-scale parameters \(n_{u,u}\) and \(n_{u,v}\) discern the transition between the shear-production subrange and the inertial subrange in the high-frequency region, with \(n_{u,u}=0.185\) and \(n_{u,v}=0.283\).

3.1 The Meso-Boundary-Layer Model at Høvsøre

Figure 2a and b presents the spectra of u and v compoments at 80 m from the 98-stationary-day case together with the Mikkelsen–Tchen and Kaimal models. Here, the mean wind speed of the 98 days \(U_0=U_{80m}=10.5\) m s\(^{-1}\) is used together with a roughness length \(z_0=0.03\) m. The ratio \(S_v/S_u\) from both models is compared with that from observations in Fig. 2c for the range \(0.1<f<1\ \hbox {Hz}\), where the agreement is good, with the Kaimal model giving slightly higher values, and the Mikkelsen–Tchen model giving slightly lower values. Both the measured and modelled ratios are slightly smaller than the theoretical value of 4/3, as a result of our calibration of the models to the observations. Noticeably, the Kaimal model, as expected, overestimates the spectral power at 80 m at lower frequencies around the peak \(f_p\) for both the u and v spectra (Fig. 2b), where the Mikkelsen–Tchen model performs better (Fig. 2a). Hereafter, we primarily show the results using the Mikkelsen–Tchen model.

To include the large-scale variability for the u component, we use the approach developed in L2016 and applied in Larsén et al. (2019a) to superimpose the mesoscale and microscale boundary-layer spectra. Thus, together with the Kaimal model, the meso-boundary-layer model

$$\begin{aligned} fS_u(f)= & {} \frac{51 {u_*^2} n}{(1+33 n)^{5/3}}+fS_{lu}(f), \end{aligned}$$
(3)

when combined with the Mikkelsen–Tchen model, gives the meso-boundary-layer model as

$$\begin{aligned} fS_u(f)= & {} \frac{0.5 a_u u_*^2 n/n_{lu}}{(1+n/n_{lu})(1+n/n_u)^{2/3}}+fS_{lu}(f). \end{aligned}$$
(4)

The expression for \(fS_{lu}(f)\) follows Larsén et al. (2013) for the range (5 day)\(^{-1}<f<10^{-3}\ \hbox {Hz}\),

$$\begin{aligned} fS_{lu}(f)=a_1 f^{-2/3}+a_2 f^{-2}, \end{aligned}$$
(5)

where \(a_1=3 \times 10^{-4}\ \hbox {m}^2\ \hbox {s}^{-8/3}\) and \(a_2=3 \times 10^{-11}\ \hbox {m}^2\ \hbox {s}^{-4}\) are based on offshore climatological data. The meso-boundary-layer model combining two- and three-dimensional turbulence for the u component (Eqs. 4 and 5) is shown in Fig. 4a, together with the observations.

An expression for the v spectrum analogous to Eq. 5 does not exist in the literature. Due to the different behaviour of the u and v components, adding Eq. 5 and the three-dimensional turbulence for the v component does not reproduce the observed v spectrum in the range (compare the red curves in Fig. 1a and b for the u and v components). Instead, we develop empirical expressions for the v spectra at four heights in L2016 (their Fig. 10)

$$\begin{aligned} fS_{v}(f)= & {} \mathrm{Eq}.~2 ~~\mathrm{or} ~~\mathrm{Eq}.~2 \quad \text {for} ~~f>f_1, \nonumber \\= & {} C \quad \text {for} ~~f_2\le f \le f_1, \nonumber \\= & {} a_1 f^{-2/3}+a_2 f^{-2} \quad \text {for} ~~f<f_2, \end{aligned}$$
(6)

where C is a constant for the frequency range \(f_2-f_1\), which approximately represents the gap region (see arrows in Fig. 4b). The spectral model combining two-dimensional and three-dimensional turbulence for the v component at 80 m (Eqs. 4 and 6) can be seen as the red curve in Fig. 4b, together with observations from the same height.

When observations are available, the frequencies \(f_1\) and \(f_2\) easily can be obtained by applying a few steps of loop iterations when checked by a goodness-of-fit index. In the absence of observations, data from L2016 as well as here from Østerild suggest that \(f_2=3 \times 10^{-4}\ \hbox {Hz}\) is a reasonable approximation and it is invariant with height. Extending \(C=f_2S_v(f_2)\) towards a higher frequency to match the boundary-layer model for the v component, so that \(f_2S_v(f_2)=f_1S_v(f_1)\), enables the frequency \(f_1\) to be obtained. Since the magnitude of \(S_v(f)\) at higher frequencies decreases with height, the value of \(f_1\) decreases with increasing height. This approach is straightforward to apply to individual heights.

Fig. 4
figure 4

The meso-boundary-layer model for the (a) u and (b) v components, shown together with the spectra of the 98-stationary-day case from observations (obs)

3.2 The Meso-Boundary-Layer Model at Østerild

We examine here how the meso-boundary-layer model, Eqs. 46, performs at the Østerild site, where the surface conditions are complicated and the mast height is 241 m (see Sect. 2). As introduced in Sect. 2, the u and v spectra have been calculated from 144 stationary days from four years of observations at Østerild, and are presented together for all five heights (241 m, 175 m, 103 m, 37 m, and 7 m) in Fig. 5a and b, respectively. Similar to the presentation of data at Høvsøre (Fig. 2a and b), the spectra of u and v are shown together with the corresponding hybrid models at five heights in four subplots of Fig. 6.

Figures 5 and 6 demonstrate the expected \(-2/3\) slope for \(f>f_p\) in the u and v spectra and \(S_v>S_u\). For \(f>f_p\), the u spectra decrease with height similarly to the wind speed found in the one year of data of Larsén et al. (2019b); however for \(f<f_p\), the u spectra increase from 7 m to 100 m before levelling off at higher elevations. Well above the forest height (e.g. 100 m and above), for frequencies \(f<10^{-4}\ \hbox {Hz}\), u and v spectra are similar, consistent with the idea of two-dimensional isotrophy as discussed in Larsén et al. (2013). Note that values of \(S_u\) and \(S_v\) at the lowest frequencies are associated with higher uncertainties due to the limited sample sizes. For the first two levels at 7 m (lower than the surrounding tree height) and 37 m (just above the tree height), the v variation is significantly smaller than for the u component. Particularly for 7 m, due to the shadowing effect of the forest, the overall spectral energy of the wind speed for \(f<0.08\ \hbox {Hz}\) is significantly less than at other levels, and the v spectrum is very different from the other heights. Thus the expressions described in Sect. 3.1 are only applicable for \(z \ge 37\) m.

Fig. 5
figure 5

Power spectra of the u (a) and v (b) components at five observation heights at Østerild

Fig. 6
figure 6

a-d, Power spectra of the u and v components from observations (obs) at Østerild at four heights as specified in the panels (grey solid and dashed curves, respectively). The red and blue curves are the hybrid combined meso-boundary-layer models for the u and v spectra, respectively

In order to describe the spectral plateau reasonably well, the value of \(A_v\) is manually chosen for different heights and listed in Table 1, together with the value of \(z_0\), where \(A_u=0.6\) for all heights. Obviously, for 241 m and 175 m, a larger value of \(A_u\) would extend the plateau towards lower frequencies and thus fit better to the data. Here, we do not explore the exact values of these coefficients, since the purpose is to show that the concept of the combined meso-boundary-layer model is valid − and it does show this. The application of the spectral model is shown with the observations in Fig. 6 for 241 m, 175 m, 103 m, and 37 m, respectively. The turbulence modelling is easier to apply for the relatively simple site Høvsøre, for which the standard set-up of the Mikkelsen–Tchen model is sufficient. For Østerild, the presence of a complicated landscape around the observations makes it more challenging to model the turbulence spectra at various heights, implying calibration with observations is needed.

4 Application

4.1 Simulation of Time Series

Here, we generate time series of u(t) and v(t) using the spectral models to explore the implications of these for the probability structure of the statistics of the simulated time series, as presented in the next section. The details of the generation of the time series are provided in Appendix 2.

The two kinds of spectral models for S(f) are the typical three-dimensional-turbulence microscale model in the boundary layer and the meso-boundary-layer model.

As shown with multiple years of mid-latitude observations in L2016, the full-scale wind-speed spectrum suggests a dominant spectral peak of fS(f) at \(f=\)(4–5 day)\(^{-1}\) (\(2.3 - 2.9\times 10^{-6}\ \hbox {Hz}\)). This is the scale where the autocorrelation of the 10-min-averaged wind-speed time series tends to zero, and defines the largest scale to which Eq. 5 can be applied, implying that we can simulate time series with a maximum length of 5 days. The coefficients used in the Mikkelsen–Tchen model for the 98-stationary-day case provide reasonable \(S_v/S_u\) ratios in the inertial subrange and are used to simulate the climatological u and v spectra to match the long-term statistics. The following time series, denoted time series A to C of the u and v components, are generated:

  • Time series A: 365 one-day-long time series using the three-dimensional turbulence models only (Eqs. 1 and 2), at a temporal resolution of 1 s.

  • Time series B: 365 one-day-long time series using meso-boundary-layer models (Eqs. 3 − 6), at a temporal resolution of 1 s.

  • Time series C: 73 five-day-long time series using meso-boundary-layer models (Eqs. 3 − 6), at a temporal resolution of 1 s.

First we simulated time series that match the statistics of the 98-stationary-day case from Høvsøre for 80 m. The spectra of u and v from each time series B are shown in Fig. 7a and b, respectively, with the scatter at lower frequencies resulting from the limited number of spectral estimates from each of the day-long spectra. The average values of \(fS_u(f)\) and \(fS_v(f)\) at each frequency bin (black) show good agreement with the measured spectra (blue curves).

For climatological conditions, the time series are simulated using the mean wind speed of \(9.2\ \hbox {m s}^{-1}\) at 80 m of the year 2012, and a roughness length \(z_0 = 0.012\) m. As mentioned above, for this climatological condition, the spectrum of the u component resembles that of the wind speed, meaning that the simulation can therefore be compared with observations. In Fig. 8a, the average spectra of the u component from time series B and C are plotted together with the average spectrum of the day-long wind speed from observations, where the agreement seems reasonable. While evaluation of the u spectrum can be performed with respect to the wind speed, it is however not possible for the v spectrum since the requirement of stationarity conditions for the entire dataset cannot be met. In Fig. 8b, the average spectra of the v component from time series B and C are presented together without the observations.

Fig. 7
figure 7

Simulated 365 spectra from 365 one-day-long time series B using Eq. 4 for a u spectra at 80 m and Eq. 6 for b v spectra at 80 m, following the 98-stationary-day case (grey dots). Also shown is the mean of the 365 spectra (black curves). The spectra from the observations as in Fig. 1 are shown as blue curves

Fig. 8
figure 8

Similar to the mean spectra in Fig. 7 but for climatological conditions, where a shows results calculated using the wind speed for the u component and b for the v component using the same coefficients in the Mikkelsen–Tchen model as in Fig. 7. Here, spectra from both the time series B and C are shown

4.2 Wind-Direction Statistics

Here, we use time series with a temporal resolution of 1 s to calculate the quantity \(|\theta -\overline{\theta }|\), defined as the wind-direction deviation from the mean direction during the period of T, based on both observed and simulated time series for the Høvsøre case at 80 m.

First, the quantity \(|\theta -\overline{\theta }|\) is calculated from selected cases that satisfy a stationary condition, namely the largest direction fluctuation does not exceed a given threshold, \(\delta _\theta \). Second, \(|\theta -\overline{\theta }|\) values are calculated from the entire time series.

The stationary conditions are defined by using the thresholds \(\delta _\theta = 15^{\circ }\), \(30^{\circ }\), and \(60^{\circ }\), with the same set of seven T values from 1 h to 1 day as before. The corresponding probability distributions of \(|\theta -\overline{\theta }|\) values are calculated and shown in Fig. 9a−c in coloured thin curves, for the three values of \(\delta _\theta \), respectively.

For the entire time series from 2012, the probability distribution function of \(|\theta -\overline{\theta }|\) values is calculated for \(T=1\) day, 5 days and 10 days as shown in Fig. 10a, in grey, blue, and green curves, respectively. Compared with the stationary cases in Fig. 9, these unfiltered data show a much broader spread of \(|\theta -\overline{\theta }|\) values (only values up to \(90^{\circ }\) are shown).

Fig. 9
figure 9

Comparison of the observed (obs) and modelled direction distribution for stationary cases defined according to three thresholds using \(T=1\) to 24 h: a \(\delta _\theta =15^{\circ }\); b \(\delta _\theta =30^{\circ }\); c \(\delta _\theta =60^{\circ }\). The modelled data are from the use of two of the three-dimensional turbulence models (time series A), namely the Mikkelsen–Tchen (red) and the Kaimal (black) models

A similar calculation for 10 m at Høvsøre shows that the probability of the deviation \(|\theta - \overline{\theta }|\) is similar to that at 80 m (see Fig. 11); compared with at 80 m, the 10-m observations have slightly more cases of larger \(|\theta - \overline{\theta }|\) values.

For time series A from the u and v spectra at 80 m simulated using the Kaimal model (Eq. 1) and the Mikkelsen–Tchen model (Eq. 2), the turbulence models neglect the variation in the components u and v for time scales larger than about 1 h. From time series A, the probability of the quantity \(|\theta -\overline{\theta }|\) is shown in Fig. 9, illustrating that the boundary-layer-turbulence models can only predict wind-direction variation for very stationary cases where \(|\theta -\overline{\theta }| < 15 - 20^{\circ }\) (Fig. 9a).

For time series C, the probability of the deviation \(|\theta -\overline{\theta }|\) is presented together with observations in Fig. 10a, which, by default, implies \(T=5\) days. Note that, if we use \(T=1\) day for time series C, the statistics remain very similar.

For time series B, the average probability of the deviation \(|\theta -\overline{\theta }|\) is shown together with observations for \(T=5\) days in Fig. 10b, together with the result from the Mikkelsen–Tchen model from Fig. 9. One can see that the meso-boundary-layer model improves significantly the description of the directional distribution, in comparison with the use of the microscale model only. Time series C captures the most realistic v-component variability in comparison with time series A and B; the results are similar at 10 m.

Fig. 10
figure 10

a Comparison of the direction deviation at 80 m between observations (obs) at \(T=1\), 5, and 10 days and the calculation from the 73 five-day time series C (red). b Comparison between observations (\(T=5\) days) with modelled time series A, B, and C

Fig. 11
figure 11

Similar to Fig. 10 but for 10 m. Note in b, the result from using the hybrid spectral model of 1-day length is not included

5 Discussion

In many meteorological and wind-energy applications, we often use data from a certain wind direction with limited variation. For instance, in most of our engineering wind-farm-wake simulations, we impose the modelling with a constant mean velocity, which is a reasonable assumption on the microscale where we target a small area over a short duration T. This assumption becomes challenging at scales comparable to modern wind farms and farm clusters, where not only advection but also meandering contributes to the wind-direction variation.

Here we use a particular definition of stationarity for a time series of length T during which the change in wind direction is less than a given threshold \(\delta _\theta \). From the observed time series, stationary cases were identified and statistics calculated. A time series of 10-min resolution, with \(\delta _\theta =15^{\circ }\) and \(T=1\) h, yields about 80% stationary cases, but for \(\delta _\theta =15^{\circ }\) and \(T=4\) h, 31% stationary cases. The percentage of stationary cases drops to 19% for \(\delta _\theta =15^{\circ }\) and \(T=6\) h.

If a wind-farm-cluster size is about 100 km in linear dimensions, at a wind speed in the range of 4−14 m s\(^{-1}\), this corresponds to a scale in time of 2 to 7 h, or a frequency of about \(4\times 10^{-5}\) to \(10^{-4}\ \hbox {Hz}\). These frequencies are lower than the low-frequency bound of a boundary-layer model (typically 1 h\(^{-1}\)). By using the conventional method, namely the typical boundary-layer-turbulence models, to calculate the direction variability, we can only capture a small portion of cases that are stationary, as Fig. 9 suggests.

We have consequently developed a lateral spectral model for the combined mesoscale and microscale, covering a frequency range from (5 day)\(^{-1}\) to the inertial subrange, as a combination of the Mikkelsen–Tchen model for three-dimensional turbulence and a meso-to-synoptic spectral model based on observations. The model is built upon stationary cases but the application is extended to climatological conditions. This is the first time the variability of the v component for larger scales is systematically described and evaluated with observations up to heights of 241 m. The power spectrum for the u component up to this height has previously been examined in Larsén et al. (2019b).

Time series of length one day as well as five days were simulated by using the meso-boundary-layer model, assuming a Gaussian process with random-phase information. During this 5-day period, the mean direction is unchanged, indicating that synoptic variability is excluded. This simplified approach provides similar statistics on the direction distribution compared to the observations, when the simulated data length is 5 days. Simulations of one-day time series improve the statistics significantly in comparison with using the boundary-layer model only, although this still misses a considerable amount of cases of large directional deviation (\(> 40^{\circ }\)). However, our method still underestimates unsteady flow where the wind-direction deviation exceeds \(50^{\circ }\) at 80 m (Fig. 10b) and \(70^{\circ }\) at 10 m (Fig. 11b), because the spectra have been derived for stationary situations (Fig. 4), where the concept of u and v velocity components is valid.

6 Conclusion

We defined a mesoscale version of the spectrum for the lateral velocity component v, and derived the three-dimensional boundary-layer version of the v spectrum similar to the Mikkelsen–Tchen model for the u spectrum. Through the meso-boundary-layer models of the u and v spectra, we simulated the climatology of the wind direction, pertaining at least to the western Denmark and North Sea regions. The method can be applied to other regions with calibrations for the spectral models using observations.

This study also suggests that, at the scale of modern wind-farm clusters, strict stationarity conditions can be challenging to meet, and the concept of meandering needs to take the large-scale variability of the u and v velocity components into account.