I have been playing with the magnetometer in the Pololu 9DOF IMU. I recorded the data into a CSV file and plotted it in Excel. At the time I did not think much about it, but one evening as i was drifting off to sleep, I suddenly wondered why the Z axis (vertical) reading were so much larger than the x or y. Z was about twice the the maximum of X or Y.
After downloading the World Magnetic Model software, I now have an answer. In my neck of the woods (New Hampshire N42, W78) the magnetic flux lines are not even remotely parallel to the surface of the Earth. In fact they dive down at a 68 degree angle towards the North pole!
This accounts for the large values of Z flux and the tiny weight on marine compasses that allow you to balance the compass dial. If you did not adjust the weight as you move north the needle would dive down to the North and not be level. This also explains why when you buy a top of the line marine mechanical compass you are often asked where you sail so they can set it up for you.