The coding is actually very simple.

//turn fog on
dbSetFogOn();
//control how far away the fog starts to cover up 3d objects
dbSetFogDistance(distance);
//control the colour of the fog
dbSetFogColor( r,g,b );
//turn fog off
dbSetFogOff();
With these, basically I can plug in any value at any time (using variables) and control the fog based on the player's location, time of day, whatever we want to do!
We can do it anywhere in the game that we want fog. Weather such as rain, snow, etc. will be very different. I'm still not sure how we'll be able to do that. I'm sensing confusing particle effect coding there.
