LL2UTM and UTM2LL

Fortran version:

    SUBROUTINE LL2UTM( LONI, LATI, Z, XX, YY )
    SUBROUTINE LL2UTM( LONI, LATI, N, XX, YY )

    SUBROUTINE UTM2LL( X, Y, Z, LON, LAT )
    SUBROUTINE UTM2LL( X, Y, N, LON, LAT )

      REAL   , INTENT(IN   ) :: LONI    !  East longitude in decimal degrees
      REAL   , INTENT(IN   ) :: LATI    !  North latitude in decimal degrees
      REAL   , INTENT(IN   ) :: X       !  UTM easting  in meters
      REAL   , INTENT(IN   ) :: Y       !  UTM northing in meters
      REAL   , INTENT(IN   ) :: Z       !  UTM zone, as a  REAL
      INTEGER, INTENT(IN   ) :: N       !  UTM zone, as an INTEGER
      REAL   , INTENT(  OUT) :: XX      !  UTM easting  in meters
      REAL   , INTENT(  OUT) :: YY      !  UTM northing in meters
      REAL   , INTENT(  OUT) :: LON     !  East longitude in decimal degrees
      REAL   , INTENT(  OUT) :: LAT     !  North latitude in decimal degrees

For I/O API-3.2, these are Fortran-90 generics found in MODULE MODGCTP (note the generic UTM-zone argument which may be either REAL or INTEGER). The routines in I/O API-3.1 and before only support the INTEGER form, and are declared (for 3.0 and 3.1) in MODULE M3UTILIO.

Summary:

LL2UTM() and UTM2LL() use the (FIPS-standard) USGS National Mapping Division's General Cartographic Transformation Package routine GTPZ0() to do coordinate conversion between LAT-LON and UTM coodinates.

Note that except for Cray vector machines (Y-MP, C-90, T-90, J-90), inputs are 4-byte REAL single precision (unlike the double precision used internally by GCTP). Calculations for which precision is important should use GCTP directly; further note that by default, LL2UTM() and UTM2LL() use the GRS 1980 spheroid to represent the surface of the Earth (which may be important to know for high-precision calculations).

See also

USGS package GCTP,
Fortran-90 module MODGCTP,
GRID2XY() from MODGCTP,
XY2XY() from MODGCTP,
SETSPHERE, INITSPHERES, and SPHEREDAT for geodetic-sphere selection, and
the I/O API wrapper-routines for LL2LAM() etc. single-precision Lambert/Lat-Lon/Mercator/Stereographic/UTM coordinate conversion routines.

Preconditions

Correctly specified input coordinates and UTM zone.

Fortran Usage:

    USE MODGCTP
    

(See sample programs LATLON or PRESZ for usage examples.)


Previous: LAMBERT (etc.)

Next: SETSPHERE and SPHEREDAT

Up: Coordinate and Grid Related Routines

To: Models-3/EDSS I/O API: The Help Pages