Weather system behaves strange on set: if you want to set a target weather variable, the actual values jump down below 0 occasionally (I had as much as -10), this seems to even be transmitted on occasion to the client, as it can turn into the "all screen is a shadow" graphics error, especially if you want to change a value too fast (e.g. call set with target 0.0 when value is 0.9, however it can also happen the other way around, which results in strange jumping weather effects)
For fog it has the nice upside, that while this persists, the rendering of the world is extremely clear, something you cannot even get at the value being 0; However you cannot set it on purpose on negative values, so using this "feature" is out of the question anyway.
I figured this out when I started writing my own Weather controller, and looked at the values in onUpdate loop, and tried to nail down where the strange bugs came from I experienced from time to time.