SUBROUTINE  LS_YYGG (  yyggi, istarr, nret )
C************************************************************************
C* LS_YYGG                                                              *
C*                                                                      *
C* This subroutine decodes the YYGGi(w) group which is stored in the	*
C* yyggi array. This group follows the AAXX identification group in the *
C* FM 12 SYNOP report. A bulletin containing FM 12 reports may have	*
C* several AAXX identification groups. The YYGGi group is located in	*
C* section 0 of the FM 14 SYNOP MOBIL report.				*
C*                                                                      *
C* LS_YYGG ( YYGGI, ISTARR, NRET )					*
C*                                                                      *
C* Input parameters:                                                    *
C*      YYGGI          CHAR*            YYGGi(w) group in FM 12/14      *
C*					reports.                        *
C*      ISTARR (*)     INTEGER          System time - YYYY,MM,DD,HH,MM  *
C*					                                *
C* Output parameters:                                                   *
C*      RIVALS(IRYEAR) REAL             Report year  -  YYYY            *
C*      RIVALS(IRMNTH) REAL             Report month -  MM              *
C*      RIVALS(IRDAYS) REAL             Report day   -  DD              *
C*      RIVALS(IRHOUR) REAL             Report hour  -  HH              *
C*      RIVALS(IRMINU) REAL             Report minute - MM              *
C*	RIVALS(IRISWS) REAL		Indicator for source and	*
C*					units of wind speed		*
C*					(WMO Code Table 1855)		*
C*      IHOUR          INTEGER          Hour of observation of report   *
C*      IRPTDT (*)     INTEGER          Report date-time                *
C*                                      (YYYY, MM, DD, HH, MM)          *
C*      NRET           INTEGER          Return code                     *
C*                                        0 = normal return             *
C*                                        1 = problems                  *
C**                                                                     *
C* Log:                                                                 *
C* R. Hollern/NCEP	06/02						*
C* R. Hollern/NCEP      08/02		LS_AAXX	 --> LS_YYGG and	*
C*					renamed array iaaxx to yyggi	*
C************************************************************************
	INCLUDE		'GEMPRM.PRM'
        INCLUDE         'lscmn.cmn'
C*
        CHARACTER*(*)   yyggi
        INTEGER         istarr(*)
C*
        CHARACTER       fld2*2,  fld1*1
C------------------------------------------------------------------------
        nret = 0
C
C*      Get day of month of observation.
C
        fld2 = yyggi(1:2)     
        CALL  ST_INTG ( fld2, ival, ier )   
        IF ( ier .eq. 0 ) THEN
            IF ( ival .gt. 0 .and. ival .lt. 32 ) THEN
                imnday = ival
              ELSE
                nret = 1
                RETURN
            END IF
          ELSE
            nret = 1
            RETURN
        END IF
C
C*      Get hour of observation.
C
        fld2 = yyggi ( 3:4 )     
        CALL  ST_INTG ( fld2, ival, ier )   
        IF ( ier .eq. 0 ) THEN
            IF ( ival .ge. 0 .and. ival .lt. 24 ) THEN
                ihour = ival
              ELSE
                nret = 1
                RETURN
            END IF
          ELSE
            nret = 1
            RETURN
        END IF
C
C*      Set minutes of obs hour to zero.
C
        imins = 0
C
C*      Combine the run times and obs times into a report date-time.
C
        ndays = 10
        CALL DC_RTIM ( istarr, imnday, ihour, imins, ndays,
     +                 irptdt, ier )
C
        IF ( ier .ne. 0 ) THEN
            nret = 1
            RETURN
        END IF
C
C*      Save date/time data interface array
C
        rivals(iryear) = float ( irptdt(1) )
        rivals(irmnth) = float ( irptdt(2) )
        rivals(irdays) = float ( irptdt(3) )
        rivals(irhour) = float ( irptdt(4) )
        rivals(irminu) = float ( irptdt(5) )
C
C*      Get indicator for source and units of wind speed
C
        fld1 = yyggi ( 5:5 )   
C
        IF ( fld1 .eq. '0' .or. fld1 .eq. '1'  .or.
     +       fld1 .eq. '3' .or. fld1 .eq. '4' ) THEN
C
            CALL  ST_INTG( fld1, ival, ier )
            IF ( ier .eq. 0 ) THEN
		rivals ( irisws ) = FLOAT ( ival )
            END IF
        END IF
C*
	RETURN
	END