Title: | World Magnetic Model |
---|---|
Description: | Calculate magnetic field at a given location and time according to the World Magnetic Model (WMM). Both the main field and secular variation components are returned. This functionality is useful for physicists and geophysicists who need orthogonal components from WMM. Currently, this package supports annualized time inputs between 2000-01-01 to 2029-12-31. If desired, users can specify which WMM version to use, e.g., the original WMM2015 release or the recent out-of-cycle WMM2015 release. Methods used to implement WMM, including the Gauss coefficients for each release, are described in the following publications: NOAA NCEI Geomagnetic Modeling Team and British Geological Survey (2024) <doi:10.25921/aqfd-sd83>, Chulliat et al (2020) <doi:10.25923/ytk1-yx35>, Chulliat et al (2019) <doi:10.25921/xhr3-0t19>, Chulliat et al (2015) <doi:10.7289/V5TB14V7>, Maus et al (2010) <https://www.ngdc.noaa.gov/geomag/WMM/data/WMMReports/WMM2010_Report.pdf>, McLean et al (2004) <https://www.ngdc.noaa.gov/geomag/WMM/data/WMMReports/TRWMM_2005.pdf>, and Macmillian et al (2000) <https://www.ngdc.noaa.gov/geomag/WMM/data/WMMReports/wmm2000.pdf>. |
Authors: | Will Frierson [aut, cre] |
Maintainer: | Will Frierson <[email protected]> |
License: | MIT + file LICENSE |
Version: | 1.1.3 |
Built: | 2025-06-15 01:48:03 UTC |
Source: | https://github.com/wfrierson/wmm |
Function that takes in geodetic GPS location and annualized time, and returns the expected magnetic field from WMM.
GetMagneticFieldWMM(lon, lat, height, time, wmmVersion = "derived") wmm(lon, lat, height, time, wmmVersion = "derived")
GetMagneticFieldWMM(lon, lat, height, time, wmmVersion = "derived") wmm(lon, lat, height, time, wmmVersion = "derived")
lon |
GPS longitude |
lat |
GPS latitude, geodetic |
height |
GPS height in meters above ellipsoid |
time |
Annualized date time. E.g., 2015-02-01 = (2015 + 32/365) = 2015.088; optionally an object (length 1) of class 'POSIXt' or 'Date' |
wmmVersion |
String representing WMM version to use. Must be consistent with |
list
of calculated main field and secular variation vector components in nT and nT/yr, resp. The magnetic element intensities (i.e., horizontal and total intensities, h & f) are in nT and the magnetic element angles (i.e., inclination and declination, i & d) are in degrees, with their secular variation in nT/yr and deg/yr, resp.: x
, y
, z
, xDot
, yDot
, zDot
, h
, f
, i
, d
, hDot
, fDot
, iDot
, dDot
GetMagneticFieldWMM( lon = 240, lat = -80, height = 0, time = 2025, wmmVersion = 'WMM2025' ) ## Expected output # x = 6117.5 nT # y = 15751.9 nT # z = -52022.5 nT # xDot = 33.3 nT/yr # yDot = -8.6 nT/yr # zDot = 95.5 nT/yr # h = 16898.1 nT # f = 54698.2 nT # i = -72 deg # d = 68.78 deg # hDot = 4.0 nT/yr # fDot = -89.6 nT/yr # iDot = 0.03 deg/yr # dDot = -0.12 deg/yr ## Calculated output #$x #[1] 6117.548 #$y #[1] 15751.91 #$z #[1] -52022.52 #$xDot #[1] 33.27253 #$yDot #[1] -8.646338 #$zDot #[1] 95.54722 #$h #[1] 16898.13 #$f #[1] 54698.17 #$i #[1] -72.00499 #$d #[1] 68.77539 #$hDot #[1] 3.985647 #$fDot #[1] -89.64208 #$iDot #[1] 0.03489031 #$dDot #[1] -0.1157767
GetMagneticFieldWMM( lon = 240, lat = -80, height = 0, time = 2025, wmmVersion = 'WMM2025' ) ## Expected output # x = 6117.5 nT # y = 15751.9 nT # z = -52022.5 nT # xDot = 33.3 nT/yr # yDot = -8.6 nT/yr # zDot = 95.5 nT/yr # h = 16898.1 nT # f = 54698.2 nT # i = -72 deg # d = 68.78 deg # hDot = 4.0 nT/yr # fDot = -89.6 nT/yr # iDot = 0.03 deg/yr # dDot = -0.12 deg/yr ## Calculated output #$x #[1] 6117.548 #$y #[1] 15751.91 #$z #[1] -52022.52 #$xDot #[1] 33.27253 #$yDot #[1] -8.646338 #$zDot #[1] 95.54722 #$h #[1] 16898.13 #$f #[1] 54698.17 #$i #[1] -72.00499 #$d #[1] 68.77539 #$hDot #[1] 3.985647 #$fDot #[1] -89.64208 #$iDot #[1] 0.03489031 #$dDot #[1] -0.1157767