SUBROUTINE UA_DTAC ( report, lenr, irptr, iret ) C************************************************************************ C* UA_DTAC * C* * C* This subroutine decodes temp AA and temp CC reports. * C* * C* UA_DTAC ( REPORT, LENR, IRPTR, IRET ) * C* * C* Input parameters: * C* REPORT CHAR* Temp AA or temp CC report * C* LENR INTEGER Length of REPORT * C* * C* Input and output parameters: * C* IRPTR INTEGER Pointer within REPORT * C* * C* Output parameters: * C* IRET INTEGER Return code: * C* 0 = normal return * C* -1 = critical error in REPORT * C* or reached end of REPORT * C** * C* Log: * C* J. Ator/NCEP 03/96 * C* J. Ator/NCEP 12/97 New interface format, style changes * C* J. Ator/NCEP 12/98 Added call to UA_ZRCK * C* J. Ator/NCEP 10/99 Clean up function declarations * C* J. Ator/NCEP 03/00 Allow decoding of UA_SNDG data * C* J. Ator/NCEP 10/01 Comment out call to UA_HYCK * C************************************************************************ INCLUDE 'GEMPRM.PRM' INCLUDE 'uacmn.cmn' C* CHARACTER*(*) report C------------------------------------------------------------------------ iret = 0 C IF ( prttyp .eq. AA ) THEN C C* Decode the surface data. C CALL UA_MSFC ( report, lenr, irptr, iret ) IF ( iret .lt. 0 ) THEN RETURN END IF END IF C C* Decode the mandatory level data. C CALL UA_TMLV ( report, lenr, irptr, iret ) C C* Check that an excessive amount of mandatory level heights C* were not encoded as "000". C CALL UA_ZRCK ( ierzrk ) C C* Check the decoded mandatory level heights to make sure that C* they are hydrostatically consistent with each other. C C* CALL UA_HYCK ( ierhyk ) C C* Check return code from UA_TMLV. C IF ( iret .lt. 0 ) THEN RETURN END IF C C* Decode the tropopause data. C CALL UA_TROP ( report, lenr, irptr, iret ) IF ( iret .lt. 0 ) THEN RETURN END IF C C* Decode the maximum wind data. C CALL UA_MXWD ( report, lenr, irptr, iret ) IF ( iret .lt. 0 ) THEN RETURN END IF C C* Decode the sounding system and sea surface temperature data. C CALL UA_SNDG ( report, lenr, irptr, iret ) IF ( iret .lt. 0 ) THEN RETURN END IF C C* Decode the regional practice data. C CALL UA_REGP ( report, lenr, irptr, iret ) IF ( iret .lt. 0 ) THEN RETURN END IF C C* Decode the national practice data. C CALL UA_NATP ( report, lenr, irptr, iret ) C* RETURN END