{"id":"v001","input":{"lat":89.0,"lon":-121.0,"height":"28 km","date":"2025.000000","grid":"auto"},"expect":{"result.grivation.value":21.230000000000018,"result.declination.value":-99.77,"result.convergence.value":-121.0,"ok":true},"source":"NCEI WMM2025 test values (declination) and GeographicLib GeoConvert -c (convergence)","sourceVersion":"WMM2025 (2024-11-13); GeographicLib 2.x","tolerance":{"result.grivation.value":{"abs":0.006},"result.declination.value":{"abs":0.006},"result.convergence.value":{"abs":1e-07}}}
{"id":"v002","input":{"lat":89.0,"lon":-121.0,"height":"28 km","date":"2025.000000","grid":"ups"},"expect":{"result.grivation.value":21.230000000000018,"result.declination.value":-99.77,"result.convergence.value":-121.0,"ok":true},"source":"NCEI WMM2025 test values (declination) and GeographicLib GeoConvert -c (convergence)","sourceVersion":"WMM2025 (2024-11-13); GeographicLib 2.x","tolerance":{"result.grivation.value":{"abs":0.006},"result.declination.value":{"abs":0.006},"result.convergence.value":{"abs":1e-07}}}
{"id":"v003","input":{"lat":-72.0,"lon":95.0,"height":"73 km","date":"2027.500000","grid":"auto"},"expect":{"result.grivation.value":-100.7378130653819,"result.declination.value":-102.64,"result.convergence.value":-1.9021869346181,"ok":true},"source":"NCEI WMM2025 test values (declination) and GeographicLib GeoConvert -c (convergence)","sourceVersion":"WMM2025 (2024-11-13); GeographicLib 2.x","tolerance":{"result.grivation.value":{"abs":0.006},"result.declination.value":{"abs":0.006},"result.convergence.value":{"abs":1e-07}}}
{"id":"v004","input":{"lat":-76.0,"lon":49.0,"height":"38 km","date":"2029.000000","grid":"auto"},"expect":{"result.grivation.value":-66.2206376272398,"result.declination.value":-64.28,"result.convergence.value":1.9406376272398,"ok":true},"source":"NCEI WMM2025 test values (declination) and GeographicLib GeoConvert -c (convergence)","sourceVersion":"WMM2025 (2024-11-13); GeographicLib 2.x","tolerance":{"result.grivation.value":{"abs":0.006},"result.declination.value":{"abs":0.006},"result.convergence.value":{"abs":1e-07}}}
{"id":"v005","input":{"lat":79.0,"lon":125.0,"height":"75 km","date":"2028.000000","grid":"utm"},"expect":{"result.grivation.value":-20.553283413327108,"result.declination.value":-18.59,"result.convergence.value":1.9632834133271,"ok":true},"source":"NCEI WMM2025 test values (declination) and GeographicLib GeoConvert -c (convergence)","sourceVersion":"WMM2025 (2024-11-13); GeographicLib 2.x","tolerance":{"result.grivation.value":{"abs":0.006},"result.declination.value":{"abs":0.006},"result.convergence.value":{"abs":1e-07}}}
{"id":"v006","input":{"lat":62.0,"lon":53.0,"height":"8 km","date":"2027.500000","grid":"auto"},"expect":{"result.grivation.value":17.623946042665608,"result.declination.value":19.39,"result.convergence.value":1.7660539573344,"ok":true},"source":"NCEI WMM2025 test values (declination) and GeographicLib GeoConvert -c (convergence)","sourceVersion":"WMM2025 (2024-11-13); GeographicLib 2.x","tolerance":{"result.grivation.value":{"abs":0.006},"result.declination.value":{"abs":0.006},"result.convergence.value":{"abs":1e-07}}}
{"id":"v007","input":{"lat":-66.0,"lon":-5.0,"height":"37 km","date":"2027.000000","grid":"auto"},"expect":{"result.grivation.value":-19.047214077417095,"result.declination.value":-17.22,"result.convergence.value":1.8272140774171,"ok":true},"source":"NCEI WMM2025 test values (declination) and GeographicLib GeoConvert -c (convergence)","sourceVersion":"WMM2025 (2024-11-13); GeographicLib 2.x","tolerance":{"result.grivation.value":{"abs":0.006},"result.declination.value":{"abs":0.006},"result.convergence.value":{"abs":1e-07}}}
{"id":"v008","input":{"lat":89.0,"lon":-121.0,"height":"28 km","date":"2025.000000","grid":"utm"},"expect":{"ok":false,"error.code":"OUT_OF_DOMAIN"},"source":"NCEI WMM2025 test values (declination) and GeographicLib GeoConvert -c (convergence)","sourceVersion":"WMM2025 (2024-11-13); GeographicLib 2.x","tolerance":{}}
{"id":"v009","input":{"lat":-72.0,"lon":95.0,"height":"73 km","date":"2027.500000","grid":"ups"},"expect":{"ok":false,"error.code":"OUT_OF_DOMAIN"},"source":"NCEI WMM2025 test values (declination) and GeographicLib GeoConvert -c (convergence)","sourceVersion":"WMM2025 (2024-11-13); GeographicLib 2.x","tolerance":{}}
{"id": "v010", "input": {"lat": 40.446111, "lon": -79.982222, "date": "2026-07-02"}, "expect": {"ok": true, "result.grivation.value": -9.899261628663652, "result.declination.value": -9.238955197908526, "result.convergence.value": 0.6603064307551267}, "source": "Declination from pygeomag (an independent WMM2025 implementation) and grid convergence from PROJ's Proj.get_factors; grivation G = D - gamma and magnetic = true - variation, east positive", "sourceVersion": "pygeomag / PROJ 9.3.0", "tolerance": {"result.grivation.value": {"abs": 0.0001}, "result.declination.value": {"abs": 0.0001}, "result.convergence.value": {"abs": 1e-06}}}
{"id": "v011", "input": {"lat": 51.5074, "lon": -0.1278, "date": "2026-01-15"}, "expect": {"ok": true, "result.grivation.value": -1.1654480718042646, "result.declination.value": 1.083325262631923, "result.convergence.value": 2.2487733344361875}, "source": "Declination from pygeomag (an independent WMM2025 implementation) and grid convergence from PROJ's Proj.get_factors; grivation G = D - gamma and magnetic = true - variation, east positive", "sourceVersion": "pygeomag / PROJ 9.3.0", "tolerance": {"result.grivation.value": {"abs": 0.0001}, "result.declination.value": {"abs": 0.0001}, "result.convergence.value": {"abs": 1e-06}}}
{"id": "v012", "input": {"lat": 35.6762, "lon": 139.6503, "date": "2026-03-21"}, "expect": {"ok": true, "result.grivation.value": -7.133342954904064, "result.declination.value": -7.920590540480383, "result.convergence.value": -0.7872475855763191}, "source": "Declination from pygeomag (an independent WMM2025 implementation) and grid convergence from PROJ's Proj.get_factors; grivation G = D - gamma and magnetic = true - variation, east positive", "sourceVersion": "pygeomag / PROJ 9.3.0", "tolerance": {"result.grivation.value": {"abs": 0.0001}, "result.declination.value": {"abs": 0.0001}, "result.convergence.value": {"abs": 1e-06}}}
{"id": "v013", "input": {"lat": -33.8688, "lon": 151.2093, "date": "2026-09-18"}, "expect": {"ok": true, "result.grivation.value": 11.827133149063933, "result.declination.value": 12.825305004963496, "result.convergence.value": 0.9981718558995635}, "source": "Declination from pygeomag (an independent WMM2025 implementation) and grid convergence from PROJ's Proj.get_factors; grivation G = D - gamma and magnetic = true - variation, east positive", "sourceVersion": "pygeomag / PROJ 9.3.0", "tolerance": {"result.grivation.value": {"abs": 0.0001}, "result.declination.value": {"abs": 0.0001}, "result.convergence.value": {"abs": 1e-06}}}
{"id": "v014", "input": {"lat": -22.9068, "lon": -43.1729, "date": "2026-06-01"}, "expect": {"ok": true, "result.grivation.value": -22.294858842404018, "result.declination.value": -23.006235091328413, "result.convergence.value": -0.7113762489243968}, "source": "Declination from pygeomag (an independent WMM2025 implementation) and grid convergence from PROJ's Proj.get_factors; grivation G = D - gamma and magnetic = true - variation, east positive", "sourceVersion": "pygeomag / PROJ 9.3.0", "tolerance": {"result.grivation.value": {"abs": 0.0001}, "result.declination.value": {"abs": 0.0001}, "result.convergence.value": {"abs": 1e-06}}}
{"id": "v015", "input": {"lat": 60.0, "lon": 5.0, "date": "2026-05-05"}, "expect": {"ok": true, "result.grivation.value": 6.0958760737103, "result.declination.value": 2.6303607323640823, "result.convergence.value": -3.4655153413462174}, "source": "Declination from pygeomag (an independent WMM2025 implementation) and grid convergence from PROJ's Proj.get_factors; grivation G = D - gamma and magnetic = true - variation, east positive", "sourceVersion": "pygeomag / PROJ 9.3.0", "tolerance": {"result.grivation.value": {"abs": 0.0001}, "result.declination.value": {"abs": 0.0001}, "result.convergence.value": {"abs": 1e-06}}}
{"id": "v016", "input": {"lat": 78.0, "lon": 15.0, "date": "2026-05-05"}, "expect": {"ok": true, "result.grivation.value": 12.137248048203622, "result.declination.value": 12.137248048203638, "result.convergence.value": 1.5127874515872565e-14}, "source": "Declination from pygeomag (an independent WMM2025 implementation) and grid convergence from PROJ's Proj.get_factors; grivation G = D - gamma and magnetic = true - variation, east positive", "sourceVersion": "pygeomag / PROJ 9.3.0", "tolerance": {"result.grivation.value": {"abs": 0.0001}, "result.declination.value": {"abs": 0.0001}, "result.convergence.value": {"abs": 1e-06}}}
{"id": "v017", "input": {"lat": 64.1339, "lon": -21.8974, "date": "2026-08-08"}, "expect": {"ok": true, "result.grivation.value": -10.269628419169667, "result.declination.value": -11.077135969497037, "result.convergence.value": -0.8075075503273701}, "source": "Declination from pygeomag (an independent WMM2025 implementation) and grid convergence from PROJ's Proj.get_factors; grivation G = D - gamma and magnetic = true - variation, east positive", "sourceVersion": "pygeomag / PROJ 9.3.0", "tolerance": {"result.grivation.value": {"abs": 0.0001}, "result.declination.value": {"abs": 0.0001}, "result.convergence.value": {"abs": 1e-06}}}
{"id": "v018", "input": {"lat": 19.4326, "lon": -99.1332, "date": "2026-02-14"}, "expect": {"ok": true, "result.grivation.value": 3.96489197619215, "result.declination.value": 3.9205765635498806, "result.convergence.value": -0.04431541264226917}, "source": "Declination from pygeomag (an independent WMM2025 implementation) and grid convergence from PROJ's Proj.get_factors; grivation G = D - gamma and magnetic = true - variation, east positive", "sourceVersion": "pygeomag / PROJ 9.3.0", "tolerance": {"result.grivation.value": {"abs": 0.0001}, "result.declination.value": {"abs": 0.0001}, "result.convergence.value": {"abs": 1e-06}}}
{"id": "v019", "input": {"lat": 1.3521, "lon": 103.8198, "date": "2026-11-11"}, "expect": {"ok": true, "result.grivation.value": 0.2656777174710009, "result.declination.value": 0.2378252213858843, "result.convergence.value": -0.02785249608511661}, "source": "Declination from pygeomag (an independent WMM2025 implementation) and grid convergence from PROJ's Proj.get_factors; grivation G = D - gamma and magnetic = true - variation, east positive", "sourceVersion": "pygeomag / PROJ 9.3.0", "tolerance": {"result.grivation.value": {"abs": 0.0001}, "result.declination.value": {"abs": 0.0001}, "result.convergence.value": {"abs": 1e-06}}}
{"id": "v020", "input": {"lat": -45.0, "lon": 170.0, "date": "2026-04-10"}, "expect": {"ok": true, "result.grivation.value": 24.756382811037646, "result.declination.value": 25.463525856621334, "result.convergence.value": 0.7071430455836897}, "source": "Declination from pygeomag (an independent WMM2025 implementation) and grid convergence from PROJ's Proj.get_factors; grivation G = D - gamma and magnetic = true - variation, east positive", "sourceVersion": "pygeomag / PROJ 9.3.0", "tolerance": {"result.grivation.value": {"abs": 0.0001}, "result.declination.value": {"abs": 0.0001}, "result.convergence.value": {"abs": 1e-06}}}
{"id": "v021", "input": {"lat": 70.0, "lon": 25.0, "date": "2026-12-21"}, "expect": {"ok": true, "result.grivation.value": 16.699972066075365, "result.declination.value": 14.82049733550741, "result.convergence.value": -1.8794747305679547}, "source": "Declination from pygeomag (an independent WMM2025 implementation) and grid convergence from PROJ's Proj.get_factors; grivation G = D - gamma and magnetic = true - variation, east positive", "sourceVersion": "pygeomag / PROJ 9.3.0", "tolerance": {"result.grivation.value": {"abs": 0.0001}, "result.declination.value": {"abs": 0.0001}, "result.convergence.value": {"abs": 1e-06}}}
{"id": "v022", "input": {"lat": 25.2048, "lon": 55.2708, "date": "2026-10-01"}, "expect": {"ok": true, "result.grivation.value": 2.9755067952714676, "result.declination.value": 2.2389320455378607, "result.convergence.value": -0.7365747497336068}, "source": "Declination from pygeomag (an independent WMM2025 implementation) and grid convergence from PROJ's Proj.get_factors; grivation G = D - gamma and magnetic = true - variation, east positive", "sourceVersion": "pygeomag / PROJ 9.3.0", "tolerance": {"result.grivation.value": {"abs": 0.0001}, "result.declination.value": {"abs": 0.0001}, "result.convergence.value": {"abs": 1e-06}}}
{"id": "v023", "input": {"lat": -1.2921, "lon": 36.8219, "date": "2026-07-15"}, "expect": {"ok": true, "result.grivation.value": 0.23124387782209166, "result.declination.value": 0.2803830590221974, "result.convergence.value": 0.049139181200105755}, "source": "Declination from pygeomag (an independent WMM2025 implementation) and grid convergence from PROJ's Proj.get_factors; grivation G = D - gamma and magnetic = true - variation, east positive", "sourceVersion": "pygeomag / PROJ 9.3.0", "tolerance": {"result.grivation.value": {"abs": 0.0001}, "result.declination.value": {"abs": 0.0001}, "result.convergence.value": {"abs": 1e-06}}}
{"id": "v024", "input": {"lat": 45.0, "lon": -123.0, "date": "2027-01-01"}, "expect": {"ok": true, "result.grivation.value": 14.396564598442806, "result.declination.value": 14.396564598442806, "result.convergence.value": -0.0}, "source": "Declination from pygeomag (an independent WMM2025 implementation) and grid convergence from PROJ's Proj.get_factors; grivation G = D - gamma and magnetic = true - variation, east positive", "sourceVersion": "pygeomag / PROJ 9.3.0", "tolerance": {"result.grivation.value": {"abs": 0.0001}, "result.declination.value": {"abs": 0.0001}, "result.convergence.value": {"abs": 1e-06}}}
{"id": "v025", "input": {"lat": -60.0, "lon": -60.0, "date": "2026-05-20"}, "expect": {"ok": true, "result.grivation.value": 6.950755653939461, "result.declination.value": 9.54942834785516, "result.convergence.value": 2.5986726939156997}, "source": "Declination from pygeomag (an independent WMM2025 implementation) and grid convergence from PROJ's Proj.get_factors; grivation G = D - gamma and magnetic = true - variation, east positive", "sourceVersion": "pygeomag / PROJ 9.3.0", "tolerance": {"result.grivation.value": {"abs": 0.0001}, "result.declination.value": {"abs": 0.0001}, "result.convergence.value": {"abs": 1e-06}}}
