This is yet another post about ERA5, {CFSR;CFSv2} (hereafter: CFS) and how their surface layer wind speeds compare with measurements.
As discussed earlier on this blog, the relatively large differences between the ERA5 and the CFS surface layer wind speeds for large wind speeds (>10 m/s) can possibly be explained by differences in roughness lengths, more than by differences in friction velocities.
In this post, I will use measurements from met masts and LiDARs, but also from met buoys. The reason for including met buoys is to highlight that they may not always be a suitable reference due to the poorer quality and validity of their wind measurements, and convince the meteo/oceano sci community to consider using wind energy measurements for their comparisons. In effect, as explained elsewhere on the blog, the use of higher quality mast- and/or floating LiDAR allows for a finer characterisation of the wind speed profile.
I will also present a slightly improved version of the ERA5 correction presented previously, this time using the COARE 3.5 wave-age dependent formulation of the Charnock coefficient.
Introduction
You may have noticed that I am using the expression “surface layer wind speeds”, i.e. that I am not limiting the analysis to the 10m wind. In effect, rare are the measurement locations with wind measurements at 10 m; buoys typically measure around 4 m, and LiDAR/mast datasets often start at 20m only. I have only recently been using floating LiDAR measurements with measurements at 12 mMSL (from a Fugro Seawatch), but these measurements cannot be shared publicly.
With ERA5, it is simple to derive a wind at z mASL, by using the Monin-Obukhov similarity theory (MOST, which is used for computing the 10 mASL wind speed in ERA5). In the expressions below, , are available from the Copernicus Data Store (CDS), and L can be computed from the CDS parameters as well ( , P, , , and the heatflux).
$$WS = \frac{u_{*}}{\kappa}[\text{ln}(\frac{z}{z_{0}}) – \psi_M( \frac{z}{L} )]$$
Where
$$ z_{0} = \alpha_{Ch}\cdot u_{*}^{2}/g + 0.11\cdot\nu/u_{*}$$
is the air viscosity, and varies with the seastate (it has a different value for each timestamp and every model location).
I can then make “my own” 10m wind, and check how it compares with the one from the CDS; see below: the correspondence is rather satisfactory (some scatter, but at least there is no bias). The data come from the M5 buoy location in Ireland (see below), but this works everywhere else I checked. Team ECMWF has kindly let me know that the reason for these differences is that the friction velocity from the CDS is the from forecast and not the analysis – but okay, that works fine and doesn’t decrease the correlation with the measurements.
Now, what about CFS? From the literature (see Section 2.3 of (Shi and al., 2020)), I understand that it uses a constant value of 0.014 for the Charnock parameter. This means that knowing WS and L we can compute (the equation is implicit and solved iteratively). Please note that in the rest of this post, I am using myself the value of Charnock parameter of 0.018, as it matches better the measurements (see at the end of this previous post).
I do not have the Obukhov length L from CFS, but I use the one from ERA5 instead. For strong wind speeds, the stability correction is small anyways. I have tried to use T2m and SST from CFS and compute L using the (Grachev and Fairall, 1997) bulk formulation: this works fine too. Anyways, see below a comparison between ERA5 (CDS) and GFS friction velocities: a pretty good agreement for small values, and larger differences for large values.
As to the roughness lengths, the ERA5 values are much larger than the ones from CFS, for winds larger than approx. 10 m/s. In the plot below, I am showing also the values derived from the COARE 3.5 algorithm (Edson et al, 2013 equation 15) using the peak period values from the ERA5 model (this is explained further below).
As shown below, this is due to the fact that the roughness length, in ERA5, grows with the fraction of the wind stress within the total stress in the surface layer. As the wind speed increases, the Wind-Sea component of the seastate increases. In the plot below I am showing the values derived from the CDS, and some analytical results obtained using different values of the stress ratio (see this previous post for more info).
As a result of these very large differences in roughness lengths, and although the CFS friction velocities are a bit smaller, the resulting 10m wind speeds in ERA5 are much smaller than the ones for CFS for large wind speeds; see below at M5:
As explained earlier, this kind of pattern is observed at many places across offshore wind farm locations (see them all here: LINK). See below a few examples, with a map of the mean Charnock coefficient for large wind speeds: area where the strong winds mostly come from the shore (or limited fetch) are the areas where the differences with CFS are the largest.
We can see this even more clearly by subsetting the dataset per wind direction; see below (the arrows show the going to wind direction).
And, finally, here are some examples of Charnock coefficient values, and friction velocities, for the three locations considered in this post:
Comparisons with buoy measurements
Now, on the comparison with the measurements. I will use three publicly-available datasets:
- The M5 buoy in the Southern Irish Sea (LINK),
- The IJmuiden met mast (cup anemometer measurements) in the Dutch North Sea (LINK),
- The TNWA floating LiDAR dataset, also from the Dutch North Sea (LINK).
As noted earlier, it is best to compare the model- and measurement data at the measurement elevation, by deriving for example a 4m wind speed from the ERA5 data. Of course one can also guess a power-law exponent (0.11, anyone?), but in my view it is much more reasonable not to do this. At M5, the wind sensors is at 4m, but please note that the buoy was changed from an ODAS buoy (like the K series Met Office buoys) to a Fugro Wavescan buoy in October 2012, therefore I am showing two plots below.
Interestingly enough, the comparison with the ODAS buoy shows a larger bias than with the Fugro buoy, so which one is right?
To resolve this, we have, luckily, access to some publicly-available floating LiDAR data from Fugro. These floating LiDARs use the Wavescan buoy and have the same type of wind sensors (sonic anemometer) at 4m. And, yes, at least from the analyses I have carried out, these 4m signals seem biased in strong wind speeds.
Below, I am showing first the mean wind speed profiles for different bins of significant wave height and stability (red: unstable, black: neutral, blue: stable), and then the comparison between the time series of 4m extrapolated- and measured wind speeds for neutral conditions in a given wind directional bin. All figures are located in this folder: LINK.
Here is how the buoys look like: the first image below shows the type of setup on the ODAS buoy (after they changed from cups to sonics), and the second image shows some old ODAS buoys from the Met Office and the Fugro Wavescane buoy. Check out the videos as well.
It is really pretty hard to know what type of sensor was installed on the ODAS buoys, and for all buoys in general it is very difficult to estimate if, and how much, the sensors are biased. See for example this paper from (Thurton, 2010) trying to measure, for different buoys, the differences between cups and sonics, and between two sonics on the same buoy (K7).
As a side note, these, relatively well known and extensively used buoys, are placed in deep water far from shore, where (as we saw earlier on the map), the underestimation of the wind speed in the ERA5 is less severe that in shallow-water sites in the Southern North Sea. Plus, the data quality is usually quite poor, i.e. these are often not “first hand” data, have gone through some level of processing, and are thereby less trustworthy than say, met mast or LiDARs.
The topic of the accuracy of wave buoy sensors is an active field of research, see for example the recent papers:
My conclusions from using buoy is always the same: don’t use them if you have better (and, we actually do have better – check out all the LiDARs, mast and floating LiDAR datasets publicly available at this link: https://groups.io/g/wrag/wiki/13236).
Comparisons with IJmuiden met mast (cups), and some improvement of the ERA5 correction using COARE 3.5
Back to some more known territory, with our beloved wind energy masts and LiDARs. See below the comparisons between ERA5 data and the measurements (either extrapolated down to the surface, or directly at the measurement elevation) from the IJmuiden met mast in the North Sea. You can see some more analyses with the IJmuiden mast in this post or this document from C2Wind.
Note that the second row shows CFSv2 to the left, and to the right ERA5 corrected using friction velocity, L and a constant Charnock of 0.018.
As you can see, both CFSv2 and ERA5 corrected with constant Charnock overestimate during strong wind speeds. This is not a really big problem (better be on the safe side), but still, it can be improved by using for example the COARE 3.5 parameterisation. In the plot below (from Figure 7 of Edson, 2013) you can see what it looks like: it makes the roughness length depend on the wave age (friction velocity divided by the phase velocity corresponding to the peak wave period). Younger sea states are on the right of the plot, while old (swell) sea states are on the left.
So, I have used the peak wave period from ERA5 at the IJmuiden location, and computed the Charnock parameter using equation (15) of (Edson et al, 2013). You can see the result below: at least for this location, it improves the comparison.
Conclusions
In this post, I hope to have clarified several things.
Mast and LiDAR measurements should be preferred over buoys measurements when comparing ERA5 model data to measurements. I am always very sad to see just no one in the meteorologists/oceanographer community using these plethora of wind energy measurements that are just, so much better than buoys! If you want to see what it available, check out: https://groups.io/g/wrag/wiki/13236.
Since we have all we need in ERA5 to make a wind speed at any elevation in the surface layer, why not doing it. I think that it is much better to derived ERA5 data at the measurement elevation, than trying to extrapolate from the measurement elevation using some guessed power law profile.
Lastly, it is possible to make your own wind speeds from the ERA5 that do no suffer from this negative bias (far offshore and outside of the coastal zone where you see the influence of the ERA5 landmask). For this:
- You can use a constant Charnock parameter, that will give you slightly conservative results;
- You can use the COARE 3.5 algorithm (using the spectral peak period from the ERA5 ocean wave dataset), this shows promissing, and better results.
Comments/questions are welcome.
Rémi