It’s a very common misconception that it’s possible to read the latest METAR file for real weather and then expect to see X-Plane report exactly those numbers in ATIS and other weather reporting tools.
This is completely wrong.
The sim’s weather is made up of many more datasources than a single METAR entry. Some of those are downloaded data, some are determined by the sim’s code which is under near-continual revision. There is a certain amount of randomness involved too. Looking at a single METAR is maybe 10% of the puzzle, and often much less than that.
How the weather data is blended
The weather is always in transition between two states; one “before”, one “after”. When it reaches the “after” state, “after” becomes “before” and a new “after” state, already prepared and waiting, is used. Each state is made up from forecast data (GRIB), past data (METAR), and in many places it’s affected by varying levels of randomness.
Very briefly, the background weather for the world is populated from the GRIB – forecast – data. This gives fairly coarse coverage, but it is a global dataset. After that, point weather samples such as METARs are overlaid. As the distance from the sample point – for a METAR, typically the airport’s center – increases, it has a decreasing effect until it eventually gets to the point where it has no effect whatsoever. This is one place where a small amount of randomness is used, to prevent these point data sources from appearing as neat cylinders of different conditions.
The strength of a point source is also reduced in line with its age. If a METAR is only a few minutes old, it will have maximum effect. As it gets older, it has decreasing effect until eventually it has no effect at all. Would you expect to read a weather report from six hours ago and go outside to find an exact, to-the-digit match for temperature, dewpoint, wind speed and direction etc.? Of course not.
> 💡 METARs are inherently outdated. They do not represent “what the weather is now”. They represent “what the weather was at some point in the past”.
Finally, we need to consider other point sources nearby. It’s very common to find airports close enough to each other for their METARs to overlap, even in some cases right at the airport’s centerpoint. Where two or more point sources overlap their blend becomes much more complicated because, for any given point near those airports, the resulting blend will be based on each source’s location, age, type (AUTO reports have a smaller radius of effect), and the random noise applied to each one.
How the weather data is sampled
To determine what the weather conditions are at any given time at any given point on the Earth, we need two states; one before, one after. The current time determines the proportions of each state, and a third final state is generated based on that proportion and the exact location of the sample. Only now is it possible to say “the visibility right here, right now, is X miles”.
Trivial Case
In the very simplest case for real weather, we would have a single isolated airport and the sample point would be on that airport. The center of each point reading is prioritised for some distance so in theory, the METAR would be applied at full strength for far enough out to give consistent results for even the largest airports. Therefore, the numbers reported in the sim should exactly match the latest METAR, right?
Wrong. Remember there are two states in time, and the resulting conditions will be somewhere between the two. If the previous METAR had different conditions, the result will not be exactly what the current METAR states.
In the even simpler (and unlikely) case where both the previous and current METARs have the same numbers, now we should be seeing those exact numbers, right?
Wrong. Or, at least, probably wrong. The age of the METAR is taken into account when it’s being blended over the background GRIB data. If one or both of the METARs are old then they will have less effect even at the center, so the background data will start to become more visible; the numbers you get will be partly from the METAR and partly from the forecast. If both METARs are so old as to be useless, even though they’re the latest in the downloaded files and you’re right in the middle of the airport, they will have no effect whatsoever.
> 💡 It is not possible, even in the simplest possible case, to determine what the exact weather conditions will be by reading a single METAR.
Trivial Case, off-airport
Continuing from the previous example, but sampling off-airport, the situation is more complex. Outside the central region around its location, a METAR’s effects fade away over a certain distance in a semi-random manner. This randomness is different for each airport, and for each launch of the sim (apart from special testing scenarios). If you sample the conditions inside this blend zone, the exact results will change with all the previous things (time, age of both past and current METARs) plus your exact location. If you sample 100 meters away, the noise pattern will be different and the background (GRIB) weather reading that’s being blended with will be different; this is also smoothed and blended in a semi-random way otherwise there would be harsh straight edges between 1 degree or 1/4 degree boundaries.
Complex, realistic case
For many major airports, these trivial scenarios are not relevant because there will be other airports close enough that their respective areas of influence overlap. In this situation, each airport will have two different METARs with two different ages. Each will have a different noise pattern affecting how strongly it should be applied to the background weather, and relative to each other nearby airport. Each may have a different radius of effect. The exact blend pattern resulting from these overlaps is highly variable and the code for producing these changes regularly. Even though we try to keep the areas close to the METAR’s center being blended at full strength, “full strength” may be almost nothing – or nothing at all – for an old METAR.
> 💡 Even at the center of an airport with an old, AUTO reading it is perfectly possible, and intentional, for an up-to-date non-AUTO reading from a nearby airport to affect the resulting conditions.
What do I really need to say that the sim’s weather at a given point is a bug?
To work out exactly what the weather conditions are likely to be for a given point, you need all the following information:
- The “before” METAR for this airport (for the conditions)
- The “after” METAR for this airport (for the conditions)
- Whether the METARs are AUTO or manual readings (to give the radius of effect)
- The exact current time (to work out how old the before and after METARs are, and therefore their maximum level of effect)
- All of the above information for all airports within around 20 miles
- The “before” background GRIB data for this airport, which will be a blend of nearby GRIB samples
- The “after” background GRIB data for this airport, which will be a blend of nearby GRIB samples
- The exact current time again (to work out what proportions of the before and after states are in use)
Only after evaluating all of this information to work out how strongly each METAR will affect the conditions at your exact location, taking into account their types, ages, distances and relative positions, and then applying that mix to the much simpler background weather conditions, is it possible to say whether a specific weather value at a specific point is broadly correct or not.
I still think it’s a bug!
Okay. The next step is to file a bug with a weather dump. This gives us a way to reproduce the exact conditions, including all data and randomness, and evaluate precisely what the conditions should be at any given point.