GEODETIC2GEO
Name
     
       GEODETIC2GEO
Purpose
     
       Convert from geodetic (or planetodetic) to geographic coordinates
Explanation
     
       Converts from geodetic (latitude, longitude, altitude) to geographic
      
       (latitude, longitude, altitude).  In geographic coordinates, the 
      
       Earth is assumed a perfect sphere with a radius equal to its equatorial 
      
       radius. The geodetic (or ellipsoidal) coordinate system takes into 
      
       account the Earth's oblateness.
      
       Geographic and geodetic longitudes are identical.
      
       Geodetic latitude is the angle between local zenith and the equatorial 
      
       plane.   Geographic and geodetic altitudes are both the closest distance
      
       between the satellite and the ground.
      
       The PLANET keyword allows a similar transformation for the other 
      
       planets  (planetodetic to planetographic coordinates). 
      
       The EQUATORIAL_RADIUS and POLAR_RADIUS keywords allow the 
      
       transformation for any ellipsoid.
      
       Latitudes and longitudes are expressed in degrees, altitudes in km.
      
       REF: Stephen P.  Keeler and Yves Nievergelt, "Computing geodetic
      
       coordinates", SIAM Rev. Vol. 40, No. 2, pp. 300-309, June 1998
      
       Planetary constants from "Allen's Astrophysical Quantities", 
      
       Fourth Ed., (2000)
Calling Sequence
     
       gcoord = geodetic2geo(ecoord, [ PLANET= ] )
Input
     
       ecoord = a 3-element array of geodetic [latitude,longitude,altitude],
                
                or an array [3,n] of n such coordinates.
Optional Keyword Input
     
       PLANET = keyword specifying planet (default is Earth).   The planet
                
                may be specified either as an integer (1-9) or as one of the
                
                (case-independent) strings 'mercury','venus','earth','mars',
                
                'jupiter','saturn','uranus','neptune', or 'pluto'
      
       EQUATORIAL_RADIUS : Self-explanatory. In km. If not set, PLANET's value
                
                is used.   Numeric scalar
      
       POLAR_RADIUS : Self-explanatory. In km. If not set, PLANET's value is 
                
                 used.   Numeric scalar
Output
     
       a 3-element array of geographic [latitude,longitude,altitude], or an
        
         array [3,n] of n such coordinates, double precision
      
       The geographic and geodetic longitudes will be identical.
Common Blocks
     
       None
Examples
      
       IDL> geod=[90,0,0]  ; North pole, altitude 0., in geodetic coordinates
      
       IDL> geo=geodetic2geo(geod)
      
       IDL> PRINT,geo
      
       90.000000       0.0000000      -21.385000
      
       As above, but the equivalent planetographic coordinates for Mars
      
       IDL> geod=geodetic2geo(geod,PLANET='Mars'); 
      
       IDL> PRINT,geod
      
       90.000000       0.0000000      -18.235500
Modification History
     
       Written by Pascal Saint-Hilaire (shilaire@astro.phys.ethz.ch),
                  
                  May 2002
      
       Generalized for all solar system planets by Robert L. Marcialis
              
               (umpire@lpl.arizona.edu), May 2002
      
       Modified 2002/05/18, PSH: added keywords EQUATORIAL_RADIUS and 
                
                POLAR_RADIUS