PDA

View Full Version : Ice and freezing rain with updated 'icev10' gauge



MarkH
June 25th, 2015, 11:01
There have been a few mentions of Charles Owen's icev10 gauge in here in the past and I've been playing with it in the Aerosoft Twin Otter Extended. What follows is a bit Twin Otter biased but most of it generalises to other aircraft too.

First off, I have installed the icev10 gauge in my VC to give me a visual indicator of ice buildup without needing to use the pop-up checklist. But this gauge doesn't just display an indicator, it also simulates additional icing effects, notably the accumulation of freezing rain and interference with the flight controls (simulating wing and tailplane stalls) when the ice load gets too high. Although the Twin Otter accumulates ice in freezing rain conditions, it appears just to be treated the same as regular ice, so you can get rid of it by operating the de-icer boots (or leaving them on Auto). The icev10 simulation doesn't shed freezing rain ice unless you fly out of the freezing conditions, which makes things much more of a challenge.

You can get the icev10 gauge by searching all the regular places for 'icev10.zip'. Unfortunately the original has a bunch of problems, which I have fixed by tweaking the XML file. I have attached that file to this message - all you have to do is install the gauge from the original zip file, then copy my XML file over the original one. (You will need to rename the attachment to 'IceWarning.xml' as I can't attach a file here with a '.xml' suffix.) I have also added comments so you can see how it works and perhaps make your own changes too. You can install the gauge as a 2D panel if you want, but I have managed to pop it into the VC by putting it on top of the transponder. It covers up the altitude readout but that's no real loss.

To get the gauge here you need to add a line to the [VCockpit01] section of panel.cfg:

gauge16=ICE!IceWarning, 8, 441, 120, 60

You will notice that the position numbers are the same as those of the transponder gauge, so you can experiment with putting it in other places instead. It works over the clock too. It would be nice to get this in place of the stall warning but I don't know how to do it.

Although this now sort of works with the Twin Otter you will find that the Twin Otter de-ice functions do not shed FSX-accumulated ice, which I think tells us that the Twin Otter's structural icing model is entirely internal. So you will need to make sure you operate the FSX de-icing functions too if you want to dump the ice. You can just map different buttons or keys to do this but if you use LINDA as I do, you can add the requisite commands to the Lua functions so that they operate both the Aerosoft de-icing functions and the FSX ones. I have done this and I have also attached a file with the mods in so you can see what is required. If you are going to do this I suggest you integrate these functions into the full LINDA library file for the Twin Otter, which you can find at the LINDA download forum (http://forum.avsim.net/topic/416130-aerosoft-twin-otter-extended-module-version-13/?p=2747725).

Finally, if you look closely at those Lua functions you will see I have also called the 'engine de-ice' function for each engine whenever the intake de-ice or inertial separator are switched on. This is the same control that operates the carb heat in a piston-engined aircraft and it has more or less the same effect, which is to cause a drop in power (about 15% in the Twin) Otter. I think this hit makes it more realistic and it means there is now a trade-off in using the engine de-ice functions. (Otherwise you might as well just turn them on and forget about them.) I have otherwise found that the engine icing failures and precautions work well in the Twin Otter and that you definitely need to use them!

The following video shows my experiments with the icev10 gauge in the Twin Otter. For more Twin Otter-specific icing stuff you can also look at Part 1 (https://www.youtube.com/watch?v=sNiRLSuyQgU), and you can find a playlist for all my 'close up' videos here (https://www.youtube.com/playlist?list=PLy5yqXwYq-sGfAFGW157UWu7e-TbvxK5W).


http://www.youtube.com/watch?v=CFEotO-APrs

Bjoern
June 25th, 2015, 14:01
I would have suggested an invisible XML gauge that ties the Twotters deicing switch variables to the corresponding default key events for the deicing systems.


Also, great documentation in the icing gauge itself.


One thing I'd improve is using a time-based timer instead of an update-cycle based one. The former timer will correctly react to the simulation being paused while the latter will run regardless of pause state. Not the best solution if you go for a short coffee break, unpause and have your plane tumble out of control.

Timer:

(P:ABSOLUTE TIME, seconds) (L:START TIME, seconds) - 1 >
if{ (P:ABSOLUTE TIME, seconds) (>L:START TIME, seconds)
[Code to be executed]
}

The "1" can be changed to anything you want to. If you need an update every ten seconds, just change it to "10".

MarkH
June 25th, 2015, 23:33
I would have suggested an invisible XML gauge that ties the Twotters deicing switch variables to the corresponding default key events for the deicing systems...
One thing I'd improve is using a time-based timer instead of an update-cycle based one.

Great ideas, thanks. It's definitely 'entry level' in terms of the simulation at the moment, although way better than default FSX. Even adding some randomness would be a distinct improvement (currently the RED zone stall just waits 22 seconds and then screws with your elevators). I also thought about tracking the tailplane and wing ice separately, which would allow a better indicator in the cockpit and it would also (potentially) make the separate Twin Otter de-icing boots meaningful. I can imagine limiting tailplane stalls to tailplane icing and also asymmetric wing effects according to which of the four wing boots you've operated.

The limiting factor for me was the appallingly fiddly coding inside those XML expressions. (It took me a lot of fiddling before I figured out that "if{" was a keyword!) I think I would need to read about gauges from scratch if I was going to do anything more with this, or perhaps find other ways to program it. (I think all this could be done in Lua scripts, which it seesm to me would be much easier.) I tried loading this XML file into the ace.exe program but it didn't like it.

[P.S. Sorry for the mix of spaces and TABs in the code. Set TABs to 4 and it should look okay.]

Bjoern
June 26th, 2015, 08:28
No one uses the ACE program. All gauge devs ever do is reverse-engineer working gauges. ;)

Tracking wing and tailplane icing is one of the easier things, but randomness is tricky, to say the least, and requires good, fundamental understanding of gauge design. Try to expand the basic functionality first before moving on.

I've implemented leading edge, intake and window icing into the TinFork 732. In that example, I've used the spoiler system to simulate loss of lift as a function of added drag. But this obviously only works convincingly if the airplane doesn't have (visible) spoilers or if the model file was designed around it. Same for window icing - has to be built into the model.

As the Twotter doesn't appear to have spoilers, you could simply make the flight model think that it is equipped with some.
The relevant parameter in the aircraft.cfg is listed here:
https://msdn.microsoft.com/en-us/library/cc526949.aspx#mozTocId548772

MarkH
June 26th, 2015, 10:18
As the Twotter doesn't appear to have spoilers, you could simply make the flight model think that it is equipped with some.

The Aerosoft icing model already uses that trick. To be honest I'm not that fussed in adding more for now. The main thing is to make sure there are genuine incentives for managing the ice build-up.

Anneke
June 26th, 2015, 11:08
Very nice! Thanks very much!

Bjoern
June 27th, 2015, 10:22
The Aerosoft icing model already uses that trick. To be honest I'm not that fussed in adding more for now. The main thing is to make sure there are genuine incentives for managing the ice build-up.

So you just wanted to supplement the added drag from the "spoilers" with freezing rain on the wings and tailplane, right?

MarkH
June 27th, 2015, 10:38
So you just wanted to supplement the added drag from the "spoilers" with freezing rain on the wings and tailplane, right?

Sorry, I don't get what you're asking.

Bjoern
June 27th, 2015, 12:17
Sorry, I don't get what you're asking.

The Twotter has icing via spoilers and you want to add more detail by simulating aerodynamic stalls through freezing rain on the wings and/or tailplane.

MarkH
June 27th, 2015, 13:09
The Twotter has icing via spoilers and you want to add more detail by simulating aerodynamic stalls through freezing rain on the wings and/or tailplane.

Yes, that's about it! The main thing is it's now a bit more critical if you let the ice build up.