SUBROUTINE WC_STOR ( wctbl, istatot, iret ) C************************************************************************ C* WC_STOR * C* * C* This subroutine opens and reads the Canadian river gauge and * C* water level station table. * C* * C* WC_STOR ( WCTBL, STATOT, IRET ) * C* * C* Input parameters: * C* WCTBL CHAR* Canadian station table * C* * C* Output parameters: * C* STATOT INTEGER Total number of all station types * C* IRET INTEGER Return code: * C* 0 = normal return * C* -1 = error opening or reading * C* * C** * C* Log: * C* M. Weiss/NCEP 10/20 New, Based on ugstor.f * C************************************************************************ INCLUDE 'GEMPRM.PRM' INCLUDE 'BRIDGE.PRM' INCLUDE 'wccmn.cmn' C* CHARACTER*(*) wctbl C* CHARACTER tbchrs*60 CHARACTER errstr*80 CHARACTER sid*8, sname*32, st*2, cn*2 INTEGER jnum, jprior REAL tlat,tlon,telv INTEGER jstnm(MTBLSZ), jspri(MTBLSZ) ! dummies C C* Defined in wccmn.cmn: (MTBLSZ = 100) C* CHAR*32 stnnam(MTBLSZ) C* CHAR*25 datum(MTBLSZ) C* CHAR*8 stnid(MTBLSZ) C* CHAR*10 tmzone(MTBLSZ) C* CHAR*2 coun(MTBLSZ), stat(MTBLSZ), statyp(MTBLSZ) C C* REAL slat(MTBLSZ), slon(MTBLSZ), selv(MTBLSZ), chdatum(MTBLSZ) C------------------------------------------------------------------------ iret = -1 C C* Open the Canadian station table file. C CALL FL_TBOP ( wctbl, 'stns', lunstb, iertop ) ! Station table unit # C IF ( iertop .ne. 0 ) THEN errstr = 'NOT ABLE TO OPEN STATION TABLE FILE' CALL DC_WLOG ( 0, 'DCMETR', 2, errstr(1:35), ierwlg ) CALL DC_WLOG ( 0, 'FL', iertop, wctbl, ierwlg ) RETURN END IF C C* Read in the Canadian station table file. C ii = 1 jret = 0 DO WHILE ( ( ii .le. MTBLSZ ) .and. ( jret .eq. 0 ) ) CALL UT_RSTN ( lunstb, sid, sname, jnum, + st, cn, tlat, tlon, + telv, jprior, tbchrs, jret) C IF ( jret .eq. 0 ) THEN stnid(ii) = sid stnnam(ii) = sname jstnm(ii) = jnum stat(ii) = st coun(ii) = cn slat(ii) = tlat slon(ii) = tlon selv(ii) = telv jspri(ii) = jprior C datum (ii) = tbchrs(2:26) ! 25 characters tmzone (ii) = tbchrs(35:44) ! 10 characters statyp (ii) = tbchrs(46:47) ! 2 characters CALL ST_CRNM ( tbchrs(28:34), chdatum(ii), ierr ) chdatum(ii) = chdatum(ii)/1000. 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 ( jret .eq. -1 ) THEN istatot = ii - 1 iret = 0 END IF C C* Close the Canadian WL/RG station table file. C CALL FL_CLOS ( lunstb, iercls ) C RETURN END