IGRF00.m
changeset 22 624b1ed6e9c9
parent 21 bce791a17f4e
child 23 e83393696a24
equal deleted inserted replaced
21:bce791a17f4e 22:624b1ed6e9c9
     1 function [gh,G,H] = IGRF00
       
     2 % MATLAB routine to load Schmidt-normalized coefficients
       
     3 % retrieved from ftp://nssdc.gsfc.nasa.gov/pub/models/igrf/
       
     4 % igrf00.dat                  
       
     5 %++++++++++++++++++++++++++++++++++++++++++
       
     6 % The number 1 is added to ALL subscripts since MATLAB can't have an array
       
     7 % index of 0.  Units of Tesla
       
     8 %
       
     9 %  MARTIN VISBECK, LDEO Feb 2000
       
    10 % !!! CAUTION  when updating the values NEVER us a 0. where use 0.1 instead!!!
       
    11 % I use the zeros to throw unused coeffs away....!
       
    12 
       
    13 G(2,1) = -29615e-9;
       
    14 G(2,2) = -1728e-9; H(2,2) =  5186e-9;
       
    15 G(3,1) = -2267e-9; H(3,1) =     0.0;
       
    16 G(3,2) =  3072e-9; H(3,2) =   -2478e-9;
       
    17 G(3,3) =  1672e-9; H(3,3) =  -458e-9;
       
    18 G(4,1) =  1341e-9; H(4,1) =     0.0;
       
    19 G(4,2) = -2290e-9; H(4,2) =  -227e-9;
       
    20 G(4,3) =  1253e-9; H(4,3) =   296e-9;
       
    21 G(4,4) =   715e-9; H(4,4) =  -492e-9;
       
    22 G(5,1) =   935e-9; H(5,1) =      .0;
       
    23 G(5,2) =   787e-9; H(5,2) =   272e-9;
       
    24 G(5,3) =   251e-9; H(5,3) =  -232e-9;
       
    25 G(5,4) =  -405e-9; H(5,4) =   119e-9;
       
    26 G(5,5) =   110e-9; H(5,5) =  -304e-9;
       
    27 G(6,1) =  -217e-9; H(6,1) =      .0;
       
    28 G(6,2) =   351e-9; H(6,2) =    44e-9;
       
    29 G(6,3) =   222e-9; H(6,3) =   172e-9;
       
    30 G(6,4) =  -131e-9; H(6,4) =  -134e-9;
       
    31 G(6,5) =  -169e-9; H(6,5) =   -40e-9;
       
    32 G(6,6) =   -12e-9; H(6,6) =   107e-9;
       
    33 G(7,1) =    72e-9; H(7,1) =      .0;
       
    34 G(7,2) =    68e-9; H(7,2) =   -17e-9;
       
    35 G(7,3) =    74e-9; H(7,3) =    64e-9;
       
    36 G(7,4) =  -161e-9; H(7,4) =    65e-9;
       
    37 G(7,5) =    -5e-9; H(7,5) =   -61e-9;
       
    38 G(7,6) =    17e-9; H(7,6) =     1e-9;
       
    39 G(7,7) =   -91e-9; H(7,7) =    44e-9;
       
    40 G(8,1) =    79e-9; H(8,1) =      .0;
       
    41 G(8,2) =   -74e-9; H(8,2) =   -65e-9;
       
    42 G(8,3) =   0.1e-9; H(8,3) =   -24e-9;
       
    43 G(8,4) =    33e-9; H(8,4) =     6e-9;
       
    44 G(8,5) =     9e-9; H(8,5) =    24e-9;
       
    45 G(8,6) =     7e-9; H(8,6) =    15e-9;
       
    46 G(8,7) =     8e-9; H(8,7) =   -25e-9;
       
    47 G(8,8) =    -2e-9; H(8,8) =    -6e-9;
       
    48 G(9,1) =    25e-9; H(9,1) =      .0;
       
    49 G(9,2) =     6e-9; H(9,2) =    12e-9;
       
    50 G(9,3) =    -9e-9; H(9,3) =   -22e-9;
       
    51 G(9,4) =    -8e-9; H(9,4) =     8e-9;
       
    52 G(9,5) =   -17e-9; H(9,5) =   -21e-9;
       
    53 G(9,6) =     9e-9; H(9,6) =    15e-9;
       
    54 G(9,7) =     7e-9; H(9,7) =     9e-9;
       
    55 G(9,8) =    -8e-9; H(9,8) =   -16e-9;
       
    56 G(9,9) =    -7e-9; H(9,9) =   -3e-9;
       
    57 G(10,1) =     5e-9; H(10,1) =      .0;
       
    58 G(10,2) =     9e-9; H(10,2) =   -20e-9;
       
    59 G(10,3) =     3e-9; H(10,3) =    13e-9;
       
    60 G(10,4) =    -8e-9; H(10,4) =    12e-9;
       
    61 G(10,5) =     6e-9; H(10,5) =    -6e-9;
       
    62 G(10,6) =    -9e-9; H(10,6) =    -8e-9;
       
    63 G(10,7) =    -2e-9; H(10,7) =     9e-9;
       
    64 G(10,8) =     9e-9; H(10,8) =     4e-9;
       
    65 G(10,9) =    -4e-9; H(10,9) =    -8e-9;
       
    66 G(10,10) =   -8e-9; H(10,10) =     5e-9;
       
    67 G(11,1) =    -2e-9; H(11,1) =      .0;
       
    68 G(11,2) =    -6e-9; H(11,2) =     1e-9;
       
    69 G(11,3) =     2e-9; H(11,3) =     0.1e-9;
       
    70 G(11,4) =    -3e-9; H(11,4) =     4e-9;
       
    71 G(11,5) =    0.1e-9; H(11,5) =     5e-9;
       
    72 G(11,6) =     4e-9; H(11,6) =    -6e-9;
       
    73 G(11,7) =     1e-9; H(11,7) =    -1e-9;
       
    74 G(11,8) =     2e-9; H(11,8) =    -3e-9;
       
    75 G(11,9) =     4e-9; H(11,9) =     0.1e-9;
       
    76 G(11,10) =   0.1e-9; H(11,10) =    -2e-9;
       
    77 G(11,11) =   -1e-9; H(11,11) =    -8e-9;
       
    78 
       
    79 % prepare compressed array
       
    80 
       
    81 g=reshape(G',11*11,1)*1e9;
       
    82 h=reshape(H',11*11,1)*1e9;
       
    83 
       
    84 gh=reshape([g,h]',2*11*11,1);
       
    85 % here is where zeros have a meaning....!!!!
       
    86 ii=find(gh==0);
       
    87 gh(ii)=[];
       
    88 
       
    89 return;
       
    90 
       
    91