Main Content

International Geomagnetic Reference Field

Calculate Earth magnetic field and secular variation using International Geomagnetic Reference Field

  • Library:
  • Aerospace Blockset / Environment / Gravity

  • International Geomagnetic Reference Field block

Description

The International Geomagnetic Reference Field block calculates the Earth magnetic field and secular variation using the selected International Geomagnetic Reference Field generation. It calculates the Earth magnetic field and secular variation at a position and time using the selected International Geomagnetic Reference Field generation.

Limitations

  • This block is valid between the heights of -1000 m and 5.6 Earth radii (35,​717,​567.​2 m).

  • This block is valid for these year ranges:

    • IGRF-13 model — 1900 and 2025

    • IGRF-12 model — 1900 and 2020

    • IGRF-11 model — 1900 and 2015

  • If the decimal year is outside the valid range for a generation,​ the International Geomagnetic Reference Field block linearly extrapolates the magnetic field to the out-of-range decimal year.​

  • For additional limitations, see :

    The International Geomagnetic Reference Field: A "Health" Warning

Ports

Input

expand all

Height, specified as a scalar, in selected units.

Data Types: double

Latitude, specified as a scalar in degrees. This block accepts latitude values greater than 90 and less than -90.

Data Types: double

Longitude, specified as a scalar, in degrees. This block accepts ranges greater than 180 and less than -180.

Data Types: double

Desired year in a decimal format to include any fraction of the year that has already passed. The value is the current year plus the number of days that have passed in this year divided by 365. To calculate the decimal year, dyear, for March 21, 2015:

dyear=decyear('21-March-2015','dd-mmm-yyyy')

Dependencies

To enable this port, select Input decimal year.

Data Types: double

Output

expand all

Magnetic field, returned as a vector, in selected units.

Data Types: double

Horizontal intensity, returned as a scalar, in selected units.

Data Types: double

Declination, returned as a scalar, in degrees.

Data Types: double

Inclination, returned as a scalar, in degrees.

Data Types: double

Total intensity, returned as a scalar, in selected units.

Data Types: double

Secular variation of magnetic field, returned as a vector in selected units per year.

Dependencies

To enable this port, select Output secular variation.

Data Types: double

Secular variation of horizontal intensity, returned as a scalar, in selected units per year.

Dependencies

To enable this port, select Output secular variation.

Data Types: double

Secular variation of declination, returned as a scalar, in minutes per year.

Dependencies

To enable this port, select Output secular variation.

Data Types: double

Secular variation of inclination, returned as a scalar, in minutes per year.

Dependencies

To enable this port, select Output secular variation.

Data Types: double

Secular variation of total intensity, returned as a scalar, in selected units per year.

Dependencies

To enable this port, select Output secular variation.

Data Types: double

Parameters

expand all

International Geomagnetic Reference Field generation, selected from IGRF-13, IGRF-12, or IGRF-11.

Programmatic Use

Block Parameter: generation
Type: character vector
Values: 'IGRF-13' | 'IGRF-11' | 'IGRF-12'
Default: 'IGRF-13'

Data Types: char | string

Parameter and output units, specified as:

Units

Height

Metric (MKS)

Meters

English

Feet

Programmatic Use

Block Parameter: units
Type: character vector
Values: 'Metric (MKS)' | 'English'
Default: 'Metric (MKS)'
  • To specify the decimal year with an input port for the World Magnetic Model 2015 block, select this check box.

  • To specify the decimal year using the values of Month, Day, and Year, clear this check box.

Dependencies

To enable Month, Day, and Year, clear this parameter.

Programmatic Use

Block Parameter: time_in
Type: character vector
Values: 'on' | 'off'
Default: 'on'

Month to calculate decimal year.

Dependencies

To enable this parameter, clear Input decimal year.

Programmatic Use

Block Parameter: month
Type: character vector
Values: 'January' | 'February' | 'March' | 'April' | 'May' | 'June' | 'July' | 'August' | 'September' | 'October' | 'November' | 'December'
Default: 'January'

Day to calculate decimal year.

Dependencies

To enable this parameter, clear Input decimal year.

Programmatic Use

Block Parameter: day
Type: character vector
Values: '1' to '31'
Default: '1'

Year to calculate decimal year, specified as 1900 to 2020.

Dependencies

To enable this parameter, clear Input decimal year.

Programmatic Use

Block Parameter: year
Type: character vector
Values: any year
Default: '2020'

Out-of-range block behavior, specified as follows:

ActionDescription
None No action.
Warning Warning in the MATLAB® Command Window, model simulation continues.
Error (default) MATLAB returns an exception, model simulation stops.

Programmatic Use

Block Parameter: action
Type: character vector
Values: 'None' | 'Warning' | 'Error'
Default: 'Error'

Select this check box to enable the output of secular variances (annual rate of change) with nonsecular variances. Otherwise, clear this check box.

Secular VarianceDescription

Magnetic Field

Magnetic field vector, in nanotesla (nT). Z is the vertical component (+ve down)

Horizontal Intensity

Horizontal intensity, in nanotesla (nT)

Declination

Declination, in degrees (+ve east)

Inclination

Inclination, in degrees (+ve down)

Total Intensity

Total intensity, in nanotesla (nT)

SV Magnetic Field

Secular variation of magnetic field

SV Horizontal Intensity

Secular variation of horizontal intensity

SV Declination

Secular variation of declination, the angle between true north and the magnetic field vector (positive eastward)

SV Inclination

Secular variation of inclination, the angle between the horizontal plane and the magnetic field vector (positive downward)

SV Total Intensity

Secular variation of total intensity

Clear this check box to enable just the nonsecular variances:

  • Magnetic Field

  • Horizontal Intensity

  • Declination

  • Inclination

  • Total Intensity

Programmatic Use

Block Parameter: sv_out
Type: character vector
Values: 'on' | 'off'
Default: 'on'

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Introduced in R2020b