Weather in FlightGear

Weather in FlightGear By Thorsten Renk

Weather is a crucial part of every flight experience and affects aviation on so many levels that it's hard to do justice to all of them. Visibility in terms of clouds and fogging decide whether VFR flight is even possible, or if IFR rules need to be used. Altitude is determined by air pressure measurements and setting the altimeter properly is something every beginner in a cockpit learns quickly. Rain and snow may make a runway slippery, cold temperatures may lead to icing on the cockpit windows or worse, and winds have been the cause of severe accidents in the past. Activities such as soaring rely on thermal updrafts or the interaction of prevailing winds with ridges - and finally storms and heavy weather may even make airports temporarily inaccessible and require flights to divert.

No flight simulation can consider itself realistic without also providing a good simulation of weather and the environment. In the following, we'll see how the challenge is addressed on various levels within FlightGear.

Two Philosophies

There are two rather different perspectives from which one would want to define weather in a flight simulation. The first one is for training or the evaluation of a specific situation - a crosswind approach, dealing with turbulence, or an aircraft flight dynamics model performance test. In such situations, it is crucial that every aspect of the weather situation can be controlled by the user. To train windshear, several wind layers need to be defined precisely in altitude and strength, while to do a performance test, standard atmosphere conditions are best used.

On the other hand, for setting up a casual cross-country flight, such fine-grained control is neither necessary nor even useful - the amount of data one would have to enter to simulate the change of low-altitude winds across even 100 km distance is staggering. In this situation, it is much better to set up the basic weather situation and let the simulation sort out the details. Corresponding to these two perspectives, FlightGear offers two different weather systems, for historical reasons called, 'Basic Weather' and 'Advanced Weather'. The first one is a descriptive system - it sets a weather situation as driven by user data without considering atmospheric physics. The second one on the other hand is a (crude) simulation of the state of the atmosphere, driven by a few input parameters and randomization of what is unknown. In the following, we're mostly concerned with this second system.

The Weather System As Organized Information Flow

From the perspective of the pilot, weather is something that is 'out there' and has to be dealt with. However, from the perspective of setting up a simulation, weather is something else entirely - it is a system that connects various rather different subsystems.

Consider a sailplane soaring in ridge lift: the weather system knows of the wind, but it must communicate with the terrain system to know the shape and layout of the hill and determine just how much this deflects the airstream upward. This information needs to be sent to the flight dynamics computation of the sailplane. At the same time the updraft might also generate clouds which is something that needs to be communicated to the renderer. This enables it to not only draw the clouds, but also change the lighting in response to the clouds casting shadows onto the ground. The wind pattern (also at the same time) will generate characteristic ripples on water surfaces - from which the pilot can deduce how strong the wind is. It will also move trees and grass and give many other indications.

The point here is that weather does not happen in isolation - it needs a tight integration with many other systems to produce realistic effects. Let's look at some branches of the weather system to see how this works in detail.

Convective Clouds

One of the most challenging problems to solve in a weather simulation is convective clouds - one might almost boil it down to the idea that there are cumulus clouds to deal with and then all the rest.

The reason why convective clouds are so complex is their interaction with the terrain. Convection develops when the terrain heats in sunshine, and that works much better for bare rock or a parking lot than for a glacier or water. In fact, from high above, a typical sight when overflying a coast on a clear day is the sudden onset of cumulus development over the land.

But it does not end there - consider cumulus development in the mountains: the condensation level at which the cloud base forms follows the terrain elevation - but it does not follow every peak and valley. To correctly place clouds in mountainous terrain, the weather system needs to know the mean elevation in the vicinity (as well as the variation around the mean), plus the elevation at the location of the cloud. In fact, since wind is a major player in the mountains creating updrafts, the elevation profile upwind of a cloud needs to be considered - in addition to the terrain type underneath which potentially generates the cloud.

It might seem a bit involved to do all of this for thousands of clouds, but in fact getting realistic cloud distribution in mountainous regions is difficult to achieve otherwise. The advantage here is that such a system naturally generates the correct thermal updrafts associated with the clouds needed for soaring. Incidentally, the same information about the terrain layout can also be re-used in a different subsystem to model the slowdown of winds due to terrain roughness in the boundary layer.

In fact, the convective cloud system in FlightGear was primarily developed with the aim of making real-life glider pilot decision meaningful. The visuals of a cloud give a decent estimate of the updraft generating it - rules of thumb like looking at elevated terrain spots for 'blue' updrafts without a cloud cap increase the probability of finding thermals, plus avoiding a lee in the mountains with a glider is a must. In addition to being closely linked to the terrain, the convective system also has close ties to latitude and time of day, as these govern how much the ground can be heated by sunlight and hence how much energy is available for convection - and if that energy gets large, the system might even overdevelop and produce a thunderstorm!