returns the current magnetic field data for the current location.


returns the current magnetic field data for a location.


returns the magnetic field data for the specified time for the current location.


returns the magnetic field data for the specified time and location.


returns the component of the magnetic field for the specified time and location.

Details and Options

  • GeomagneticModelData[] makes use of $GeoLocation to determine your location and Now to determine current time.
  • The location loc can be specified as latitude and longitude coordinates {lat,long}, coordinates with a height {lat,long,h}, GeoPosition[], or as a named Entity[]. h can be input as a numeric object in meters or as a Quantity.
  • locationspec can also be a region as specified by a named Entity[], or a listed pair of specific locations {locationspec1,locationspec2} or {locationspec1,locationspec2,h}.
  • For regions, results are returned as arrays or an Association of arrays of magnetic field components by default. Arrays are calculated at the height of a specific coordinate point of the grid above the reference datum unless otherwise specified. If that data is not available, it uses a default height of 0 meters.
  • The magnetic field is calculated for the current time using the World Magnetic Model or "WMM". The model is updated regularly to account for slow changes in the Earth's magnetic field. Historical magnetic fields use "WMM" if the date is within their range of validity. Otherwise, GeomagneticModelData uses the International Geomagnetic Reference Field ("IGRF") or, for pre-1900 dates, the "GUFM1" model.
  • datespec can be specified by DateObject or DateList.
  • Location and date can also be specified together as Association["Location"->locationspec,"Date"datespec].
  • Components include "NorthComponent", "EastComponent", "DownComponent", "HorizontalComponent", "Declination", "Inclination", and "Magnitude". Components are measured relative to the reference ellipsoid "WGS84Original".
  • "DownComponent" is measured relative to the perpendicular to the reference ellipsoid where positive values are downward. "HorizontalComponent" is the field parallel to the surface at that point. "Declination" is the angle from the direction of true geographic north to the horizontal component, measured clockwise. "Inclination" is the angle between the horizontal component and the vertical component. "Magnitude" is the total magnitude of the field. "Potential" is the magnetic potential.
  • Components and "Magnitude" are returned in nanoteslas. "Inclination" and "Declination" are returned in angular degrees. "Potential" is returned as nanovolt seconds per meter.
  • All magnetic field components are returned as an Association unless a specific component is requested.
  • GeomagneticModelData[component] returns the component for the current magnetic field at your location.
  • GeomagneticModelData[locationspec,component] returns the component for the current magnetic field at the specified location.
  • GeomagneticModelData[locationspec,component,func] and GeomagneticModelData[locationspec,datespec,component,func] are used to specify the format of output when extended locations are specified.
  • Possible settings for func include:
  • Allreturn all values for extended locations
    GeoVectorreturn components as a GeoVector object
    GeoVectorENUreturn components as a GeoVectorENU object
    Intervalreturn intervals for extended locations
    Maxreturn maximum values for extended locations
    Meanreturn mean value for extended locations
    Minreturn minumum values for extended locations
    StandardDeviationreturn standard deviation for extended locations
  • GeoVector and GeoVectorENU are not available for "Potential" or "Magnitude" components.
  • GeomagneticModelData also includes the following properties: "NorthGeomagneticPole", "NorthModelDipPole", "NorthModelDipPoleGeoElevation", "SouthGeomagneticPole", "SouthModelDipPole", and "SouthModelDipPoleGeoElevation". These can be used to find the respective poles for the current or historical times.
  • GeomagneticModelData takes the following options:
  • GeoZoomLevel Automaticlevel of resolution of the magnetic field array
    Method Automaticmethod for calculating magnetic field
  • Method has the suboption "Model", which allows you to specify what model to use. Available models include "WMM", "IGRF", and "GUFM1".
  • The spatial resolution of the requested gravitational field data can be selected with the option GeoZoomLevelzoom, where zoom is a positive or negative integer. The larger the integer is, the more points are used to construct the array of data.


open allclose all

Basic Examples  (2)

Find the magnetic field components at a geographic position:

Use Entity to specify a location:

Find the magnetic field at a location and time:

Scope  (16)

Location Specification  (6)

Find the magnetic field components for the current location:

Provide location as a GeoPosition:

Location can be given as a list of coordinates and local height:

Coordinates and height can be specified with Quantity:

Find an array of magnetic vectors over a rectangular region defined by two points:

Points can be specified with GeoPosition or Entity:

Set the height at which the magnetic vectors will be calculated over the region:

Calculate the magnetic field over the region defined by an Entity:

Include a reference height:

Date Specification  (2)

Find the magnetic field components for historical times:

Find the magnetic field component at a specific place and time:

Component Specification  (3)

Request specific components of the magnetic field:

Find the derived components of a magnetic field:

Calculate the magnitude of the magnetic field:

Format Specification  (2)

Find the range of the east component for an extended region:

Obtain the maximum or mean value of a component for a region:

Association Specification  (2)

Date and location can be specified together using Association:

Association specification works with component arguments:

Poles  (1)

Find the properties of GeomagneticModelData:

Find the north geomagnetic pole:

Calculate the position of the southern dip pole in 1943:

Options  (2)

GeoZoomLevel  (1)

Control the size of the array produced for an extended region using GeoZoomLevel:

Method  (1)

Use the Method option to compare the IGRF and WMM models:

Applications  (5)

Find the magnitude of the magnetic field at a location:

Calculate the angle to the vertical:

Find the Lorentz force on an electron in a hydrogen atom traveling perpendicular to the vertical:

Calculate how declination varies with latitude:

Explore how the geomagnetic field changes with time:

Track the location of a perpendicular magnetic field or dip pole over time:

Possible Issues  (3)

Coordinates must be in the correct dimensions:

The geomagnetic models are only valid near the Earth's surface:

Historical models have a limited range of validity:

For the World Magnetic Model, this is even more limited:

Neat Examples  (2)

Examine the magnitude of the geomagnetic field across the entire planet:

Explore the change in declination across the globe:

Examine how the Earth's magnetic field changes over time:

Wolfram Research (2015), GeomagneticModelData, Wolfram Language function, (updated 2019).


Wolfram Research (2015), GeomagneticModelData, Wolfram Language function, (updated 2019).


Wolfram Language. 2015. "GeomagneticModelData." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2019.


Wolfram Language. (2015). GeomagneticModelData. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2024_geomagneticmodeldata, author="Wolfram Research", title="{GeomagneticModelData}", year="2019", howpublished="\url{}", note=[Accessed: 12-July-2024 ]}


@online{reference.wolfram_2024_geomagneticmodeldata, organization={Wolfram Research}, title={GeomagneticModelData}, year={2019}, url={}, note=[Accessed: 12-July-2024 ]}