I've settled on a canopy icing scheme that eschews the fixed 5,000m altitude threshold.
I originally tried to get the map's load.ini value for TEMPERATURE. But I couldn't get that to work. Upon further reflection on the use of the actual sea level temperature, which can differ pretty significantly from the load.ini's fixed value, I got to like the idea much more.
And so I take the actual sea level temperature at mission start. This value is dependent on time of day and month, using the map's load.ini TEMPERATURE value as a reference for some particular time and date. I apply a linear scaling for the icing height threshold such that the threshold height varies smoothly from sea level when the temp is -40C or colder up to 9,000m when the sea level temperature is +50C.
Yep, that means that for very cold winter maps canopy frost can be an issue even when on the ground, or when not quite so cold, commencing at a pretty low altitude.
Players not liking this feature can easily set the opacity in the .mat files to zero.
I have done some further refinement on the textures, which yield a better transition without as much of a pronounced difference at each texture addition or subtraction.
I hope to provide yet another update before long...
I have a topic in the Super School which goes into more detail, and which has some screenshots:
https://www.sas1946.com/main/index.php/topic,72974.0.html