;+ ; FUNCTION: dipole_offset ; ; PURPOSE: Calculate the location of the dipole using the IGRF ; coefficients and their secular variation. IGRF coefficients ; are the coefficients used in the spherical harmonic ; expansion of the earth's magnetic field and there is a ; standard formula for converting the first few of these ; coefficients to dipole offset. ; ; This version is accurate for years 1995-2000 ; ; Returns a 3-element vector in kilometers. ; ; INPUT: Optional argument is 4-digit year ; ; Algorithm by: Mike Temerin ; Written by: J.Rauchleiba 4/8/97 ;- function dipole_offset, refyear if NOT keyword_set(refyear) then refyear=strmid(systime(0), 20, 4) refyear = fix(refyear) revision = 1995 year = refyear - revision g10 = -29682.0 + 17.6*year g11 = -1789.0 + 13.0*year g20 = -2197.0 - 31.2*year g21 = 3074.0 + 3.7*year g22 = 1685.0 - .8*year h11 = 5318.0 - 18.3*year h21 = -2356.0 - 15.0*year h22 = -425.0 - 8.8*year h2 = g10*g10 + g11*g11 + h11*h11 sq3 = sqrt(3.0) L0 = 2.*g10*g20 + (g11*g21 + h11*h21)*sq3 L2 = -h11*g20 + (g10*h21 - h11*g22 + g11*h22)*sq3 L1 = -g11*g20 + (g10*g21 + g11*g22 + h11*h22)*sq3 e = (L0*g10 + L1*g11 + L2*h11)/(4.*h2) MEAN_RAD = 6372.1 ;km magdisp = dblarr(3) magdisp(0) = MEAN_RAD*(L1 - g11*e)/(3.*h2) magdisp(1) = MEAN_RAD*(L2 - h11*e)/(3.*h2) magdisp(2) = MEAN_RAD*(L0 - g10*e)/(3.*h2) return, magdisp end