While I was originally interested in finding interesting ways to model different cloud types, I came to realize that the arrangement of clouds is as much part of a realistic visual experience of the sky than the individual cloud - so the project evolved into modelling local weather phenomena. I have outlined the project in the Wiki if anyone is interested in details, and the work presented as the Cirrus Sky and as the Thunderstorm will end up as part of the local weather package.
In short, I'm trying to create an alternative weather system (that for the moment bypasses the standard Flightgear weather system) in which weather phenomena are tied to a specific location and connected with each other in a specific way. This for example means that clouds drift with the wind, or that particular cloud types herald a thunderstorm and so on.
What is meant by this in practice is perhaps most easily illustrated best pictorially:
Here is morning Cumulus development over TNCM created by my convective cloud system algorithm. The landmass is a better convective seed than the ocean, so more and stronger convenction is observed over St. Marteens than over the sea. The standard Flightgear weather system creates a cloud layer without such a connection with terrain.
Later in the afternoon, the convection is significantly stronger, and Cumulus development is much increased. Eventually, that may develop into thunderstorms. Currently, the convection algorithm isn't dynamical yet, so the pics represent the algorithm being run at two different times, not a continuous transition - eventually it's supposed to be dynamical though.
Here is a different example created from the barrier algorithm - condensation clouds when air is moved over a barrier (near Clermont-Ferrand) - (I'd call them 'Stauwolken' in German, but I've no idea what the proper English term is). The clouds appear specifically in the windward side of the ridge wherever the airstream is forced above the condensation altitude.
At present, these are more or less teasers - the 'interface' for these (and other) algorithms is rather ugly (you have to edit the Nasal code...) - but I'm working to make it more accessible, at which point there will be another experimental release.
Since it is quite an ambitious project, I'm looking for help with various tasks if anyone is interested:
* creation of more cloud textures - if anyone is good with an image manipulation program, the more distinct cloud textures of various types the better
* development of more and novel cloud models - while I have viable solutions for some clouds, a decent solution for Stratus and other thick layered clouds eludes me at present - if anyone has a good idea, please let me know. In particular, if a rotating cloud model can be replaced by a viable static solution, that's a big thing in terms of numbers of clouds which can be placed without loss of framerate. I can have 1000 distinct static cloud models without a fuss, but if I have to transform the models, 200 is already a stretch.
* algorithm testing and tuning - cloud placement algorithms don't create realistic cloud patterns out of the box, but need to be called with a suitable parameter range to be determined by try and error - which is fun, but takes a lot of time... Also, I guess some things could be solved in a more elegant way in Nasal - I just learned it a few weeks ago, and probably don't code the best solutions.
* research in weather patterns - I know quite well what the typical weather patterns in North America/Europe are, but I'm less sure about tropical weather, so any help what patterns to build would be appreciated
* shaders - I have the feeling fog and haze are much better handled by shaders than by textures - unfortunately I know next to nothing about that - so if anyone who knows can spare the time for a few long mails for a tutorial and a question/answer session, that would be very useful - or if anyone just takes care of these challenges...
* C++ implementation - all features I want to write run with Nasal as far as I can forsee, although I may need a few dirty workarounds. I guess it's too early to really start hard-coding things at this point, but eventually it should be done for thing which need to run fast, and I guess it would be very useful to think already now what structures should be eventually there and where the C++ Flightgear code is going. Again, if anyone can spare the time for a few longer emails and questions and answers, that would be of some help.
* METAR/Multiplayer interfaces - there were some discussions about METAR in other threads already, some ideas about Multiplayer weather - I haven't really thought too much about either, but it would be good to continue the discussions and settle on a viable scheme to merge local weather with METAR or allow to share it over MP
If anyone wants to join in, please let me know what you're particularly interested in by PN or here, and I'll try to coordinate everything and provide a suitable infrastructure for discussions (the Wiki outline, to-do and done lists...).
Edit:
Package download v1.4 here.
The package needs to be unpacked in $FGROOT/ and writes content into Nasal/local_weather, Models/Weather/, Environment/ and gui/dialogs/.
Important note: The package is designed for a current GIT binary.
The documentation is also available online as README.
Just for comparison with the pics above - this is where we are now: