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