Hmmm... for rain, I think the parameters could be
Wind direction: in radians
Wind speed: in knots? LOL just something like from 0 to 10 or something like that, no need to be too exact in this.
Gravity
Number of layers: adding a little depth
but I don't know if the parallax scrolling will make things look weird or cool
Raindrop quantity: Maybe max number of drops at the same time, or drops per second.
Raindrom randomess: the chances of generating a raindrop, 1 would be always (very mathematical and regular rain, always having the max amount of raindrops at screen) and from 0.9 to 0.1, more chances or less. 0 for nothing (?).
Something else...
And after that, all the look and feel parameters, like wind sound, raindrop hit sound, drops graphics and all that.
And of course, all the parameters editable and updateable in real-time, because with that and something to "fade" between parameters would be nice for making a smooth storm to calm transition, or changing the wind direction real-time smoothly. Wich makes me think... wouldn't it be better to make some built-in method for fading (argh, I don't know a better word to explain it, I know fades are for graphics) from one value to another smoothly in a given amount of time? Something like
math.FadeValue(startValue,endValue,steps,delay)
I know, it can be done by scripting, but I'm sure that a built-in function would be smoother and faster.
EDIT: Corrected it so it will follow Galileo's law... how dumb I was, falling speed doesn't depend on weight!
If so, a parameter "Air friction" should be added to make sense,and I think that's too much,so graviti should be OK.
P.S. This edition was made from mi P900 while I was in the train