IGRF95.m
changeset 22 624b1ed6e9c9
parent 21 bce791a17f4e
child 23 e83393696a24
equal deleted inserted replaced
21:bce791a17f4e 22:624b1ed6e9c9
     1 function [gh,G,H] = IGRF95
       
     2 % MATLAB routine to load Schmidt-normalized coefficients
       
     3 % retrieved from ftp://nssdc.gsfc.nasa.gov/pub/models/igrf/
       
     4 % igrf95.dat                  1 Kb    Mon Nov 13 00:00:00 1995
       
     5 % ? C.E. Barton, Revision of International Geomagnetic Reference
       
     6 % Field Released, EOS Transactions 77, #16, April 16, 1996.
       
     7 % The coefficients are from the 1995 International Geomagnetic Reference Field
       
     8 % Carlos Roithmayr, Jan. 22, 1997.
       
     9 %++++++++++++++++++++++++++++++++++++++++++
       
    10 % The number 1 is added to ALL subscripts since MATLAB can't have an array
       
    11 % index of 0.  Units of Tesla
       
    12 %
       
    13 %  MARTIN VISBECK, LDEO Feb 2000
       
    14 % !!! CAUTION  when updating the values NEVER us a 0. where use 0.1 instead!!!
       
    15 % I use the zeros to throw unused coeffs away....!
       
    16 
       
    17 G(2,1) = -29682e-9;
       
    18 G(2,2) = -1789e-9; H(2,2) =  5318e-9;
       
    19 G(3,1) = -2197e-9; H(3,1) =     0.0;
       
    20 G(3,2) =  3074e-9; H(3,2) =   -2356e-9;
       
    21 G(3,3) =  1685e-9; H(3,3) =  -425e-9;
       
    22 G(4,1) =  1329e-9; H(4,1) =     0.0;
       
    23 G(4,2) = -2268e-9; H(4,2) =  -263e-9;
       
    24 G(4,3) =  1249e-9; H(4,3) =   302e-9;
       
    25 G(4,4) =   769e-9; H(4,4) =  -406e-9;
       
    26 G(5,1) =   941e-9; H(5,1) =      .0;
       
    27 G(5,2) =   782e-9; H(5,2) =   262e-9;
       
    28 G(5,3) =   291e-9; H(5,3) =  -232e-9;
       
    29 G(5,4) =  -421e-9; H(5,4) =    98e-9;
       
    30 G(5,5) =   116e-9; H(5,5) =  -301e-9;
       
    31 G(6,1) =  -210e-9; H(6,1) =      .0;
       
    32 G(6,2) =   352e-9; H(6,2) =    44e-9;
       
    33 G(6,3) =   237e-9; H(6,3) =   157e-9;
       
    34 G(6,4) =  -122e-9; H(6,4) =  -152e-9;
       
    35 G(6,5) =  -167e-9; H(6,5) =   -64e-9;
       
    36 G(6,6) =   -26e-9; H(6,6) =    99e-9;
       
    37 G(7,1) =    66e-9; H(7,1) =      .0;
       
    38 G(7,2) =    64e-9; H(7,2) =   -16e-9;
       
    39 G(7,3) =    65e-9; H(7,3) =    77e-9;
       
    40 G(7,4) =  -172e-9; H(7,4) =    67e-9;
       
    41 G(7,5) =     2e-9; H(7,5) =   -57e-9;
       
    42 G(7,6) =    17e-9; H(7,6) =     4e-9;
       
    43 G(7,7) =   -94e-9; H(7,7) =    28e-9;
       
    44 G(8,1) =    78e-9; H(8,1) =     -.0;
       
    45 G(8,2) =   -67e-9; H(8,2) =   -77e-9;
       
    46 G(8,3) =     1e-9; H(8,3) =   -25e-9;
       
    47 G(8,4) =    29e-9; H(8,4) =     3e-9;
       
    48 G(8,5) =     4e-9; H(8,5) =    22e-9;
       
    49 G(8,6) =     8e-9; H(8,6) =    16e-9;
       
    50 G(8,7) =    10e-9; H(8,7) =   -23e-9;
       
    51 G(8,8) =    -2e-9; H(8,8) =    -3e-9;
       
    52 G(9,1) =    24e-9; H(9,1) =      .0;
       
    53 G(9,2) =     4e-9; H(9,2) =    12e-9;
       
    54 G(9,3) =    -1e-9; H(9,3) =   -20e-9;
       
    55 G(9,4) =    -9e-9; H(9,4) =     7e-9;
       
    56 G(9,5) =   -14e-9; H(9,5) =   -21e-9;
       
    57 G(9,6) =     4e-9; H(9,6) =    12e-9;
       
    58 G(9,7) =     5e-9; H(9,7) =    10e-9;
       
    59 G(9,8) =     0.1e-9; H(9,8) =   -17e-9;
       
    60 G(9,9) =    -7e-9; H(9,9) =   -10e-9;
       
    61 G(10,1) =     4e-9; H(10,1) =      .0;
       
    62 G(10,2) =     9e-9; H(10,2) =   -19e-9;
       
    63 G(10,3) =     1e-9; H(10,3) =    15e-9;
       
    64 G(10,4) =   -12e-9; H(10,4) =    11e-9;
       
    65 G(10,5) =     9e-9; H(10,5) =    -7e-9;
       
    66 G(10,6) =    -4e-9; H(10,6) =    -7e-9;
       
    67 G(10,7) =    -2e-9; H(10,7) =     9e-9;
       
    68 G(10,8) =     7e-9; H(10,8) =     7e-9;
       
    69 G(10,9) =     0.1e-9; H(10,9) =    -8e-9;
       
    70 G(10,10) =    -6e-9; H(10,10) =     1e-9;
       
    71 G(11,1) =    -3e-9; H(11,1) =      .0;
       
    72 G(11,2) =      -4e-9; H(11,2) =     2e-9;
       
    73 G(11,3) =       2e-9; H(11,3) =     1e-9;
       
    74 G(11,4) =      -5e-9; H(11,4) =     3e-9;
       
    75 G(11,5) =      -2e-9; H(11,5) =     6e-9;
       
    76 G(11,6) =       4e-9; H(11,6) =    -4e-9;
       
    77 G(11,7) =       3e-9; H(11,7) =     0.1e-9;
       
    78 G(11,8) =       1e-9; H(11,8) =    -2e-9;
       
    79 G(11,9) =       3e-9; H(11,9) =     3e-9;
       
    80 G(11,10) =      3e-9; H(11,10) =    -1e-9;
       
    81 G(11,11) =      0.1e-9; H(11,11) =    -6e-9;
       
    82 
       
    83 % prepare compressed array
       
    84 
       
    85 g=reshape(G',11*11,1)*1e9;
       
    86 h=reshape(H',11*11,1)*1e9;
       
    87 
       
    88 gh=reshape([g,h]',2*11*11,1);
       
    89 % here is where zeros have a meaning....!!!!
       
    90 ii=find(gh==0);
       
    91 gh(ii)=[];
       
    92 
       
    93 return;
       
    94 
       
    95