The original AACGM coordinate system used the IGRF 1990 magnetic field model to generate the coordinate system. The new version uses the IGRF 1995 field model to generate the coordinate system. The old version can still be used with the new software, by calling an initialization routine. The old version is also available from Phillips Laboratory as a stand-alone program (SFCNEW90.FOR).
A technical report describing the new AACGM software is available from Phillips Laboratory. Contact Dr. Fred Rich
(rich@plh.af.mil) and ask for the technical report "An Improved Algorithm for Computing Altitude Adjusted Corrected Geomagnetic Coordinates", report # PL-TR-94-2310. You can also download the technical report from the Phillips Laboratory ftp server. You will need to get the postscript file TR2310.PS as well as the files FIGURE*.GIF.A detailed discussion of the classical Corrected Geomagnetic Coordinate system for 1990 will be found in the paper "A revised corrected geomagnetic coordinate system for Epochs 1985 and 1990" by G. Gustafsson, N.E. Papitashvili, and V.O. Papitashvili,J. Atmos. Terr. Phys., vol. 54, pp. 1609-1631, 1992.
NOTE: There are some subtle problems in defining magnetic coordinates near the magnetic equator. These problems are well discussed in the paper by Gustafsson, et al. The numerical technique employed by the AACGM software smooths over these difficulties but may not be appropriate for high accuracy use near the magnetic equator.
A program for calculating classical CGM coordinates is available from the National Space Science Data Center. Contact Natasha Papitashvili at "natasha@nssdca.gsfc.nasa.gov" or visit the NSSDC homepage for CGM coordinates at http://nssdc.gsfc.nasa.gov/space/cgm/cgm.html
The original PACE geomagnetic coordinate system is described in a paper published in J. Geophys. Res., Vol 94, pp 9139-9143, July, 1989, "A new magnetic coordinate system for conjugate studies at high latitudes" by K.B. Baker and S. Wing.
You can use ftp to download the files. To see how to use the software you can look at the AACGM User's Guide
To determine the AACGM coordinates of any point, start at that point and use the IGRF magnetic field model to trace the field line to the geomagnetic equator. Then, use the pure magnetic dipole model to trace the magnetic field line back to the surface of the earth. At that point, measure the angle between the line joining the point on the earth with the center of the earth, and the axis which defines the magnetic dipole. This angle gives you the co-latitude of the point in the magnetic coordinates. Since the tracing algorithm always brings you back to the surface of the earth (and not the original altitude), all points along a magnetic field line will have the same magnetic latitude and longitude. In the CGM system the initial point is traced back to the original height and the angles are measured at that point. Thus, points along a magnetic field line (which will in general be at different heights) will have different angles with respect to the dipole axis and will hence have different magnetic latitudes.
For any point on the surface of the earth, the AACGM coordinates are
identical to the CGM coordinates. Any two points connected by a
magnetic field line will have the same magnetic latitude and longitude
in the AACGM coordinate system. This is NOT true of the CGM system.
However, because dipole field lines obey the equation
sin**2(A)/r = constwhere A is the co-latitude, there is a simple relationship between AACGM latitudes and CGM latitudes.
The original PACE system used a data file to store the coefficients that defined the coordinate transformation. In the new version, all the coefficients are in a BLOCKDATA routine in the source file "sfc_convert_geo_coord" and no data file is required. The coordinate system defined by the BLOCKDATA routine is based on the IGRF 1995 magnetic field model. These coefficients can be replaced with the older 1990 model coefficients by reading a data file with those coefficients into the Common block containing the coefficients used by SFC$$convert_geo_coord. A routine to do this has also been provided (aacgm_init), as have ascii data files containing the coordinates for both 1990 and 1995.
NOTE: Geographic coordinates as used here actually refer to geocentric coordinates NOT geodetic coordinates.
A help file is also available which defines the calling sequence and returned values for the subroutine. This file, CNV$COORD.HLP can be placed in a VAX VMS help library if you wish to have this information available on-line.
NOTE: Some of the fortran code uses VAX/VMS extensions to the Fortran 77 standard. Most Fortran compilers provide a switch to allow the use of these extensions to the language. In addition, some of the lines extend beyond the 72 character limit of standard fortran, and again most compilers provide a switch that allows long lines. Users will have to determine the appropriate switches and add them to the makefile.
The routines you will need are: CNVCOORD, SFC_CONVERT_GEO_COORD, RYLM and CGM_TO_ALTITUDE, ALTITUDE_TO_CGM, SFC_PUT_USER_MSG, and AACGM_INIT. There is also a MAKEFILE for UNIX systems. The entire suite of routines, including the magnetic local time routines, the makefile, and the necessary data files have been placed in the tar file, "AACGM.tar". Also included in the tar file are some routines that provide an interface to the IDL programming language. These interface routines use the IDL "call_external" mechanism.
Note that the time you give the MLT function is given as a year and a number of seconds in the year. You can either compute the number of seconds (an integer*4 number) yourself or you can use the routine CNV_MDHMS_SEC. This routine converts the Month,Day,Hour, Minute and Second to Seconds in the year. Its inverse is CNV$SEC_MDHMS.
Also note that for a fixed point on the earth and a fixed UT, the value of MLT will vary during the course of a year due to the annual north-south motion of the sun and the ellipticity of the earth's orbit. The plot shown here gives the Magnetic Local Time for 0000 UT at 00 magnetic longitude. Note that the MLT varies by nearly one hour over the course of a year.
There are several help files included in the directory. These help files can be typed out to give you the information about calling sequences, error conditions, etc. You can also insert these files into a VAX/VMS help library if you wish to have this information available on-line (I find it quite useful). The help files are:
CNV$COORD.HLP, MLT.HLP, CNV$MDHMS_SEC.HLP, CNV$SEC_MDHMS.HLP
If you have any questions or problems with these routines, please contact
(kile_baker@jhuapl.edu )