SUBROUTINE  BT_LTLG ( report, ipt, iret )
C************************************************************************
C* BT_LTLG                                                              *
C*                                                                      *
C* This subroutine gets the latitude and longitude location of the      *
C* report data.                                                         *
C*                                                                      *
C* BT_LTLG ( REPORT, IPT, IRET )                                        *
C*                                                                      *
C* Input parameters:                                                    *
C*      REPORT          CHAR*             Report array                  *
C*					                                *
C* Input and output parameters:                                         *
C*      IPT             INTEGER          Points to start of latitude    *
C*                                       group on input, to start of    *
C*                                       group following longitude group*
C*                                       on output                      *
C*					                                *
C* Output parameters:                                                   *
C*      RIVALS(IRSLAT)  REAL             Latitude in degrees            *
C*      RIVALS(IRSLON)  REAL             Longitude in degrees           *
C*      IRET            INTEGER          Return code                    *
C*                                        0 = Normal return             *
C*                                        1 = Problems                  *
C*                                                                      *
C**                                                                     *
C* Log:                                                                 *
C* R. Hollern/NCEP      11/98                                           *
C************************************************************************
        INCLUDE 	'btcmn.cmn'
C*
        CHARACTER*(*)   report
C*
	CHARACTER	fld1*1
C------------------------------------------------------------------------
        iret  = 0
        ip = ipt
C
C*      Get quadrant of the globe.
C
        ip = ip + 2
        fld1 = report ( ip:ip )
        CALL  ST_INTG ( fld1, ival, ier )
        IF ( ier .eq. 0 ) THEN
            iquad = ival
          ELSE
            iret = 1
            RETURN
        END IF
C
C*      Get the degrees part of the latitude.
C
        ip = ip + 1
C
	CALL ST_INTG ( report ( ip:ip+1 ), ival, ier )
        IF ( ier .eq. 0 ) THEN
            xldeg =  FLOAT ( ival ) 
          ELSE
            iret = 1
            RETURN
        END IF
C
        IF ( xldeg .gt. 90.0 ) THEN
            iret = 1
            RETURN
        END IF
C
C*      Get the minutes part of the latitude.
C
        ip = ip + 2
C
	CALL ST_INTG ( report ( ip:ip+1 ), ival, ier )
        IF ( ier .eq. 0 ) THEN
            xlmins =  FLOAT ( ival ) 
          ELSE
            iret = 1
            RETURN
        END IF
C
        IF ( xlmins .gt. 60.0 ) THEN
            iret = 1
            RETURN
        END IF
C
        xlat = xldeg + ( xlmins / 60. )
C
C*      Get longitude.
C
C*      Get the degrees part of the longitude.
C
        ip = ip + 3
C
	CALL ST_INTG ( report ( ip:ip+2 ), ival, ier )
        IF ( ier .eq. 0 ) THEN
            xldeg =  FLOAT ( ival ) 
          ELSE
            iret = 1
            RETURN
        END IF
C
        IF ( xldeg .gt. 180.0 ) THEN
            iret = 1
            RETURN
        END IF
C
C*      Get the minutes part of the longitude.
C
        ip = ip + 3
C
	CALL ST_INTG ( report ( ip:ip+1 ), ival, ier )
        IF ( ier .eq. 0 ) THEN
            xlmins =  FLOAT ( ival ) 
          ELSE
            iret = 1
            RETURN
        END IF
C
        IF ( xlmins .gt. 60.0 ) THEN
            iret = 1
            RETURN
        END IF
C
        xlong = xldeg + ( xlmins / 60. )
C
        ip = ip + 3
C
C*      Determine the sign of the lat/long from quadrant of globe.
C
        IF ( iquad .eq. 7 ) THEN
            xlong = -xlong
          ELSE IF ( iquad .eq. 5 ) THEN
            xlat = -xlat
            xlong = -xlong
          ELSE IF ( iquad .eq. 3 ) THEN
            xlat = -xlat
          ELSE IF ( iquad .eq. 1 ) THEN
          ELSE
            iret = 1
            RETURN
        END IF
C 
        rivals ( irslat ) = xlat
        rivals ( irslon ) = xlong
C
        ipt = ip
C*
	RETURN
	END