SUBROUTINE MT_STST ( strsst, iret ) C************************************************************************ C* MT_STST * C* * C* This subroutine decodes the sea surface temperature and sea state * C* group in a METAR/SPECI report. If the group exists, the data are * C* stored in common in the units in which they were reported. * C* * C* MT_STST ( STRSST, IRET ) * C* * C* Input parameters: * C* STRSST CHAR* Possible sst/sea state field * C* * C* Output parameters: * C* RIVALS(IRSST1) REAL SST in whole degrees C * C* RIVALS(IRSEST) REAL State of the sea (code table) * C* IRET INTEGER Return code * C* 0 = normal return * C* 1 = char to int conversion * C* error * C* * C** * C* Log: * C* C. Caruso Magee/NCEP 08/01 New subroutine * C************************************************************************ INCLUDE 'GEMPRM.PRM' INCLUDE 'mtcmn.cmn' C* CHARACTER*(*) strsst CHARACTER*2 fld1 CHARACTER*1 fld2 C* INTEGER ipos C------------------------------------------------------------------------ iret = 0 C C* Check that group starts with 'W' (sst). C IF ( strsst ( 1:1 ) .eq. 'W' ) THEN IF ( strsst ( 2:2 ) .ne. '/' .and. + strsst ( 3:3 ) .ne. '/' ) THEN fld1 = strsst ( 2:3 ) CALL ST_INTG ( fld1, ival, ier ) IF ( ier .eq. 0 ) THEN rivals ( irsst1 ) = FLOAT ( ival ) ELSE iret = 35 RETURN END IF ELSE iret = 35 RETURN END IF END IF C C* Look for group starting with '/S' (sea state). C ipos = INDEX ( strsst, '/S' ) IF ( ipos .ne. 0 ) THEN fld2 = strsst ( ipos+2:ipos+2 ) IF ( fld2 .ne. '/' ) THEN CALL ST_INTG ( fld2, ival, ier ) IF ( ier .eq. 0 ) THEN rivals ( irsest ) = FLOAT ( ival ) ELSE iret = 35 RETURN END IF ELSE iret = 35 RETURN END IF END IF C RETURN END