I made a map once with something like that for gmod, and it comes pretty close.
When the storm starts, 4 or 5 func_precipitation brushes spawn via a point_template. The fog’s begin and max distance decreases. Ambient generic plays storm/rain/thunder sounds. Every now and then the fog colour changes in something white/yellow ish for 0.1 seconds (or a bit less) to simulate lighting. All is tied to a logic_timer that starts the event every 7 mins or so.
Here is the map: http://www.facepunch.com/showthread.php?t=740890
It was my first map i released in public.
The weather effects are modest, not really a big storm but you can always intensify it. Feel free to decompile, but dont just copy paste