SUBROUTINE UG_STOR ( ugtbl, iret )
C************************************************************************
C* UG_STOR								*
C*									*
C* This subroutine opens and reads the USGS station table.		*
C*									*
C* UG_STOR ( ugtbl, IRET )						*
C*									*
C* Input parameters:							*
C*	ugtbl 		CHAR*		USGS station table		*
C*									*
C* Output parameters:							*
C*	IRET		INTEGER		Return code:			*
C*					  0 = normal return		*
C*					 -1 = error opening or reading	*
C**									*
C* Log:									*
C* C. Caruso Magee/NCEP 05/05   Copy from MA_MTOR.f.          		*
C* J. Ator/NCEP		03/09	Read timezone field from station table	*
C* J. Ator/NCEP		06/11	Allow station IDs up to 16 characters	*
C************************************************************************
	INCLUDE		'GEMPRM.PRM'
	INCLUDE		'ugcmn.cmn'
C*
	CHARACTER*(*)	ugtbl
C*
	CHARACTER	stnnam*32, stat*2, coun*2, tbchrs*20
C------------------------------------------------------------------------
        iret = -1
C
C*	Open the USGS station table file.
C
	CALL FL_TBOP ( ugtbl, 'stns', lunstb, iertop )
	IF  ( iertop .ne. 0 )  THEN
	    CALL DC_WLOG ( 0, 'FL', iertop, ugtbl, ierwlg )
	    RETURN
	END IF
C
C*	Read in the USGS station table file.
C
	ii = 1
	ierrst = 0
	DO WHILE  ( ( ii .le. MTBLSZ ) .and. ( ierrst .eq. 0 ) )
	    CALL TB_RSTN  ( lunstb, stnid(ii), stnnam, istnm,
     +			    stat, coun, ylat(ii), ylong(ii),
     +			    elev(ii), ispri, tbchrs, ierrst )
	    IF ( ierrst .eq. 0 ) THEN
		tmzone (ii) = tbchrs(1:10)
		DO jj = 1, 8 
		    IF ( ( tbchrs(jj+10:jj+10) .ge. '0' ) .and.
     +			 ( tbchrs(jj+10:jj+10) .le. '9' ) ) THEN
			stnid(ii)(jj+8:jj+8) = tbchrs(jj+10:jj+10)
		    ELSE
			stnid(ii)(jj+8:jj+8) = ' '
		    END IF
		END DO
		ii = ii + 1
	    END IF
	END DO    
C
C*      IF hit end-of-file reading station table without error, 
C*      set return code to 0.
C
	IF ( ierrst .eq. -1 ) THEN
	    jstnm = ii - 1
	    iret = 0
	END IF
C
C*	Close the USGS station table file.
C
	CALL FL_CLOS ( lunstb, iercls )
C*
	RETURN
	END