Jump to content
The simFlight Network Forums

Weather Management using FSUIPC


Recommended Posts

I'm a bit new to this, so apologies if these questions are phrased incorrectly, or don't quite sit with general understanding.

I'm a member of a group of private individuals who congregate on a weekly basis and engage in online flying using FSHost. Problem is, I've come across some problems whereby the weather doesn't work for FSX (the FSHost client for FSX uses SimConnect, and sets "Global" mode before it sends the METAR for "GLOB" across, and FSX appears to interpret that by setting and maintaining the ambient temperature around the aircraft to the temperature supplied in the METAR no matter what the altitude). The other well documented feature of FSHost is that only global weather can be set; there's no scope to take off in snow and arrive in sunshine!

My intention is therefore to provide the group with a (free) utility for that works for both FS9 and FSX that allows us to manage weather at different locations, perhaps providing "global" weather between them. I've already played with the weather interface provided by SimConnect with some success, whilst that works for FSX, it's obviously not a solution for FS9.

The hopefully simple question after all this background is, "Can the same FSUIPC weather interface be used to control the weather for both FS9 and FSX, and provide (within reason) identical weather for each?"

Link to comment
Share on other sites

... the FSHost client for FSX uses SimConnect, and sets "Global" mode before it sends the METAR for "GLOB" across, and FSX appears to interpret that by setting and maintaining the ambient temperature around the aircraft to the temperature supplied in the METAR no matter what the altitude).

It should either be setting a series of temperature layers (perfectly possible in the extended METAR format supported by SimConnect, or, possibly easy, send a fresh Global setting as the aircraft climbs or descends. Same goes for winds of course.

The other well documented feature of FSHost is that only global weather can be set; there's no scope to take off in snow and arrive in sunshine!

Surely as you fly to different weather areas it obtains and supplies a fresh METAR?

The hopefully simple question after all this background is, "Can the same FSUIPC weather interface be used to control the weather for both FS9 and FSX, and provide (within reason) identical weather for each?"

Yes, as you would surely see if you used ActiveSky 6.5 which uses FSUIPC's "NWI" system to set localised weather and which works well with both Sims. In ASX they changed to using SimConnect directly, but 6.5 still worked pretty well.

I wouldn't go for global weather, though. Although FSX sports a "Global Weather" mode which overcomes the problems, FS9 in particular was almost impossible to control weather-wise globally. Once the global weather became localised you couldn't change it again without clearing all the weather and propagating fresh global settings. You can imagine how horrible that looks!

Regards

Pete

Link to comment
Share on other sites

Thanks for the prompt reply Pete...

I don't know if you've ever looked at FSHost - I suspect it doesn't use FSUIPC - but it's essentially an FS2002/4 multiplayer server that doesn't require a flight sim installation, and which allows FS2002/4 and (with a SimConnect based interface program) FSX pilots to fly together in that multiplayer environment.

... the FSHost client for FSX uses SimConnect, and sets "Global" mode before it sends the METAR for "GLOB" across, and FSX appears to interpret that by setting and maintaining the ambient temperature around the aircraft to the temperature supplied in the METAR no matter what the altitude).

It should either be setting a series of temperature layers (perfectly possible in the extended METAR format supported by SimConnect, or, possibly easy, send a fresh Global setting as the aircraft climbs or descends. Same goes for winds of course.

The weather feature of FSHost only allows a single temperature layer to be defined. Whilst this gets translated correctly in FS9 (presumably through the native MP interface) the way the FSX interface translates this is through setting the FSX weather mode to "Global" (unavailable through the UI according to the SDK) through SimConnect, and then through issuing a METAR string for the "GLOB" (global) weather station. A side effect of this appears to be that which I've noted in respect of ambient temperature - although pressure seems to decrease with altitude. I knocked something together to deliver an identical METAR but use the "Custom" weather mode, and (although it can take a while to propogate) everything appears to work as expected.

The other well documented feature of FSHost is that only global weather can be set; there's no scope to take off in snow and arrive in sunshine!

Surely as you fly to different weather areas it obtains and supplies a fresh METAR?

Unfortunately not... weather is set globally only. The weather doesn't (nor do I want it to) change in real time, but it would be nice to be able to have different conditions at departure, en route and arrival.

I wouldn't go for global weather, though. Although FSX sports a "Global Weather" mode which overcomes the problems, FS9 in particular was almost impossible to control weather-wise globally. Once the global weather became localised you couldn't change it again without clearing all the weather and propagating fresh global settings. You can imagine how horrible that looks!

As I'm not too worried about changing weather (at least not in the first place), it looks like the solution might be to clear the weather, to issue an "en route" (global) METAR, and then specific METARs for departure and arrival. Does that sound like it might fly (pun intended :) )?

Thanks again for the prompt reply.

Andy

Link to comment
Share on other sites

The weather feature of FSHost only allows a single temperature layer to be defined. Whilst this gets translated correctly in FS9

Not sure about "translation" there -- I think FS9 converts all input weather to localised weather in any case (there's no "global" mode), and the temperature gradients will be applied to altitudes not provided with a specific layer value.

(presumably through the native MP interface)

I don't know the MP interface but I didn't realise there was any provision for weather settings in it! That might have saved me a lot of work in past versions, where I had to hack severely into the WEATHER.DLL. Are you sure about this?.

the way the FSX interface translates this is through setting the FSX weather mode to "Global"

Yes, this is a new facility which Microsoft added at our request (mainly Damian of ActiveSky fame and myself insisting on it). The reason for it is to provide properly controllable and reproducible weather for use in flight instruction. FS9 doesn't really allow detailed control for anything but short periods because it uses whatever is input merely to populate local weather stations which then are subject to individual development, forever after unchangeable (except by station-specific setting), unless you clear them and start over.

(unavailable through the UI according to the SDK) through SimConnect, and then through issuing a METAR string for the "GLOB" (global) weather station.

Yes, I understood all that from your first posting. I use all of the SimConnect facilities in FSUIPC4 and they are all accessible through the NWI.

A side effect of this appears to be that which I've noted in respect of ambient temperature

Yes, because the Global setting is intended to allow specific control at the aircraft, which it does well. You can make it set a gradient by setting multiple layers, by which you can actually control the gradient itself of course.

To do the same rather fuzzier system applied in FS9 you'd not use "global mode", but instead do exactly as you did in FS9 -- Clear all the weather (which can be done through SimConnect by setting the clear weather 'Theme'), then set Custom weather mode (same as "user-defined" in the UI) and then write the "GLOB" METAR. The cleared weather stations would be populated by that, but develop as you'd expect real weather to develop, including temperature gradients and so on.

You still effectively lose control from then on, but from your first post it sounds as if FSHost doesn't care about that as it doesn't give you local weather as you are flying in any case.

although pressure seems to decrease with altitude.

LOL! There's only ever been one pressure setting in FS in any case -- the QNH or sea level pressure. Obviously pressure has to decrease with altitude else you destroy a lot of what flying is about and none of the altimeters would work!

In FS2002 and before only temperature, winds and clouds had layers. In FS2004 they also added layer facilities for visibility but they didn't work. They don't work properly in FSX either. Pressure never had layers and of course never needed to -- maybe weather on Jupiter has variable pressure gradients, and perhaps there is some minor variations in our atmosphere, but evidently nothing serious at normal flying altitudes.

it looks like the solution might be to clear the weather, to issue an "en route" (global) METAR, and then specific METARs for departure and arrival. Does that sound like it might fly

Yes. Pretty much the same as on FS9, then, except better than FSHost because of your different weather. You'd set "custom" mode (though i think that may happen in any case as soon as you write a WX station METAR).

Note that your destination weather (and your en route weather) may change substantially whilst you fly, depending on the user's dynamics slider. There is a SimConnect (and FSUIPC) facility for setting that to "0" which is not really zero, but ssslllooowww enough mostly.

Regards

Pete

Link to comment
Share on other sites

Plenty of food for thought there Pete.

where I had to hack severely into the WEATHER.DLL. Are you sure about this?.

It's an assumption I'm making through observation... Weather is set on the server through the UI (either a dialog or a web page depending on how you want to access it) and sent either on demand or at regular intervals to all connected FS clients. There's no other connection to the server than the FS MP session. When I get a few moments, I'll put a network monitor on there and see if I can spot anything obvious.

You can make it set a gradient by setting multiple layers, by which you can actually control the gradient itself of course.

So by setting an appropriate temperature at the tropopause (-56 at 11000m for sake of argument) as well as the surface temperature, FS will give me the gradient? All I need to do now is convince the author to put this into his program!

Again, many thanks for the rapid and comprehensive response.

Andy

Link to comment
Share on other sites

There's no other connection to the server than the FS MP session.

Okay. So, nothing installed in FS9, it just all works with no add-ons? In that case you must be correct, weather being set through the MP interface. I should have investigated that!

Never mind, too late now! ;-)

So by setting an appropriate temperature at the tropopause (-56 at 11000m for sake of argument) as well as the surface temperature, FS will give me the gradient? All I need to do now is convince the author to put this into his program!

Sorry, I don't know exactly how that would work (though I suppose I could test that using WeatherSet2). But FS does graduate temperature changes between layer levels, so I would certainly assume so.

Regards

Pete

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.