There are a couple of problems concerning the way Asobo has approached the calculation of surface winds. I’m not talking about live weather here, the manual weather system is working very odd with regard to winds. Although you can see the wind layer is labelled WIND - ground in the examples below, the wind entered is NOT actually the ground wind. Turns out MSFS uses the wind you punch in as the geostrophic wind (wind above the friction layer) and modifies it to produce a ground wind. This means that anything you enter here is cut in half. In the examples below a wind of 295 degrees with 60 kts, gusting 80 kts is entered.
Wind 295 degrees with 30 kts, gusting 40 kts.
At 100 ft AAL:
Wind 295 degrees with 38 kts, gusting 50 kts
At 200 ft AAL:
Wind 295 degrees with 45 kts, gusting 59 kts
At 500 ft AAL:
Wind 295 degrees with 50 kts, gusting 67 kts
At 1000 ft AAL:
Wind 295 degrees with 60 kts, gusting 80 kts.
At 2000 ft AAL:
Wind 295 degrees, with 60 kts, gusting 80 kts.
The wind according to ATC and ATIS:
292 degrees 101 (?!) kts. No idea where that is coming from.
I quickly punched something in excel and it looks like this, above 1000 ft there is no change in wind direction and speed unless you add multiple wind layers.
Geostrophic versus Ground Wind
It seems that Asobo borrowed a page out of some meteorology book, rough rule is indeed that the ground wind is half the geostrophic wind over land. Weirdly they for some reason decided to implement the change of wind speed accross the friction layer but not to implement the veering / backing of the wind, which is a little bit a half baked approach if you ask me.
Problems with the current Wind Model
There are a multitude of problems caused by this implementation. First of all, what you are really interested in using a simulator is direct and accurate control over the ground wind, I’m not that interested in what the wind at 1000 ft is doing as a result of the ground wind I’ve entered. If I want to practice a crosswind landing, and I punch in 20 kts crosswind, gusting 30 kts, then I want the wind to be exactly that at the surface and not 10 gusting 15 kts. The weather menu even states WINDS - ground, which is clearly not the case, even though the wind layer is put at ground level the selected wind is really the geostrophic wind and not the ground wind.
The rules they have implemented are rough rules of thumb and would probably work fine for light to moderate winds, I have checked this the past week in real life by keeping an eye on the FMS wind readout on approach and during landing, and this rule of thumb works kind of. I found the wind at 1000 ft indeed around twice the reported ground wind in most cases (and veered in direction). For stronger winds and inversions this does NOT work though. If the wind is 25 kts, gusting 35 kts at ground level, there is no way the wind is 70 kts (?!) at 1000 ft AGL (maybe is some limited cases but normally not) This rules starts to fall apart as wind speed increases.
When simulating gusts this implementation causes big problems, if you want to simulate a gust of 10 kts above the steady wind at ground level, you’ll need to enter a gust of 20 kts above the steady wind in the weather menu. For example, for a surface wind of 20 kts, gusting 30 kts, you’ll need to select a wind of 40 kts, gusting 60 kts in the weather menu. Modelling the wind this way is fundamentally wrong, most gusts and turbulences are precisely caused by obstructions within the friction layer. In real life its often less turbulent and gusty above the friction layer, subsequently it become more and more turbulent and gusty during approach to landing. In orde to simulate a strong, gusty crosswind in MSFS you’ll end up with the opposite situation, namely extreme winds and gusts at altitude, becoming less gusty and turbulent during approach.
Another bug in the weather menu, if you change the steady wind by typing a number in the window instead of using the slider, the gust moves to maximum (150 kts).
Asobo should have approached it the other way around, the wind you punch in is the actual ground wind, from that the geostrophic wind should be calculated (x2 and 30 degrees veered in Northern Hemisphere, 30 degrees backed in Southern Hemisphere), the selected gusts should be slowly faded out as altitude increases. Wind in aviation is normally measured at 10 m above the surface, so the actual wind during flare might be slightly lower than the reported surfaces wind, although I have kept an eye on the FMS wind readout recently and I have not found any significant difference between the wind at 10 m (30 ft) and the wind during flare in the real world, so I guess you could safely use the reported surface wind as actual ground wind.
I haven’t checked if the live weather behavior is correct with regards to surface winds, anybody?
Work in progress, check back later.
Please Asobo, you don’t want to open up the weather system to 3rd party devs, at least make it right then! Which means direct and precise control over the surface wind, visibility / RVR and cloud base / ceiling. Again also interesting design choices here, who thought it would be a great idea to implement it this way? Have real world professionals (including pilots?) been involved with these design choices? I find it hard to believe.