My application uses threads, and I discovered that geomag.declination() is not threadsafe and resulted in me calculating incorrect declinations.
Perhaps this is 'by-design', but if so it should be documented.
As a work-around, I switched my call to:
geomag.geomag.GeoMag().GeoMag(latitude, longitude).dec