SUBROUTINE CG_STID ( cgrpt, mszrpt, ipt, iret ) C************************************************************************ C* CG_STID * C* * C* This subroutine decodes the station id in one report. * C* * C* CG_STID ( CGRPT, MSZRPT, IPT, IRET ) * C* * C* Input parameters: * C* MSZRPT INTEGER Length of report in bytes * C* CGRPT CHAR* Report array * C* * C* Output parameters passed via common: * C* CIVALS(ICSTID) CHAR* Station id * C* * C* Input and Output parameters: * C* IPT INTEGER Pointer to start of field. * C* * C* Output parameters: * C* IRET INTEGER Return code * C* 0 = Normal return * C* -1 = ID is missing * C* -2 = bad format * C** * C* Log: * C* C. Caruso Magee/NCEP 04/00 Original Author * C************************************************************************ INCLUDE 'GEMPRM.PRM' INCLUDE 'cgcmn.cmn' character*(*) cgrpt integer mszrpt integer iret iret = 0 C C* First 3 characters of cgrpt will be id. C* If ID consists of ???, set STID to missing. C* IF 1st, 2nd, or 3rd char is blank, leave stid as missing (blank). C IF ( cgrpt(1:3) .ne. '???' ) THEN IF ( INDEX ( cgrpt(1:3), ' ' ) .eq. 0 ) THEN civals(icstid)(1:1) = 'K' civals(icstid)(2:4) = cgrpt(1:3) ELSE iret = -2 END IF ELSE iret = -1 END IF ipt = ipt + 4 RETURN END