IGRF00.m
author A.M. Thurnherr <athurnherr@yahoo.com>
Wed, 17 Jan 2018 12:19:54 -0500
changeset 20 61b92f8fb463
parent 0 0a450563f904
permissions -rw-r--r--
Version IX_13

function [gh,G,H] = IGRF00
% MATLAB routine to load Schmidt-normalized coefficients
% retrieved from ftp://nssdc.gsfc.nasa.gov/pub/models/igrf/
% igrf00.dat                  
%++++++++++++++++++++++++++++++++++++++++++
% The number 1 is added to ALL subscripts since MATLAB can't have an array
% index of 0.  Units of Tesla
%
%  MARTIN VISBECK, LDEO Feb 2000
% !!! CAUTION  when updating the values NEVER us a 0. where use 0.1 instead!!!
% I use the zeros to throw unused coeffs away....!

G(2,1) = -29615e-9;
G(2,2) = -1728e-9; H(2,2) =  5186e-9;
G(3,1) = -2267e-9; H(3,1) =     0.0;
G(3,2) =  3072e-9; H(3,2) =   -2478e-9;
G(3,3) =  1672e-9; H(3,3) =  -458e-9;
G(4,1) =  1341e-9; H(4,1) =     0.0;
G(4,2) = -2290e-9; H(4,2) =  -227e-9;
G(4,3) =  1253e-9; H(4,3) =   296e-9;
G(4,4) =   715e-9; H(4,4) =  -492e-9;
G(5,1) =   935e-9; H(5,1) =      .0;
G(5,2) =   787e-9; H(5,2) =   272e-9;
G(5,3) =   251e-9; H(5,3) =  -232e-9;
G(5,4) =  -405e-9; H(5,4) =   119e-9;
G(5,5) =   110e-9; H(5,5) =  -304e-9;
G(6,1) =  -217e-9; H(6,1) =      .0;
G(6,2) =   351e-9; H(6,2) =    44e-9;
G(6,3) =   222e-9; H(6,3) =   172e-9;
G(6,4) =  -131e-9; H(6,4) =  -134e-9;
G(6,5) =  -169e-9; H(6,5) =   -40e-9;
G(6,6) =   -12e-9; H(6,6) =   107e-9;
G(7,1) =    72e-9; H(7,1) =      .0;
G(7,2) =    68e-9; H(7,2) =   -17e-9;
G(7,3) =    74e-9; H(7,3) =    64e-9;
G(7,4) =  -161e-9; H(7,4) =    65e-9;
G(7,5) =    -5e-9; H(7,5) =   -61e-9;
G(7,6) =    17e-9; H(7,6) =     1e-9;
G(7,7) =   -91e-9; H(7,7) =    44e-9;
G(8,1) =    79e-9; H(8,1) =      .0;
G(8,2) =   -74e-9; H(8,2) =   -65e-9;
G(8,3) =   0.1e-9; H(8,3) =   -24e-9;
G(8,4) =    33e-9; H(8,4) =     6e-9;
G(8,5) =     9e-9; H(8,5) =    24e-9;
G(8,6) =     7e-9; H(8,6) =    15e-9;
G(8,7) =     8e-9; H(8,7) =   -25e-9;
G(8,8) =    -2e-9; H(8,8) =    -6e-9;
G(9,1) =    25e-9; H(9,1) =      .0;
G(9,2) =     6e-9; H(9,2) =    12e-9;
G(9,3) =    -9e-9; H(9,3) =   -22e-9;
G(9,4) =    -8e-9; H(9,4) =     8e-9;
G(9,5) =   -17e-9; H(9,5) =   -21e-9;
G(9,6) =     9e-9; H(9,6) =    15e-9;
G(9,7) =     7e-9; H(9,7) =     9e-9;
G(9,8) =    -8e-9; H(9,8) =   -16e-9;
G(9,9) =    -7e-9; H(9,9) =   -3e-9;
G(10,1) =     5e-9; H(10,1) =      .0;
G(10,2) =     9e-9; H(10,2) =   -20e-9;
G(10,3) =     3e-9; H(10,3) =    13e-9;
G(10,4) =    -8e-9; H(10,4) =    12e-9;
G(10,5) =     6e-9; H(10,5) =    -6e-9;
G(10,6) =    -9e-9; H(10,6) =    -8e-9;
G(10,7) =    -2e-9; H(10,7) =     9e-9;
G(10,8) =     9e-9; H(10,8) =     4e-9;
G(10,9) =    -4e-9; H(10,9) =    -8e-9;
G(10,10) =   -8e-9; H(10,10) =     5e-9;
G(11,1) =    -2e-9; H(11,1) =      .0;
G(11,2) =    -6e-9; H(11,2) =     1e-9;
G(11,3) =     2e-9; H(11,3) =     0.1e-9;
G(11,4) =    -3e-9; H(11,4) =     4e-9;
G(11,5) =    0.1e-9; H(11,5) =     5e-9;
G(11,6) =     4e-9; H(11,6) =    -6e-9;
G(11,7) =     1e-9; H(11,7) =    -1e-9;
G(11,8) =     2e-9; H(11,8) =    -3e-9;
G(11,9) =     4e-9; H(11,9) =     0.1e-9;
G(11,10) =   0.1e-9; H(11,10) =    -2e-9;
G(11,11) =   -1e-9; H(11,11) =    -8e-9;

% prepare compressed array

g=reshape(G',11*11,1)*1e9;
h=reshape(H',11*11,1)*1e9;

gh=reshape([g,h]',2*11*11,1);
% here is where zeros have a meaning....!!!!
ii=find(gh==0);
gh(ii)=[];

return;