Package 'wmm'

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 and 2025. 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: 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.2
Built: 2024-09-20 08:05:05 UTC
Source: https://github.com/wfrierson/wmm

Help Index


Calculate Expected Magnetic Field from WMM

Description

Function that takes in geodetic GPS location and annualized time, and returns the expected magnetic field from WMM.

Usage

GetMagneticFieldWMM(lon, lat, height, time, wmmVersion = "derived")

wmm(lon, lat, height, time, wmmVersion = "derived")

Arguments

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 time and one of the following: 'derived', 'WMM2000', 'WMM2005', 'WMM2010', 'WMM2015', 'WMM2015v2', 'WMM2020'. Default 'derived' value will infer the latest WMM version consistent with time.

Value

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

Examples

GetMagneticFieldWMM(
   lon = 240,
   lat = -80,
   height = 1e5,
   time = 2022.5,
   wmmVersion = 'WMM2020'
)

## Expected output
# x = 5814.9658886215 nT
# y = 14802.9663839328 nT
# z = -49755.3119939183 nT
# xDot = 28.0381961827 nT/yr
# yDot = 1.3970624624 nT/yr
# zDot = 85.6309533031 nT/yr
# h = 15904.1391483373 nT
# f = 52235.3588449608 nT
# i = -72.27367 deg
# d = 68.55389 deg
# hDot = 11.5518244235 nT/yr
# fDot = -78.0481471753 nT/yr
# iDot = 0.04066726 deg/yr
# dDot = -0.09217566 deg/yr

## Calculated output
#$x
#[1] 5814.966

#$y
#[1] 14802.97

#$z
#[1] -49755.31

#$xDot
#[1] 28.0382

#$yDot
#[1] 1.397062

#$zDot
#[1] 85.63095

#$h
#[1] 15904.14

#$f
#[1] 52235.36

#$i
#[1] -72.27367

#$d
#[1] 68.55389

#$hDot
#[1] 11.55182

#$fDot
#[1] -78.04815

#$iDot
#[1] 0.04066726

#$dDot
#[1] -0.09217566