igrf-0.1.0.0: International Geomagnetic Reference Field

Safe HaskellNone
LanguageHaskell2010

IGRF

Description

An implementation of the International Geomagnetic Reference Field, as defined at http://www.ngdc.noaa.gov/IAGA/vmod/igrf.html.

Synopsis

Documentation

data MagneticModel a Source

Represents a spherical harmonic model of a magnetic field.

Constructors

MagneticModel 

Fields

modelDegree :: Int

The maximum degree of the model. Must be >= 1.

referenceRadius :: a

The reference radius used to define the model. (kilometer)

gCoeffs :: [(a, a)]

G coefficients of the model and their secular variations. (nT, nT / yr) These coefficients are stored in the order [(g_1_0, g_1_0_sv), g_1_1, g_2_0, g_2_1, g_2_2, g_3_0, g_3_1, g_3_2, g_3_3, ...] There must be Triangle(modelDegree + 1) - 1 coefficients.

hCoeffs :: [(a, a)]

H coefficients and their secular variations. (nT, nT / yr) These coefficeints are stored as the G coefficients and the lengths of the lists must match.

igrf11 :: Floating a => MagneticModel a Source

The International Geomagnetic Reference Field model, 11th edition. Model epoch is January 1st, 2010.

fieldInLocalTangentPlane Source

Arguments

:: (Floating a, Ord a) 
=> MagneticModel a

Magnetic field model

-> a

Time since model epoch (year)

-> a

Geocentric radius (kilometer)

-> a

Geocentric colatitude (radian)

-> a

Geocentric longitude (radian)

-> (a, a, a)

North, East, and down components of magnetic field (nanoTesla)

Computes the field strength of the magnetic field model at a specified time and geocentric position, in Cartesian coordinates. The result is expressed in a reference frame locally tangent to the specified geocentric position.

gradientOfScalarPotential Source

Arguments

:: (Floating a, Ord a) 
=> MagneticModel a

Magnetic field model

-> a

Time since model epoch (year)

-> a

Geocentric radius (kilometer)

-> a

Geocentric colatitude (radian)

-> a

Geocentric longitude (radian)

-> (a, a, a)

Radial, colatitudinal, and longitudinal components of gradient (nT, nT km, nT km)

Computes the gradient of the scalar potential of the magnetic field model, in spherical coordinates, at a specified time and geocentric position.

scalarPotential Source

Arguments

:: (Floating a, Ord a) 
=> MagneticModel a

Magnetic field model

-> a

Time since model epoch (year)

-> a

Geocentric radius (kilometer)

-> a

Geocentric colatitude (radian)

-> a

Geocentric longitude (radian)

-> a

Model field strength (nanoTesla)

Computes the scalar potential of the magnetic field model at a specified time and geocentric position.