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