ecarden Posted August 17, 2006 Report Posted August 17, 2006 Hi Pete, I've been using 0EEE in my program for some time now, but I just did some more thorough testing of it preparing to use it in a new, more critical way. The "FSUIPC for Programmers" document describes 0EEE (and 0F70) as AMSL (which is what I've assumed to date to be true), but my recent testing suggests that they're in fact AGL. I'm using FSUIPC 3.70, by the way. Here's the test scenario and data... I simply took readings of 0EEE, 0F70, and 0B4C (ground altitude) at two different lat/lon positions. The first position was over a wide, flat valley. The second position was over a mountain adjacent to the valley. Positions 1 and 2 were less than a mile apart. Here's what I saw. 0EEE and 0F70 always read the same (as each other), so I grouped them below. offset; valley; mtn; difference 0EEE/0F70 (wind layer alt); 294; 48; -246 0B4C (ground alt); 196; 441; 245 If 0EEE and 0F70 were AMSL, then I'd expect them to read near the same both over the valley and over the mountain. Also, the wind layer altitude dropped over the mountain by almost exactly (within 1m difference) the amount that the ground rose. Am I thinking right? Are these offsets actually AGL? Thanks, Eric
Pete Dowson Posted August 17, 2006 Report Posted August 17, 2006 Am I thinking right? Are these offsets actually AGL? Maybe, in FS2004I am not sure. I didn't think anyone was using the FS98 weather offsets any more. I've tried to maintain support for them through FS2000, FS2002 and FS2004 but they are so far divorced from what really goes on in FS2004 that it gets quite hairy, and with all the new, impressive, weather programs long ago moving over to more powerful and appropriate interfaces I doubt these have been tested thoroughly enough. If they are truly AGL, can you try flying or slewing over hills and see if they go up and down all the time as the ground rises and falls beneath you? Let me know. You see, if it doesn't, then what is that lower wind doing? Is it going up and down with the ground? If so and the next layer is not far above, what happens when they collide or intrude, is the layer above obliterated, or is that too rising and falling, and so on up to 60,000 feet or wherever? I don't think the spot-check way you are measuring / checking is really so reliable. You are expecting FS to set the weather the way you are thinking it should be set. The proper way to see what FS thinks the wind layers are is to go into the Weather Dialogue each time, and read the altitudes in the Winds section. Another more reliable way would be to switch on the wind display (Shift+Z) then slew upwards and see which altitude the wind DOES actually change -- make sure any FSUIPC wind smoothing is off first of course. Please let me know. I think after 3 years of FS2004 it is a little late to change it, and some comparisons with FS2002 and FS2000 would be needed to to verify whether I have the programming wrong or the documentation, and really, at this time, I don't have the time. But I'd be interested and I'll certainly note it. BTW you can also compare it with what the FSUIPC AWI reports (by using WeatherSet) and also the NWI (WeatherSet2). The AWI is really the 'modern' weather interface which matches closely what FS2004 is capable of. Regards, Pete
ecarden Posted August 18, 2006 Author Report Posted August 18, 2006 Thanks, Pete. I had already done all the things you asked for. I was just a little too brief, I guess, in my original post. Here are details on the things you asked about: You wrote... If they are truly AGL, can you try flying or slewing over hills and see if they go up and down all the time as the ground rises and falls beneath you? Let me know. Yes, I did this, and 0EEE and 0F70 increase as the ground elevation (0B4C) decreases and vice versa - as one would expect if they were AGL. I had my program continuously reading these offsets (and ground elevation) and writing them all to screen in flight. You wrote... The proper way to see what FS thinks the wind layers are is to go into the Weather Dialogue each time, and read the altitudes in the Winds section. I did this, and FS always shows 1000 ft (as I set it) for the surface wind layer, despite the local ground elevation. It appears, though, that this number is AGL relative to the local "base" elevation, not the ground elevation (0B4C). For example, if you fly 100 miles and during the course of the flight the "base" elevation rises from 500 to 1000 feet, then the MSL altitude of the surface wind layer will gradually rise from 1500 to 2000 feet, staying 1000 feet above the local "base" elevation. At all times, though, FS will show the surface wind layer setting as 1000 feet. Mountains seem to have no effect on the surface wind layer MSL altitude. You wrote... Another more reliable way would be to switch on the wind display (Shift+Z) then slew upwards and see which altitude the wind DOES actually change -- make sure any FSUIPC wind smoothing is off first of course. I had (Shift-Z) on during my tests and slewed up and down to find where the wind changed. I had very simple winds: only one layer (the surface layer) set in FS to 1000 ft. I always found the edge of this layer at an MSL altitude of 0B4C (ground elevation) plus 0EEE (or 0F70). I watched this over mountainous terrain and found that the edge stayed very near the same MSL altitude, changing only (I believe) in response to changes in the local "base" elevation, not in response to 0B4C (ground elevation) changes. You wrote... BTW you can also compare it with what the FSUIPC AWI reports (by using WeatherSet) and also the NWI (WeatherSet2). The AWI is really the 'modern' weather interface which matches closely what FS2004 is capable of. I'll have to study these things. I have no experience with the FSUIPC AWI, WeatherSet, the NWI, or WeatherSet2. Does the AWI allow access from my program to things like the surface wind layer altitude? My program needs to know the MSL altitude of the surface wind layer. Thanks, Eric
Pete Dowson Posted August 18, 2006 Report Posted August 18, 2006 I always found the edge of this layer at an MSL altitude of 0B4C (ground elevation) plus 0EEE (or 0F70). I watched this over mountainous terrain and found that the edge stayed very near the same MSL altitude, changing only (I believe) in response to changes in the local "base" elevation, not in response to 0B4C (ground elevation) changes. So the values are neither AMSL nor AGL. AGL must be related to the actual ground altitude below. if it isn';t you cannot compute the AMSL -- I'm afraid don't know what your local "base" elevation is now how to find it. This all sounds really horrible, and certainly a change from FS2002 and before. I don't know how to advise you to proceed. I shall certainly document the uncertainly of those values in the next SDK update. Does the AWI allow access from my program to things like the surface wind layer altitude? My program needs to know the MSL altitude of the surface wind layer. In FSUIPC it is the other way round. In FS2004 the NWI corresponds most closely to the information I can get out of FS. That information is then maped onto the older interfaces, like the NWI and those old FS98 vaslues you are looking at. So, if that's all you are looking at I don't thik you are gaining anything. How can you compute the AMSL -- where do you get this "base elevation" from? Regards, Pete
ecarden Posted August 18, 2006 Author Report Posted August 18, 2006 Hi Pete, I guess I muddied the water by using my made-up term "base elevation". I haven't seen this concept documented elsewhere, thus the made-up term. It seems to me that FS somehow stores, for a small area, the minimum, or "base", elevation in the area. For example, my local flying area is basically a flat valley at 700' MSL with mountains at 1500' MSL. The valley isn't perfectly flat, though, with some points as low as 600' MSL and others as high as 800' MSL. I think FS stores a "base" elevation in this area as, for example, 600' MSL. With a surface wind layer altitude set to 1000', this will result in a surface wind layer of 1600' MSL. Whether I'm over a mountain, a low point in the valley, or a high point in the valley, the surface wind layer altitude stays at 1600' MSL. As I cover some ground, however, I think FS adjusts the "base" elevation to reflect the minimum elevation in some local area. The local terrain drops as I fly south, so as I fly south the surface wind layer altitude might drop to 1550' after flying several miles. If I flew all the way to the ocean, the surface wind layer altitude would eventually drop to 1000' MSL. It might stay at 1000' MSL even when I am over the beach, where the elevation might be 50' MSL. I believe the formula for determining the surface wind layer altitude (MSL) is... 0B4C + 0EEE or 0B4C + 0F70 I believe the "base" elevation can be computed like this... [sfc wind layer altitude, MSL (see above formula)] - [sfc wind layer altitude as set in the FS Weather dialog] I hope this clears things up a bit. I don't think it's quite as horrible as I've apparently led you to believe. Thanks, Eric
Pete Dowson Posted August 18, 2006 Report Posted August 18, 2006 It seems to me that FS somehow stores, for a small area, the minimum, or "base", elevation in the area. Are you sure this is not simply the elevation of the Weather Station reporting that particular wind? FS2004 is different from previous versions in that there is NEVER a "global" weather setting -- no matter how the weather is set, it it local, controlled by the weather station locations. The problem arises is when away from the weather stations. Then the weather is derived from three WX stations via interpolation. What actually then happens to your AMSL/AGL for the surface wind I don't know. It is almost impossible to find out for sure unless you have loads of time and patience on your hands. For example, my local flying area is basically a flat valley at 700' MSL with mountains at 1500' MSL. The valley isn't perfectly flat, though, with some points as low as 600' MSL and others as high as 800' MSL. I think FS stores a "base" elevation in this area as, for example, 600' MSL. Isn't there an airfield there with a weather station at 600'? I believe the formula for determining the surface wind layer altitude (MSL) is...0B4C + 0EEE or 0B4C + 0F70 But you just proved this was only true whilst over an area of terrain which happens to be at your "base altitude". That isn't relaible -- all those formulae do is assume it is TRULY AGL, using the terrain altitude as it changes. I hope this clears things up a bit. I don't think it's quite as horrible as I've apparently led you to believe. But I can't really believe that from what you've said in this very message! There's a consequent problem which you have (conveniently?) avoided by having no higher wind layers -- that is what happens to the next layer up (and so on) as the ground one "bulges" upwards over terrain to meet it or even overlap it. Does it simply disappear, or rise too? If the latter, are all of the upper wind altitudes AGL? I really don't think they can possibly be. Regards Pete
ecarden Posted August 21, 2006 Author Report Posted August 21, 2006 Hi Pete, You wrote... Are you sure this is not simply the elevation of the Weather Station reporting that particular wind?... Isn't there an airfield there with a weather station at 600'? No, I'm not sure. The nearest airfield is a couple of miles away, and its elevation is probably around 600'. I checked out a different nearby airport that's on a plateau at 1000' MSL. Directly over that airport, 0EEE and 0F70 still showed 600'. I slewed upward and found the edge of the surface wind layer at 1600' MSL. Since my surface wind layer altitude (as defined in FS' weather settings page) is 1000', it still appears that 0EEE and 0F70 are AGL and that the surface layer altitude in FS' weather settings page is an altitude above some "base" elevation, not AMSL, not AGL, and apparently not necessarily above the nearest airport. Do all airports have weather stations, or might I have tested with one that doesn't? You also wrote (in response to my observation that [surface wind layer altitude (MSL)] = 0B4C + 0EEE)... But you just proved this was only true whilst over an area of terrain which happens to be at your "base altitude". How did I prove that? I sure didn't mean to. In my last post I observed that... Whether I'm over a mountain, a low point in the valley, or a high point in the valley, the surface wind layer altitude stays at 1600' MSL. For example, while over a point with an elevation (0B4C) of 1500' MSL, 0EEE was 100', and I experienced the edge of the layer at 1600' MSL. While over a point with an elevation (0B4C) of 700' MSL, 0EEE was 900', and I experienced the edge of the layer at 1600' MSL. In either case (neither of which was over a point with an elevation that happened to be at the 600' "base" elevation), the formula I proposed holds true. You also wrote... There's a... problem which you have... avoided by having no higher wind layers -- that is what happens to the next layer up (and so on) as the ground one "bulges" upwards over terrain to meet it or even overlap it. Does it simply disappear, or rise too? If the latter, are all of the upper wind altitudes AGL? I hadn't studied this yet, but I did a little testing this morning since you asked. To clarify, the only such "bulging" I've experienced has been as the "base" elevation (however we end up defining this) changed, NOT as the ground elevation (0B4C) changed. In my test area (where I find the edge of the surface layer around 1600' MSL), I added a second wind layer at 1500'. (My surface layer is set in FS' weather settings page to 1000'.) I found that the second layer, which was overlapped by 100', didn't exist. I added a third layer at 2000', and the results were peculiar. The results were as expected at or above 2000', but they were odd between 1600' and 2000'. (I used "gradual" transitions for all layers, by the way.) I set different directions for all three layers, so I could distinguish one layer from another easily. As I ascended from 1600' to 2000', the winds transitioned as if the second layer DID exist. Just above 1600', the winds switched to somewhere between the directions of layers 2 and 3. The direction gradually approached that of layer 3 as I climbed. In a nutshell, while the results are a little odd when the surface layer overlaps another layer, I believe all the upper layers are purely MSL. Eric
Pete Dowson Posted August 21, 2006 Report Posted August 21, 2006 Do all airports have weather stations No. In the US most if not all of those beginning with K do, but a lot of the lottle ones don't. World-Wide it varies. There's a list in the Weather folder. You also wrote (in response to my observation that [surface wind layer altitude (MSL)] = 0B4C + 0EEE)... But you just proved this was only true whilst over an area of terrain which happens to be at your "base altitude". How did I prove that? By saying, as you just repeated again, that "FS stores a "base" elevation in this area as, for example, 600' MSL. With a surface wind layer altitude set to 1000', this will result in a surface wind layer of 1600' MSL. Whether I'm over a mountain, a low point in the valley, or a high point in the valley, the surface wind layer altitude stays at 1600' MSL." Since 0B4C is the ground altitude beneath the aircraft, not this strange "base altitude" you've found, how can both statements "0B4C + 0EEE" give the wind altitude AND "Whether I'm over a mountain, a low point in the valley, or a high point in the valley, the surface wind layer altitude stays at 1600' MSL." actually be true at the same time? They appear to contradict each other. I sure didn't mean to. In my last post I observed that... Whether I'm over a mountain, a low point in the valley, or a high point in the valley, the surface wind layer altitude stays at 1600' MSL. Exactly. You've said it again. And 0B4C is therefore changing all the time. If 0EEE + base (600) always = 1600 .... well, I surely don't need to go further? For example, while over a point with an elevation (0B4C) of 1500' MSL, 0EEE was 100', and I experienced the edge of the layer at 1600' MSL. While over a point with an elevation (0B4C) of 700' MSL, 0EEE was 900', and I experienced the edge of the layer at 1600' MSL. Oh, you are saying the 0EEE changes all the time tooAh, that's different. Sorry, that changes everything. But in that case .... where does this base altitude of 600 come into it? I'm now even more confused. :-( Anyway, at this stage, three full years after FS2004 and FSUIPC3 were released, I can really do no more than document this for anyone still concerned with FS2004 after FSX comes out. Incidentally, some checks with FS98, FS2000 and FS2002 are necessary really, to see when and what changed where. Thanks! Pete
ecarden Posted September 20, 2006 Author Report Posted September 20, 2006 I can really do no more than document this for anyone still concerned with FS2004 after FSX comes out. That's certainly a reasonable action. By the way, I checked out offset C0FC, also (like 0EEE and 0F70) described as the current surface layer altitude in meters MSL. C0FC is indeed as described in the documentation, so I'm correcting my program by simply using this offset instead of 0EEE. Thanks, Eric
Pete Dowson Posted September 21, 2006 Report Posted September 21, 2006 Hi Eric, Sorry I didn't get back to you earlier on this. In fact I did do a comparison of these values through FS98 - FS2000 - FS2002 and FS2004 (yes, i did manage to find I had working installations on some of my older PCs, long since relegated to other, lesser uses), and the surface wind ceiling value has ALWAYS been AGL it seems. I ploughed through my code and the specific code for FS2000/2002 and FS2004 actually explicitly subtracts the Ground Altitude from the AMSL value supplied, these days, by FS. All in the name of FS98 compatibility! So, sorry, yes, you were right all along. It is a documentation error in my Offsets list, and a very long-standing one at that. I will correct that with the next SDK update. Thanks, Regards Pete
ecarden Posted September 21, 2006 Author Report Posted September 21, 2006 Thanks for the explanation. Sorry to cause you a lot of work. Take it easy, Eric
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now